一、BOOTCMD
(1)常用命令
- 加载内核镜像命令,如:
- 从网络加载:tftp
- 从存储设备加载:fatload, ext4load, load, sf
- 加载设备树文件命令,如:
- 从网络加载:tftp
- 从存储设备加载:fatload, ext4load, load, sf
- 启动内核命令,如:
- bootz
- bootm
- 环境变量设置命令,如:
- setenv
- 其他自定义命令或脚本,如:
- 执行特定的脚本文件
- 执行特定的操作或配置
(2)例子
从SPI FLASH中加载内核启动Linux
#初始化或识别第一个 SPI Flash 设备
sf probe 0;
#将 SPI Flash 中的数据读取到内存地址0x41800000处,读取的起始地址是0x100000,读取的长度是0x10000
sf read 0x41800000 0x100000 0x10000;
#将 SPI Flash 中的数据读取到内存地址0x41000000处,读取的起始地址是0x110000,读取的长度是0x400000
sf read 0x41000000 0x110000 0x400000;
#启动内核,使用0x41000000作为内核的起始地址,0x41800000作为根文件系统的起始地址
bootz 0x41000000 - 0x41800000
从EMMC或TF卡中加载内核启动Linux
#设置引导模式为"secure"模式
setenv bootm_boot_mode sec;
#从MMC卡的第一个分区中加载名为"zImage"的文件到内存地址0x41000000
load mmc 0:1 0x41000000 zImage;
#从MMC卡的第一个分区中加载名为"sun8i-v3s.dtb"的设备树文件到内存地址0x41800000
load mmc 0:1 0x41800000 sun8i-v3s.dtb
#启动内核,使用0x41000000作为内核的起始地址,0x41800000作为设备树的起始地址
bootz 0x41000000 - 0x41800000
其他命令举例
##从FAT文件系统中加载文件,load比fatload跟通用,load支持FAT、ext2、ext3等文件系统
1、mmc dev 1 #切换到 EMMC
2、fatload mmc 1:1 0x41000000 zImage #读取 zImage 到 0x41000000 处
3、fatload mmc 1:1 0x41800000 sun8i-v3s.dtb #读取设备树到 0x41800000 处
##从网络加载文件,TFTP方式
1、tftp 0x41000000 zImage; #通过TFTP从网络下载名为"zImage"的文件到内存地址0x41000000
2、tftp 0x41800000 sun8i-v3s.dtb #通过TFTP从网络下载名为"sun8i-v3s.dtb"的设备树文件到内存地址0x41800000
3、bootz 0x41000000 - 0x41800000 #使用下载的zImage和设备树文件启动内核,内核起始地址为0x41000000,设备树文件地址为0x41800000
文章评论