bootargs 如何配置
时间: 2024-05-18 15:16:12 浏览: 126
bootargs 是 U-Boot 启动 Linux kernel 时传递的参数,可以通过设置环境变量来配置。
在 U-Boot 命令行下,可以使用 setenv 命令来设置 bootargs 环境变量,其基本语法如下:
```
setenv bootargs <arguments>
```
其中,<arguments> 是需要传递的参数,多个参数之间用空格分隔。例如,如果需要传递 "androidboot.wipe_data=1" 参数,可以使用以下命令:
```
setenv bootargs androidboot.wipe_data=1
```
如果需要传递多个参数,可以使用空格分隔。例如,如果还需要传递 "console=ttyS0,115200" 参数,可以使用以下命令:
```
setenv bootargs androidboot.wipe_data=1 console=ttyS0,115200
```
设置好 bootargs 环境变量后,可以使用 saveenv 命令将其保存到 Flash 中,以便下次启动时自动加载。例如:
```
saveenv
```
需要注意的是,不同的系统可能需要传递不同的参数,具体参数配置需要根据系统要求来确定。
相关问题
bootargs 配置根文件系统
在Linux系统中,bootargs是启动内核时传递给内核的参数列表。它包含了一些系统的基本配置信息,如内存分配、设备驱动、启动方式等。其中,配置根文件系统的参数为root。
在配置根文件系统时,我们需要指定根文件系统所在的设备、分区或者NFS服务器。具体的配置方式如下:
1. 使用SD卡或者USB设备作为根文件系统:
root=/dev/mmcblk0p1 #根文件系统在SD卡的第一个分区
root=/dev/sda1 #根文件系统在USB设备的第一个分区
2. 使用NFS服务器作为根文件系统:
root=/dev/nfs nfsroot=192.168.1.100:/nfsroot
其中,nfsroot指定了NFS服务器的IP地址和根文件系统所在的路径。
需要注意的是,不同的系统可能有不同的bootargs配置方式,具体的配置方法需要参考对应的文档。
代码中如何配置bootargs参数
在U-Boot的源代码中,可以通过修改include/configs/xxx.h文件来配置bootargs参数,其中xxx.h代表当前使用的板子或者开发板的名称。
在该文件中,可以定义一个名为CONFIG_BOOTARGS的宏,用于指定bootargs参数的默认值。例如,以下代码片段展示了如何定义一个包含androidboot.recovery和androidboot.erase参数的CONFIG_BOOTARGS宏:
```c
#define CONFIG_BOOTARGS \
"console=ttyS0,115200n8 " \
"root=/dev/mtdblock3 " \
"androidboot.recovery=0 " \
"androidboot.erase=0"
```
在这个宏中,设置了console、root、androidboot.recovery和androidboot.erase等参数。这些参数的意义和设置方法与我之前提到的一样。
需要注意的是,修改xxx.h文件后需要重新编译U-Boot才能生效。因此,在修改这个文件之前,需要确保已经正确配置了交叉编译工具链和编译环境。
阅读全文