Я собрал собственное ядро Linux с параметрами:
...
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE_OVERRIDE=y
CONFIG_CMDLINE="initrd=linux_os.gz root=/dev/ram0 init=/sbin/init ramdisk_size=25600 consoleblank=0 loglevel=2 console=ttyS1 vga=785"
...
Я использую syslinux в качестве загрузчика. С корректно работает со следующей конфигурацией (те же параметры, что и у жестко заданных):
default MyConfig
prompt 0
label MyConfig
kernel vmlinuz
append initrd=linux_os.gz root=/dev/ram0 init=/sbin/init ramdisk_size=25600 consoleblank=0 loglevel=5 console=ttyS1 vga=785
Но если я заменю последнюю строку на:
append initrd=linux_os.gz root=/dev/ram0 init=/sbin/init ramdisk_size=25600
он не загружается (vga-режим не изменился, как ожидалось). С CONFIG_CMDLINE_OVERRIDE = y параметры, настроенные в загрузчике, должны игнорироваться или я ошибаюсь в этом?
Я использую ядро vanilla 3.10.10 без соответствующих патчей (просто заменяя загрузочный логотип) на x86. Это часть встроенного оборудования, и я не могу настроить параметры загрузки, просто заменив vmlinuz
и linux_os.gz
за исключением тестирования.