這不允許刻錄較小的部分。您仍然需要將完整圖像複製到設備上的內存。 有一個解決方法:使用U-Boot中的網絡設施,即tftpboot,將圖像下載到內存中並在板上運行。
這裏是PowerPC的板中的一個的示例:
nb_load=dhcp;run nb_load_dtb;run nb_load_vmlinuz;run nb_load_initrd
nb_load_initrd=tftpboot 0x1900000 /mybooklive/initrd
nb_load_vmlinuz=tftpboot 0x1000000 /mybooklive/vmlinuz
nb_load_dtb=tftpboot 0x1800000 /mybooklive/apollo3g.dtb
nb_boot=setenv bootargs ${nb_bootargs}; run nb_load; bootm 0x1000000 0x1900000 0x1800000
nb_bootargs=console=ttyS0,115200n8 ignore_loglevel
要U型引導命令行引導時運行run nb_boot
。
基本上你需要內核映像,初始RAM磁盤和設備樹blob(如果你選擇不在內核中編譯它)。
這裏是英特爾愛迪生板的U-Boot選項另一示例從eMMC的引導:
setenv boot_edsboot 'zboot 0x100000 0 0x3000000 0x1000000'
setenv bootargs_edsboot 'console=tty1 console=ttyS2,115200n8 rootfstype=ramfs rw'
setenv bootcmd_edsboot 'setenv bootargs ${bootargs_edsboot}; run load_edsboot; run boot_edsboot'
setenv load_edsboot 'load mmc 0:9 0x100000 vmlinuz.efi; load mmc 0:9 0x3000000 initrd'
要的U-Boot命令行引導時運行run bootcmd_edsboot
。
整篇文章是here。
很明顯,您需要根據您擁有的電路板獲取正確的文件(DTB)和地址。
謝謝0andriy,我設法瞭解uboot現在如何工作。我會嘗試使用網絡啓動選項,因爲它似乎對我的使用情況非常適合。 – silentnights