Mas observe que isso pode não funcionar se muitas coisas tiverem sido registradas (por exemplo, se a máquina estiver em funcionamento há muito tempo), porque as linhas de inicialização iniciais podem ter sido empurradas para fora do buffer de anel.
Na verdade, o parâmetro está localizado entre __setup_starte __setup_endno kernel. No código a seguir, p->stré o nome do parâmetro
O código do kernel a seguir pode ser encontrado em 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;}
Respostas:
Você pode correr
cat /proc/cmdline
.Exemplo:
fonte
tr ' ' '\n' < /proc/cmdline
obter quebras de linha entre os parâmetros.Uma maneira alternativa é verificar a saída de
dmesg
(linha 5 aqui):Mas observe que isso pode não funcionar se muitas coisas tiverem sido registradas (por exemplo, se a máquina estiver em funcionamento há muito tempo), porque as linhas de inicialização iniciais podem ter sido empurradas para fora do buffer de anel.
fonte
Na verdade, o parâmetro está localizado entre
__setup_start
e__setup_end
no kernel. No código a seguir,p->str
é o nome do parâmetroO código do kernel a seguir pode ser encontrado em linux-3.4.5 / init / main.c: 388
fonte