omap3530 系统固化

    技术2022-06-24  58

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

    最新回复(0)