因为kernel启动的CMDLINE有两个来源:
(1)来自bootloader。比如u-boot会将CMDLINE放在一个地址中,然后kernel从这个地址就可以取到。当然这个地址uboot和kernel的代码中必须一致。
(2)来自make menuconfig的时候的指定。
在make menuconfig的时候,在Boot options->Kernel command line type中,可以指定kernel的CMDLINE是来自uboot还是来自kernel自身配置的,还是extend from bootloader(这个是指将bootloader给出的cmdline和kernel自己配置的cmdline 合并起来)。
这就是为什么有的时候发现改了kernel的CMDLINE结果却不起作用的原因。