Należy jednak pamiętać, że może to nie działać, jeśli zarejestrowano wiele rzeczy (np. Jeśli maszyna działała przez długi czas), ponieważ początkowe linie startowe mogły zostać wypchnięte z bufora pierścieniowego.
W rzeczywistości parametr znajduje się pomiędzy __setup_starti __setup_endw jądrze. W poniższym kodzie p->strjest to nazwa parametru
Poniższy kod jądra można znaleźć pod 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;}
Odpowiedzi:
Możesz biegać
cat /proc/cmdline
.Przykład:
źródło
tr ' ' '\n' < /proc/cmdline
uzyskać podział między parametrami.Alternatywnym sposobem jest sprawdzenie wyniku
dmesg
(tutaj wiersz 5):Należy jednak pamiętać, że może to nie działać, jeśli zarejestrowano wiele rzeczy (np. Jeśli maszyna działała przez długi czas), ponieważ początkowe linie startowe mogły zostać wypchnięte z bufora pierścieniowego.
źródło
W rzeczywistości parametr znajduje się pomiędzy
__setup_start
i__setup_end
w jądrze. W poniższym kodziep->str
jest to nazwa parametruPoniższy kod jądra można znaleźć pod linux-3.4.5 / init / main.c: 388
źródło