Världen av ihållande vision (3 / 7 steg)
Steg 3: Installera Linux på jorden
Det är dags att ställa in Linux på ARM Processorn för Zynq. Av praktiska skäl vill vi att systemet ska vara på ett micro SD-kort. Detta steg måste slutföras på en Linux-baserade operativsystem.
För detta steg behöver du den första scenen BootLoader och globe bitstream samlade in i steg 1.
Men innan du sätter igång, låt oss ge några förklaringar.
Bitstream du sammanställt innehåller configutaion Zynq programmerbar logik. Eftersom vi vill använda ARM-processor för bearbetning av systemet med Zynq, måste vi också konfigureras att starta en Linux-baserade operativsystem vid uppstart. Första skede BootLoader blir det första programmet körs och kommer att initiera processorresurser (tar tid och minne) så att en större bootloader kan laddas. Denna andra och större bootloader är U-Boot, det är ansvarig för lastning och köra Linux-kärnan. Linux-kärnan måste dess filsystem att arbeta. För enkelhetens skull lastas här filsystemet på RAM av Zynq.
För att kompilera U-Boot, Hämta källorna på github med följande kommandon:
- git klon https://github.com/Xilinx/u-boot-xlnx.git
- git checkout e2d21cedaa70356fa2f45729d9401933c9c0cfd4
- In i U-Boot-mappen och skriv:
- göra zynq_zybo_defconfig
- göra
För att kompilera Linuxkärnan, Hämta källorna först:
- git klon https://github.com/Xilinx/linux-xlnx.git
- git checkout 7ad8e6023d969336961312ef751228cbb8874752
- Innan du kompilerar, måste du ersätta filen .config fil linux-config. Efter, skriver du följande kommandon:
- göra menuconfig
- göra
- Du skriver det första kommandot, slår du ESC för att avsluta konfigurationen av kärnan. Genomförandet av det andra kommandot kommer att ta några minuter.
För att generera initramfs (komprimerad bild av Linux filsystem), måste Buildroot:
- git klon git://git.buildroot.net/buildroot
- git checkout b8a8ecd43b81fc2fda90ce24be8914a074fa5fd5
- Du måste byta ut filen busybox-config av den som gavs. Du måste också ersätta filen .config fil buildroot-config med tanke. Denna nya .config-filen måste ändras att motsvara din miljö. Dessa två linjer kan behöva bytas ut:
- BR2_TOOLCHAIN_EXTERNAL_PATH = "/ opt/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux /"
- BR2_PACKAGE_BUSYBOX_CONFIG = "/ home/orcad/UVF12B501/Zybo/buildroot/busybox-config"
- För den första raden anger du sökvägen till mappen som innehåller armen över kompilator.
- Ange den väg som leder till busybox-config-filen i mappen buildroot för den andra raden.
- Du skriver "gör".
Denna del är valfritt. Det gör att Linux automatiskt montera dina program och drivrutiner och konfigurera dem.
- Du går i mappen Buildroot, du ange mappen /target/, du borde se det genererade filen systemet.
- Du kan ändra filen etc/init.d/rcS och lägga de få raderna i slutet:
- Mount/dev/mmcblk0p2/mnt
- Källa /mnt/load.sh
- Då kommer att du skriver "gör" igen, dina ändringar beaktas.
Nu kommer vi generera startfilerna. Du kommer att behöva hämta Makefile-bootgen-filen och döp om den i Makefile. I samma mapp, kommer du ladda ner filer zynq-zybo.dts och bootimage.bif. Kopiera FSBL i arbetskatalogen och döp om den i zynq_fsbl.elf. Kopiera filen u-boot från u-boot katalogen och döp om den i u-boot.elf. Kopiera filen zImage från mappen git linux (arch/arm/boot/zImage). Kopiera ramfs från din buildroot katalog (det är output/images/rootfs.cpio.uboot) och döp om den i uramdisk.image.gz. När du sjösätta den boot filer generationen med en "göra". Du har bara Byt namn på filen output.bin i BOOT.bin och uImage.bin i uImage.