boot.scr中可以包含用于载入script.bin,kernel,initrd(可选)以及设置内核启动参数的uboot命令。
來源:http://blog.csdn.net/u013510236/article/details/18451271
新建 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
留言
張貼留言