Beachten Sie jedoch, dass dies möglicherweise nicht funktioniert, wenn viele Dinge protokolliert wurden (z. B. wenn der Computer lange gelaufen ist), da möglicherweise die ersten Startzeilen aus dem Ringpuffer entfernt wurden.
Tatsächlich befindet sich der Parameter zwischen __setup_startund __setup_endim Kernel. Im folgenden Code ist der p->strder Parametername
Der folgende Kernel-Code befindet sich unter 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;}
Antworten:
Du kannst rennen
cat /proc/cmdline
.Beispiel:
quelle
tr ' ' '\n' < /proc/cmdline
, Zeilenumbrüche zwischen den Parametern zu erhalten.Eine alternative Möglichkeit besteht darin, die Ausgabe von
dmesg
(Zeile 5 hier) zu überprüfen :Beachten Sie jedoch, dass dies möglicherweise nicht funktioniert, wenn viele Dinge protokolliert wurden (z. B. wenn der Computer lange gelaufen ist), da möglicherweise die ersten Startzeilen aus dem Ringpuffer entfernt wurden.
quelle
Tatsächlich befindet sich der Parameter zwischen
__setup_start
und__setup_end
im Kernel. Im folgenden Code ist derp->str
der ParameternameDer folgende Kernel-Code befindet sich unter linux-3.4.5 / init / main.c: 388
quelle