- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
内核可传递参数(中文)-good剖析
概述
内核引导参数大体上可以分为两类:一类与设备无关、另一类与设备有关。内核源码树下的 Documentation/kernel-parameters.txt 文件列出了所有可用的引导参数,并指明了处理每个参数的具体文件。注意:对于模块而言,引导参数只能用于直接编译到核心里的模块,格式是使用模块名.参数=值模式指定,比如:usbcore.blinkenlights=1 。动态加载的模块可以在 modprobe 命令行上指定相应的参数值,比如:modprobe usbcore blinkenlights=1 。
可以使用modinfo -p ${modulename}命令显示可加载模块的所有可用参数。已经加载到内核中的模块会在 /sys/module/${modulename}/parameters/ 中显示出其参数,并且某些参数的值还可以在运行时通过echo -n ${value} /sys/module/${modulename}/parameters/${parm}命令修改。
与设备有关的引导参数多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导参数。比如,如果你想知道可以向 AHA1542 SCSI 驱动程序传递哪些引导参数,那么就到 drivers/scsi 目录下寻找到 aha1542.c 文件,一般在前面 100 行注释里就可以找到所接受的引导参数说明。大多数参数是通过__setup(... , ...)函数设置的,逗号前的部分就是引导参数的名称,后面的部分就是处理这些参数的函数名。[提示]你可以在源码树的根目录下试一试
grep -r \b__setup *( *
命令。
[注意]多个参数之间用空格分割,而每个参数的值中不能包含空白,参数值是一个逗号分割的列表。
正确:ether=9,0x300,0xd0000,0xd4000,eth0 root=/dev/hda1
错误:ether = 9, 0x300, 0xd0000, 0xd4000, eth0 root = /dev/hda1
在内核运行起来之后,可以通过 cat /proc/cmdline 命令查看当初使用的引导参数以及相应的值。
所有引导参数都是大小写敏感的!
内核如何处理引导参数
绝大部分的内核引导参数的格式如下(每个参数的值列表中最多只能有十项):
name[=value_1][,value_2]...[,value_10]
如果name不能被识别并且满足name=value的格式,那么则被解译为一个环境变量(比如TERM=linux或BOOT_IMAGE=vmlinuz.bak),否则将被原封不动的传递给 init 程序(比如single)。
内核可以接受的参数个数没有限制,但是整个命令行的总长度(参数/值/空格全部包含在内)却是有限制的,一般是 256-4096 之间,定义在 include/asm/setup.h 中的 COMMAND_LINE_SIZE 宏中。
内核引导参数精选
由于引导参数多如牛毛,本文不可能涉及全部,因此下面只列出精选出来的一些(基于 2.6.22 内核),与设备有关的基本上都被忽略了。
标记说明
并不是所有的参数都是永远可用的,只有在特定的模块存在并且相应的硬件也存在的情况下才可用。引导参数上面的方括号说明了其依赖关系,其中使用的标记解释如下:
ACPI 高级配置与电源接口
APIC 高级可编程中断控制器
HW 相应的硬件设备存在
IA-32 IA-32(i386)体系结构
X86-64 X86-64体系结构,更多参数在 Documentation/x86_64/boot-options.txt 中描述
IOSCHED 启用了多个IO调度器
LIBATA 启用了Libata驱动
LOOP 启用了Loopback设备
NET 启用了网络支持
PCI PCI总线支持
PNP 即插即用支持
PS2 PS/2支持
SCSI 许多SCSI设备的参数在 Documentation/scsi/ 中描述
SMP 对称多处理器
USB USB支持
USBHID USB人机界面设备
VT 虚拟终端(Virtual terminal)
此外,下面的标记的含义与在逻辑上与上面的有所不同:
BUGS= 用于在特定的体系结构上解决某些CPU的bug
KNL 是一个内核启动参数
BOOT 是一个引导程序参数
标记为BOOT的参数实际上由引导程序使用,对内核本身没有直接的意义。没有特别的需求,请不要修改此类参数的语法,更多信息请阅读 Documentation/i386/boot.txt 文档。
控制台
这些
您可能关注的文档
- 针灸治疗学-内科课件.ppt
- 针灸治疗胃病课件.ppt
- 针灸入门(广州中医药学)课件.ppt
- 针灸腧穴歌诀课件.doc
- 针对性训练检测答案课件.ppt
- 针灸配穴思路及方法课件.ppt
- 养老机构运营方案剖析.doc
- 针织大圆机材料课件.doc
- 针灸针刺实训指导课件.doc
- 金风风机叶片拆卸工程(二)课件.doc
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
文档评论(0)