uboot向kernel传参
时间: 2023-12-14 12:04:53 浏览: 124
uboot和kernel移植手册
在u-boot中,可以使用以下命令设置内核启动参数:
```
setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p1 rootwait rw
```
这将设置内核启动参数为:使用串口0作为控制台,挂载mmcblk0p1作为根文件系统,等待根文件系统挂载完成后以读写模式启动。
在启动内核时,u-boot会将bootargs变量传递到内核中。内核可以通过解析此变量来获取启动参数。例如,在Linux内核中,可以使用以下函数获取启动参数:
```c
extern char *command_line;
static int __init setup_command_line(char *str)
{
command_line = str;
return 0;
}
early_param("cmdline", setup_command_line);
```
在这个例子中,`command_line`变量将保存传递给内核的启动参数。`setup_command_line`函数将在内核启动时被调用,将传递给内核的启动参数保存到`command_line`变量中。`early_param`宏将`setup_command_line`函数注册为早期参数处理函数,在内核启动时被调用。
阅读全文