Stap 3: Het installeren van Linux op de wereldbol
Het is tijd om het opzetten van Linux op de bewerker van het wapen van de Zynq. Om praktische redenen willen wij dat het systeem op een micro SD-kaart. Deze stap moet worden voltooid op een Linux-gebaseerd systeem.
Voor deze stap moet u de eerste fase-BootLoader en de globe bitstream gecompileerd in stap 1.
Maar voordat het aan de slag, laten we geven enige uitleg.
De bitstream die u hebt gecompileerd bevat de configutaion van de programmeerbare logica van de Zynq. Als we gebruiken van de bewerker van het wapen van de Processing System van de Zynq willen, moeten ook over het lanceren van een Linux gebaseerd besturingssysteem bij het opstarten configureren. De eerste fase-BootLoader zal worden het eerste programma uitgevoerd en de processorbronnen (klokken en geheugen) zal initialiseren, zodat een grotere bootloader kan worden geladen. Deze tweede en grotere bootloader is U-Boot, het is verantwoordelijk voor het laden en uitvoeren van de Linuxkernel. De Linuxkernel zal haar bestandssysteem nodig om te werken. Omwille van de eenvoud, zal dit bestandssysteem worden geladen op het RAM van de Zynq.
Downloaden om te compileren U-Boot, de bronnen op github met behulp van de volgende opdrachten:
- git clone https://github.com/Xilinx/u-boot-xlnx.git
- git checkout e2d21cedaa70356fa2f45729d9401933c9c0cfd4
- Voer de U-Boot-map en typ:
- zynq_zybo_defconfig maken
- maken
Voor het compileren van de Linuxkernel, de bronnen eerst te downloaden:
- git clone https://github.com/Xilinx/linux-xlnx.git
- git checkout 7ad8e6023d969336961312ef751228cbb8874752
- Voor het compileren, moet u het .config bestand vervangen door het bestand linux-config. Na typt u de volgende opdrachten:
- make menuconfig
- maken
- Na de eerste opdracht te typen, slaat u ESC om af te sluiten van de kernelconfiguratie. De uitvoering van de tweede opdracht duurt een paar minuten.
Voor het genereren van de initramfs (gecomprimeerde beeld van het Linux bestandssysteem), zal u lib:
- git clone git://git.buildroot.net/buildroot
- git checkout b8a8ecd43b81fc2fda90ce24be8914a074fa5fd5
- U moet het bestand busybox-config vervangen door gegeven. U moet ook het .config bestand vervangen door het bestand lib-config gegeven. Dit nieuwe .config-bestand moet worden gewijzigd dat correspondeert met uw omgeving. Die twee lijnen kunnen moeten worden vervangen:
- BR2_TOOLCHAIN_EXTERNAL_PATH = "/ opt/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux /"
- BR2_PACKAGE_BUSYBOX_CONFIG = "/ home/orcad/UVF12B501/Zybo/lib/busybox-config"
- Geef voor de eerste lijn, het pad van de map met de ARM cross compiler.
- Geef voor de tweede regel het pad die leiden tot de busybox-configuratiebestand van de lib map.
- Vervolgens typt u "make".
Dit deel is optioneel. Hierdoor zullen de Linux automatisch mounten van uw applicaties en drivers en configureren van hen.
- Je gaat in de lib map, voert u de /target/ map, moet u het gegenereerde bestandssysteem.
- U kunt de etc/init.d/rcS bestand te wijzigen en die paar regels toevoegen aan het eind:
- mount/dev/mmcblk0p2/mnt
- Bron /mnt/load.sh
- Vervolgens zal u type "make" weer, uw wijzigingen rekening worden gehouden.
Nu zullen we de opstartbestanden genereren. U moet het downloaden van het bestand Makefile-bootgen en hernoem het in Makefile. In dezelfde map downloadt u de bestanden zynq-zybo.dts en bootimage.bif. Kopieer de FSBL in uw map en hernoem het in zynq_fsbl.elf. Kopieer het bestand van u-boot van de u-boot-map en hernoem het in u-boot.elf. Kopieer het bestand zImage map linux git (arch/arm/boot/zImage). Kopieer de ramfs vanuit uw lib directory (is output/images/rootfs.cpio.uboot) en hernoem het in uramdisk.image.gz. U start na de boot bestanden generatie met een "make". U hebt net Wijzig het bestand output.bin in BOOT.bin en uImage.bin in uImage.