2014年5月24日 星期六

boot.scr生成

boot.scr中可以包含用于载入script.bin,kernel,initrd(可选)以及设置内核启动参数的uboot命令。

新建 boot.cmd 文件,添加以下内容:
setenv bootargs console=ttyS0,115200 noinitrd disp.screen0_output_mode=EDID:1280x1024p60 init=/init root=/dev/mmcblk0p2  rootfstype=ext4 rootwait panic=10 ${extra}
fatload mmc 0 0x43000000 boot/script.bin
fatload mmc 0 0x48000000 boot/uImage
bootm 0x48000000
详细解释:
上述第一行设置uboot的bootargs启动参数,格式为 参数=值,不同参数使用空格分开,其中
  • console=ttyS0,115200 含义为使用特定的串口ttyS0,波特率为 115200
  • noinitrd 含义为不使用ramdisk(内存磁盘)
  • init=/init 含义为内核启起来后,进入系统中运行的第一个脚本
  • root=/dev/mmcblk0p2 含义为指定rootfs的位置为TF卡第二个分区
  • rootfstype=ext4 含义为根文件系统类型
  • rootwait 含义为等待设备/dev/mmcblk0p2就绪后才尝试挂载rootfs
  • panic=10 传递内核参数,当遇到panic(内核严重错误)时等待10秒后重启
  • screen0_output_mode 设置合适的屏幕显示分辨率
更多的参数可以通过查看Linux内核源码目录下Documentation/kernel-parameters.txt文件了解
第二行和第三行为将script.bin和内核uImage加载到指定内存地址。fatload是U-Boot中装载linux kernel 到内存的指令。
基本用法:fatload <interface> <dev[:part]> <addr> <filename> <bytes>
  • interface:所用到接口,如:MMC、USB
  • dev [:part]: 文件存放的设备 如:ide 0:1
  • addr: 装载到内存的开始地址。
  • filename: 装载的文件名称。
  • bytes: copy的字节数.
. 第四行bootm 用于将内核映像加载到指定的地址
保存文件后,执行以下命令生成boot.scr:
 mkimage -C none -A arm -T script -d boot.cmd boot.scr



來源:http://blog.csdn.net/u013510236/article/details/18451271

沒有留言:

張貼留言

預測2031/1/1可能 TWCA 憑證 IOS會出現不信任

緣由: TWCA CYBER Root CA 有兩張、兩個效期 (2030、2047年到期) 推測TWCA 預計 2030年12月會停用: TWCA CYBER Root CA (2030 年到期) TWCA Global Root CA 改用啟用: TWCA CYBER ...