Но обратите внимание, что это может не сработать, если в журнале зарегистрировано много вещей (например, если машина долгое время работала), поскольку начальные строки запуска могли быть вытолкнуты из кольцевого буфера.
На самом деле, параметр находится между ядром __setup_startи __setup_endвнутри него. В следующем коде p->strэто имя параметра
Следующий код ядра можно найти в linux-3.4.5 / init / main.c: 388
/* Check for early params. */staticint __init do_early_param(char*param,char*val){conststruct 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. */return0;}
Ответы:
Ты можешь бежать
cat /proc/cmdline
.Пример:
источник
tr ' ' '\n' < /proc/cmdline
получить разрывы строк между параметрами.Альтернативный способ - проверить вывод
dmesg
(строка 5 здесь):Но обратите внимание, что это может не сработать, если в журнале зарегистрировано много вещей (например, если машина долгое время работала), поскольку начальные строки запуска могли быть вытолкнуты из кольцевого буфера.
источник
На самом деле, параметр находится между ядром
__setup_start
и__setup_end
внутри него. В следующем кодеp->str
это имя параметраСледующий код ядра можно найти в linux-3.4.5 / init / main.c: 388
источник