Как найти параметры загрузки, используемые запущенным ядром?

Есть ли способ узнать, с какими параметрами загрузилось ядро?

Например, если я укажу noexec = off в командной строке grub? Можно ли просмотреть эту информацию после завершения загрузки системы?

41 голос | спросил nvm 30 MarpmWed, 30 Mar 2011 12:50:48 +04002011-03-30T12:50:48+04:0012 2011, 12:50:48

3 ответа


57

Вы можете запустить cat /proc/cmdline.

Пример:

[01:31] ~ $ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-2.6.38-7-generic root=UUID=025c4231-b7bb-48bf-93e9-d20c5b5ce123 ro crashkernel=384M-2G:64M,2G-:128M quiet splash bootchart=disable acpi_enforce_resources=lax vga=792 vt.handoff=7
ответил htorque 30 MarpmWed, 30 Mar 2011 14:31:20 +04002011-03-30T14:31:20+04:0002 2011, 14:31:20
6

Альтернативный способ - проверить вывод dmesg (строка 5 здесь):

$ dmesg | grep "Command line"
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-3.19.0-33-generic root=UUID=81dba11f-f76e-4ed4-8120-e6da6328b1ee ro

Но обратите внимание, что это может не сработать, если было записано много вещей, потому что машина работает в течение длительного времени.

ответил joeytwiddle 14 MonEurope/Moscow2015-12-14T08:22:51+03:00Europe/Moscow12bEurope/MoscowMon, 14 Dec 2015 08:22:51 +0300 2015, 08:22:51
1

Фактически параметр находится между __setup_start и __setup_end в ядре. В следующем коде p->str - это имя параметра

Следующий код ядра можно найти в файле linux-3.4.5 /init /main.c: 388

 /* Check for early params. */
static int __init do_early_param(char *param, char *val)
{
    const struct obs_kernel_param *p;
    for (p = __setup_start; p < __setup_end; p++) {
        if ((p->early && parameq(param, p->str)) ||
            (strcmp(param, "console") == 0 &&
             strcmp(p->str, "earlycon") == 0)
        ) {
            if (p->setup_func(val) != 0)
                printk(KERN_WARNING
                       "Malformed early option '%s'\n", param);
        }
    }


    /* We accept everything at this stage. */
    return 0;
}
ответил byhankswang 12 MarpmWed, 12 Mar 2014 12:30:10 +04002014-03-12T12:30:10+04:0012 2014, 12:30:10

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132