当前位置: 技术问答>linux和unix
uboot是如何把环境变量传递给内核的?
来源: 互联网 发布时间:2016-06-29
本文导语: mips32环境。 我看到网上有介绍说,uboot会根据用户传递的bootarg参数,将其放到某个区域,然后把这些参数的地址放到寄存器里,再跳转到内核。 请问,这个存放环境变量的区域,是在哪里,有关的代码是在哪里?...
mips32环境。
我看到网上有介绍说,uboot会根据用户传递的bootarg参数,将其放到某个区域,然后把这些参数的地址放到寄存器里,再跳转到内核。
请问,这个存放环境变量的区域,是在哪里,有关的代码是在哪里? 一直没有找到。
我看到网上有介绍说,uboot会根据用户传递的bootarg参数,将其放到某个区域,然后把这些参数的地址放到寄存器里,再跳转到内核。
请问,这个存放环境变量的区域,是在哪里,有关的代码是在哪里? 一直没有找到。
|
并不是环境变量,是一些参数。
arm linux中,最开始的8kram用于异常向量表,最后的8kram用于保存tag list,就是用来向内核传递参数的。
uboot通过调用theKernel这个假函数来实现启动内核。该加函数的第三个参数就是用来向内核传递内核启动参数的地址的。若你想知道具体都传了写什么,在uboot源码中,搜索一下theKernel第三个参数的修改就可以找到了。
arm linux中,最开始的8kram用于异常向量表,最后的8kram用于保存tag list,就是用来向内核传递参数的。
uboot通过调用theKernel这个假函数来实现启动内核。该加函数的第三个参数就是用来向内核传递内核启动参数的地址的。若你想知道具体都传了写什么,在uboot源码中,搜索一下theKernel第三个参数的修改就可以找到了。
|
你先pri看下环境设置 通过setenv修改一下
|
你看内核代码和uboot代码,里面会有一个相同的文件,setup.h , 这个就是taglist一些结构
|
TQ2440公布了移植好的内核源码可以去看看啊
|
呵呵,发现了个错误。“ arm linux中,最开始的8kram用于异常向量表,最后的8kram用于保存tag list,就是用来向内核传递参数的。 ”
“最后”应该是“随后”。
另外,上面几位提到的也很有价值,楼主不妨按照几位的提示一一看过
“最后”应该是“随后”。
另外,上面几位提到的也很有价值,楼主不妨按照几位的提示一一看过