Chinaunix

标题: bootloader给内核传递参数 [打印本页]

作者: xc889078    时间: 2012-12-30 19:18
标题: bootloader给内核传递参数
bootloader会给内核传递启动参数,另外,配置内核的boot options也可以给内核配置启动参数。

那这两种配置中谁的优先级高呢?也就是说如果既配置了bootloaer,也配置了boot options,那内核启动的时候参考哪一种呢?
作者: smalloc    时间: 2012-12-31 00:31
回复 1# xc889078


    bootloader如果不是做点硬件初始配置和网络,串口控制等,几乎没什么用。
作者: xc889078    时间: 2012-12-31 11:30
回复 2# smalloc
那如果是ARM开发中的bootloader呢


   
作者: openspace    时间: 2012-12-31 16:00
lz可以测试一下:
1) 不使用 bootloader 时候的参数,即 boot options 参数
2) 添加 bootloader 参数,应该是 append
3) 对 boot options 里面,在 bootloader 里面使用同样参数,但是设置不同值

启动以后,看 cat /proc/cmdline 里面识别了哪些参数,参数值是多少
当然,最好用不影响系统启动的参数来测试
作者: daniel_11    时间: 2012-12-31 22:03
bootloader和ARM,MIPS神马的有什么关系吗?
作者: stephen_du    时间: 2013-01-01 17:40
xc889078 发表于 2012-12-30 19:18
bootloader会给内核传递启动参数,另外,配置内核的boot options也可以给内核配置启动参数。

那这两种配 ...

Bootloader的参数是经过检测的有效硬件信息,用户可以通过启动参数进行覆盖,如果启动参数不符合实际的参数则按照实际参数启动
作者: xc889078    时间: 2013-01-02 16:43
stephen_du 发表于 2013-01-01 17:40
Bootloader的参数是经过检测的有效硬件信息,用户可以通过启动参数进行覆盖,如果启动参数不符合实际的参数 ...

你这里实际的参数是指bootloader传递的?启动参数是boot options自行设置的?
作者: stephen_du    时间: 2013-01-03 11:30
xc889078 发表于 2013-01-02 16:43
你这里实际的参数是指bootloader传递的?启动参数是boot options自行设置的?


bootloader的参数是在进行硬件检测过程中探测到的,你的板子的硬件是什么样,这个信息就是怎么样的;

内核boot options是“人”想不按照实际的情况来设定。

比如你的板子有512M内存,bootloader扫描到的就应该是512M,但你可能希望256M给DSP,只允许内核用256M,
那么你可以使用mem=256来将boot loader的512M覆盖掉
作者: xc889078    时间: 2013-01-03 12:47
stephen_du 发表于 2013-01-03 11:30
bootloader的参数是在进行硬件检测过程中探测到的,你的板子的硬件是什么样,这个信息就是怎么样的;
...

也就是说内核启动参数会首先参考boot option中的参数,但如果这个参数不符合实际硬件的信息,那么会转而参考bootloader中的参数。boot option中的参数是在bootloader参数的基础上进行人为的修改。是这个意思吗?
作者: stephen_du    时间: 2013-01-03 12:55
回复 9# xc889078

对的。

但是bootloader中包含 boot options中无法设定的一些非常重要而基本的启动参数。
即默认是按照bootloader参数来初始化kernel,除非用户通过boot options来更改了这些参数中的某一部分
作者: xc889078    时间: 2013-01-03 13:34
stephen_du 发表于 2013-01-03 12:55
回复 9# xc889078

对的。

恩 明白了 谢谢大牛!!!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2