阅读:3106回复:0
uboot向kernel传递参数的两个方式aml提供了HAL层的接口:SystemControl.getBootEnv("ubootenv.var.xxx", default_val) 供上层调用 但kernel中获取的方法有些差异1. 通过cmdline传递: 在uboot的setenv bootargs定义自己的参数,这就是kernel中的cmdline,可以在设备中查看:cat proc/cmdline 然后在kernel的驱动中加入__setup字段,如获取bl_level: static unsigned int bl_level; static int __init aml_bl_level_setup(char *str) { int ret = 0; if (str != NULL) { ret = kstrtouint(str, 10, &bl_level); BLPR("bl_level: %d\n", bl_level); } return ret; } __setup("bl_level=", aml_bl_level_setup); 2. 通过unifikey方式,在uboot中写入内存,然后在kernel里读出来,数据量大的场景可以使用这种方式。参考:kernel的aml_bl_config_load_from_unifykey函数,没有参考文档,看着真累 |
|