Page 1 of 1

"no console available to OS"; no text output

Posted: Sun Sep 13, 2020 5:50 pm
by joshop
Hello, I've been trying to run a test OS (written in D from a different tutorial than that found on this site) on real hardware that prints Hello World and some pointers to the text mode memory map at 0xB8000. I current have a multiboot ELF kernel. When I try to boot it through grub, it says that "no console will be available to OS"; upon booting, I'm met with a permanent black screen. I made a grub-mkrescue iso and wrote it to a usb drive; I can get to the grub menu there but once again there is no printing to the screen. When setting my GRUB_GFXMODE to text, the "no console available" error goes away but the OS still doesn't work. I have confirmed that the code is most likely indeed running (admittedly, it was by adding an assembly instruction to fault the processor and observing that my computer did indeed restart after it was added and I tried to boot into it). I've tested this same OS on qemu and it has worked. What gives?

Re: "no console available to OS"; no text output

Posted: Thu Sep 17, 2020 8:28 pm
by Octocontrabass
The text mode memory at 0xB8000 only exists when you boot your OS in legacy mode. Your hardware is currently booting in UEFI mode.

Your hardware might still support legacy mode. If it does, configure it to boot in legacy mode and your OS will print text correctly.

Unfortunately, some hardware does not support legacy mode anymore. If that's the case, you'll need to find some way to display text using a linear frame buffer. (You'll probably end up doing this at some point anyway.)

Re: "no console available to OS"; no text output

Posted: Sat Nov 28, 2020 6:04 pm
by austanss