omap3530 系统固化

固化系统,包括固化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"

你可能感兴趣的:(c,ext,脚本,Flash,linux内核)