这不允许您燃烧较小的零件。您仍然需要将完整图像复制到设备上的内存中。有一个解决方法:使用 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
run nb_boot
在 U-boot 命令行中启动运行。
基本上,您需要内核映像、初始 ram 磁盘和设备树 blob(以防您选择不在内核中编译它)。
这是英特尔 Edison 板从 eMMC 引导的另一个 U-Boot 选项示例:
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'
run bootcmd_edsboot
在 U-Boot 命令行中启动运行。
全文在这里。
很明显,您需要根据您拥有的主板获取正确的文件(DTB)和地址。