网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > linux > 系统管理 > 内核技术 > Linux操作系统内核引导参数简介  

Linux操作系统内核引导参数简介

2008-07-22  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

    概述
    内核引导参数大体上可以分为两类:一类与设备无关、另一类与设备有关。内核源码树下的 Documentation/kernel-parameters.txt 文件列出了所有可用的引导参数,并指明了处理每个参数的具体文件。注意:对于模块而言,引导参数只能用于直接编译到核心里的模块,格式是使用”模块名.参 数=值”模式指定,比如:usbcore.blinkenlights=1 。动态加载的模块可以在 modprobe 命令行上指定相应的参数值,比如:modprobe usbcore blinkenlights=1 。 网管网www_bitscn_com

    可以使用”modinfo -p ${modulename}”命令显示可加载模块的所有可用参数。已经加载到内核中的模块会在 /sys/module/${modulename}/parameters/ 中显示出其参数,并且某些参数的值还可以在运行时通过”echo -n ${value} > /sys/module/${modulename}/parameters/${parm}”命令修改。

网管下载dl.bitscn.com

    与设备有关的引导参数多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导参数。比如,如果你想知道可以向 AHA1542 SCSI 驱动程序传递哪些引导参数,那么就到 drivers/scsi 目录下寻找到 aha1542.c 文件,一般在前面 100 行注释里就可以找到所接受的引导参数说明。大多数参数是通过”__setup(… , …)”函数设置的,逗号前的部分就是引导参数的名称,后面的部分就是处理这些参数的函数名。[提示]你可以在源码树的根目录下试一试

网管网www.bitscn.com

    grep -r '\b__setup *(' *命令。 网管下载dl.bitscn.com

    [注意]多个参数之间用空格分割,而每个参数的值中不能包含空白,参数值是一个逗号分割的列表。 中国网管联盟bitsCN.com

    正确:ether=9,0x300,0xd0000,0xd4000,eth0  root=/dev/hda1
    错误:ether = 9, 0x300, 0xd0000, 0xd4000, eth0  root = /dev/hda1在内核运行起来之后,可以通过 cat /proc/cmdline 命令查看当初使用的引导参数以及相应的值。

网管u家www.bitscn.net

    所有引导参数都是大小写敏感的!

网管朋友网www_bitscn_net

    内核如何处理引导参数
    绝大部分的内核引导参数的格式如下(每个参数的值列表中最多只能有十项):

中国网管论坛bbs.bitsCN.com

    name[=value_1][,value_2]...[,value_10]如果”name”不能被识别并且满足”name=value”的格式,那么则被解译为一个环境变量(比如”TERM=linux”或”BOOT_IMAGE=vmlinuz.bak”),否则将被原封不动的传递给 init 程序(比如”single”)。 网管bitscn_com

    内核可以接受的参数个数没有限制,但是整个命令行的总长度(参数/值/空格全部包含在内)却是有限制的,一般是 256-4096 之间,定义在 include/asm/setup.h 中的 COMMAND_LINE_SIZE 宏中。 网管u家www.bitscn.net

    内核引导参数精选
    由于引导参数多如牛毛,本文不可能涉及全部,因此下面只列出精选出来的一些(基于 2.6.22 内核),与设备有关的基本上都被忽略了。 网管u家u.bitscn@com

    标记说明
    并不是所有的参数都是永远可用的,只有在特定的模块存在并且相应的硬件也存在的情况下才可用。引导参数上面的方括号说明了其依赖关系,其中使用的标记解释如下:

网管u家u.bitsCN.com

    网管u家bitscn.net

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) 
网管有家www.bitscn.net

    此外,下面的标记的含义与在逻辑上与上面的有所不同: 网管u家u.bitscn@com

BUGS= 用于在特定的体系结构上解决某些CPU的bug
KNL     是一个内核启动参数
BOOT 是一个引导程序参数 
网管网www.bitscn.com

    标记为”BOOT”的参数实际上由引导程序使用,对内核本身没有直接的意义。没有特别的需求,请不要修改此类参数的语法,更多信息请阅读 Documentation/i386/boot.txt 文档。 中国网管联盟bitsCN.com

网管联盟bitsCN@com

TAGs   参数   简介   引导   操作系统       内核   设备   可以   模块      
 上一篇:Linus谈Linux 系统内核版本号   下一篇:Linux内核模块内存申请与释放
Linux操作系统内核引导参数简介 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: