I try to boot precompiled kernel in QEMU self-created machine.
Serial peripherial is configured and I sucessfully can boot precompiled U-boot image for this machine.
In U-Boot all serial IO works great (memory adressing and UART address is also prepared in machine setup). Using option -nographic i can read and write in UBoot command prompt.
I can issue a bootm command in Uboot to load kernel to RAM and boot it. Last string i see is "Uncompressing Linux...done. Booting kernel...".
And there i have a black screen.
The main difference is that kernel WORKS because using a remote GDB session i see that it prints output like Banner and more information using printk functions. But on a QEMU screen i have none.
Question: Where in kernel in early stage is a setup of console=ttyS0,115200 setup being done? I tried to search in kernel sources and cannot find a place to debug the problem.
How kernel knows what to pass to serial before setting one up? Is there a RAM Ring buffer?
Any clues?
See Question&Answers more detail:os