固化系统,包括固化x-load、U-Boot、Kenel以及rootfs。需要借助SD卡进行固化。
在SD卡中存入如下文件:
MLO ——x-load的SD版本,第一个存放,仅用于SD卡启动。
x-load.bin.ift —— x-load的NAND FLASH版本,最终要固化到NAND上的。
u-boot.bin —— u-boot镜像文件,需要固化到NAND的。
uImage —— Linxu内核文件,需要固化到NAND的。
ramdisk.gz —— ramdisk,用于引导系统并固化rootfs。
rootfs.tar.bz2 —— 最终的rootfs。
插入SD卡,选择从SD启动系统,进入U-Boot的命令提示符,
输入 nand scrub,擦除整块NAND FLASH。
输入 run burn_xload 固化x-load
输入 run burn_uboot 固化uboot
输入 run burn_kernel 固化Linux内核
然后输入 run ramboot,选择通过ramdisk启动系统,等系统启动完成,运行burn_rootfs脚本,实现rootfs的固化。
固化完成后,拔掉SD卡,重新启动系统即可进入正常的用户系统了。
U-Boot中相关的命令:
"bootdelay=" "3/0"/
"baudrate=" "115200/0"/
"loadaddr=" "0x80200000/0" /
"rdaddr=" "0x81600000/0" /
"kernel_ofs=" "0x280000/0"/
/
"burn_xload=" "mw.b 0x80000000 0xFF 0x100000; mmcinit; "/
"fatload mmc 0:1 0x80000000 x-load.bin.ift;"/
"nand unlock; nand erase 0 40000; nandecc hw; "/
"nand write.i 0x80000000 0 40000; nand lock;/0"/
"burn_uboot=" "mw.b 0x80000000 0xFF 0x100000; mmcinit;"/
"fatload mmc 0:1 0x80000000 u-boot.bin;"/
"nand unlock; nand erase 0x80000 0x1C0000;"/
"nandecc sw; nand write.i 0x80000000 0x80000 0x1C0000;nand lock;/0"/
"burn_kernel=" "mw.b 0x80000000 0xFF 0x500000; mmcinit;"/
"fatload mmc 0:1 0x80000000 uImage;"/
"nand unlock; nand erase ${kernel_ofs} 0x500000;"/
"nandecc sw; nand write.i 0x80000000 ${kernel_ofs} 0x300000; nand lock;"/
"setenv kernelsize ${filesize}; saveenv/0"/
/
"console=" "ttyS2,115200n8/0" /
"optargs=" "mem=99M/0" /
"mmcargs=" "setenv bootargs console=${console} ${optargs}"/
" root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait /0" /
"ramargs=" "setenv bootargs console=${console} ${optargs} root=/dev/ram0 rw"/
"ramdisk_size=32768 initrd=${rdaddr},32M/0" /
"ubifsargs=" "setenv bootargs console=${console} ${optargs} root=ubi0:rootfs "/
"ubi.mtd=0 rw rootfstype=ubifs/0" /
/
"loadbootscript=" "fatload mmc 0 ${loadaddr} boot.scr/0" /
"loadbootscript=" "fatload mmc 0 ${loadaddr} boot.scr/0" /
"bootscript=" "echo Running bootscript from mmc ...; autoscr ${loadaddr}/0"/
"load_kernel_nand=" "nand read ${loadaddr} 0x280000 ${kernelsize}/0"/
"loaduimage=" "mmcinit; fatload mmc 0 ${loadaddr} uImage/0" /
"loadramdisk=" "mmcinit; fatload mmc 0 ${rdaddr} ramdisk.gz/0" /
/
"mmcboot=" "run loaduimage; run mmcargs; bootm ${loadaddr}/0" /
"ramboot=" "run loaduimage; run loadramdisk; run ramargs; bootm ${loadaddr}/0"/
"nandboot=" "run load_kernel_nand; run ubifsargs; bootm ${loadaddr}/0"/
"nfsboot=" "tftp ${loadaddr} uImage; mmcinit; run loadramdisk;"/
"run ramargs; bootm ${loadaddr}/0"
转载请注明原文地址: https://ibbs.8miu.com/read-2234014.html