系统固化
时间:2010-03-19 来源:chenxibing008
固化系统,包括固化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"
相关阅读 更多 +