Această întrebare îmi apare când încerc să fac ca sistemul de operare Ubuntu invitat să afișeze mesaje de boot în QEMU VM (cum ar fi [ 2.34567890123] ... și [ OK ] ....). Aici am o VM QEMU, atât gazda, cât și invitatul fiind Ubuntu 20.04. Pentru a afișa mesajele de pornire ale oaspeților în consola gazdei (adică, linia de comandă care pornește qemu), am setat câteva linii din /etc/default/grub
fișier după cum urmează:
GRUB_TIMEOUT_STYLE=meniu
GRUB_TIMEOUT=5
GRUB_TERMINAL_OUTPUT=consola
GRUB_CMDLINE_LINUX_DEFAULT=nomodeset
Apoi pornesc invitatul folosind următoarea comandă:
qemu-system-x86_64 -hda ubuntu.qcow -m 2000 -nographic -serial niciunul
GRUB își scoate TUI fie prin modul serial, fie prin modul text VGA. -nografic
dezactivează ieșirea VGA și -serial nici unul
dezactivează consola serială, așa că nu pot vedea niciun TUI GRUB. Doar monitorul QEMU este afișat în consolă. Conform documentaţiei a -nografic
(Aici), „QEMU este o aplicație simplă de linie de comandă” în această situație. La fel ca programul normal C/C++, monitorul QEMU folosește printf
(sau altă funcție, dar vă rog să-mi permiteți să folosesc acest nume ca un expedient) pentru a afișa versiunile sale, solicitările și alte mesaje. După 5 secunde, sistemul de operare invitat Ubuntu pornește.Cu toate acestea, nu pot vedea niciun mesaj de boot tipărit în consolă. Experimentele mele anterioare arată că Ubuntu nu folosește consola serială, ci folosește modul text VGA pentru ieșire. Din acest motiv, bănuiesc, dacă Ubuntu poate folosi același lucru printf
pentru a-și scoate mesajele de pornire, QEMU ar trebui să le poată afișa în consolă (multiplicat cu monitorul QEMU), la fel cum sunt tratate ieșirile monitorului QEMU. Pe baza observației că consola are doar ieșirea monitorului QEMU, întrebarea mea este:
Ubuntu nu folosește printf
pentru ieșire la pornire, în mod expres sau implicit, poate din cauza performanței? Dacă este un comportament implicit, ce opțiune de pornire pot folosi pentru a forța utilizarea Ubuntu printf
pentru a-și scoate mesajul de pornire (sau orice metodă de ieșire pe care o folosește monitorul QEMU), spre deosebire de modul text VGA? Ca o notă secundară, am căutat pe google, dar nu am găsit nicio documentație online despre opțiunile de pornire Ubuntu, cum ar fi nomodeset
, așa că nu știu dacă există vreo opțiune de pornire Ubuntu care poate specifica acest lucru. Vă rog să-mi împărtășiți linkul dacă îl cunoașteți. Este multă muncă, așa că nu pot spune sigur că am menționat totul mai sus. Dacă am omis să menționez ceva în întrebare, anunțați-mă și voi edita. Mulțumiri.