内核如何处理引导选项

优质
小牛编辑
132浏览
2023-12-01
内核如何处理引导选项

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

name[=value_1][,value_2]...[,value_10]

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

内核可以接受的选项个数没有限制,但是整个命令行的总长度(选项/值/空格全部包含在内)却是有限制的,定义在 include/asm/setup.h 中的 COMMAND_LINE_SIZE 宏中(对于X86_64而言是2048)。