boot_prep_linux如何使用tags将bootargs传递给内核
时间: 2024-09-28 11:12:33 浏览: 35
power_prep.zip_prep
`boot_prep_linux()` 是U-Boot中的一个函数,主要用于准备Linux内核启动时所需的引导参数,也称为 boot arguments(简称 bootargs)。这个函数通过分析之前提到的ATAG (Tag Structures) 来获取必要的启动信息,并将其组织成一个字符串,供后续的内核加载阶段使用。
当U-Boot加载Linux内核时,它会从ATAGs中提取以下内容:
- CPU类型和频率
- 内存大小
- 加载地址(通常是RAM)
- 所需的文件系统信息(如分区路径)
- 网络配置
- 其他特定于系统的配置
例如,对于一个典型的ATAG,`bootargs` 可能会被设置为类似这样的字符串:
```
omap2 dibbler0=eth0,macaddr=XX:XX:XX:XX:XX:XX console=ttyO0,115200n8 root=/dev/mmcblk0p2 rootfstype=jffs2 elevator=deadline fsck.repair=yes
```
然后,`boot_prep_linux()` 函数会将这些ATAG值拼接并格式化,生成最终的`cmdline`或`boot_command`,这将作为`load_image`或`fatload`指令的一部分传递给Linux内核,使其能够在启动时根据这些参数运行。
阅读全文