[SOLVED] GUI for an ELF32 kernel booted from GRUB2 UEFI
Posted: Sat Jan 09, 2016 8:52 am
Hi,
I have developed (and developing) a ELF32 bit OS which I boot from legacy grub in typical 80x25 text console (in QEMU and on my old laptop)
However, as most new computers come with UEFI firmware, to boot from UEFI firmware, I built grub2-efi and was able to boot my elf32 bit kernel under QEMU (using OVMF) - with debug information logged to serial port
But because my kernel doesn't support graphics mode - I am stuck without a display as GRUB2 EFI would land my kernel in graphics mode (legacy 80x25 text console is not supported as I understand). So, I am thinking to develop graphics support in my elf32 bit kernel that's booted from GRUB2 EFI (which uses GOP)
I have got the framebuffer information from GRUB2 as part of multiboot header where the framebuffer_addr is 0x8000000 (2GB) and have valid values for width, height, bpp, pitch etc.. - but I am not sure if this can be used or how to use this framebuffer information returned by GRUB2 EFI in my elf32 bit kernel ? OR What are the possible ways to build graphics support in my case (i.e. GRUB2 EFI booting ELF32 bit kernel)
PS:
1. The RAM size setup in QEMU is 128 MB
2. I am just fine with 80x25 text console but I wonder if GRUB2 EFI would allow that ?
Regards,
- Prajwala
I have developed (and developing) a ELF32 bit OS which I boot from legacy grub in typical 80x25 text console (in QEMU and on my old laptop)
However, as most new computers come with UEFI firmware, to boot from UEFI firmware, I built grub2-efi and was able to boot my elf32 bit kernel under QEMU (using OVMF) - with debug information logged to serial port
But because my kernel doesn't support graphics mode - I am stuck without a display as GRUB2 EFI would land my kernel in graphics mode (legacy 80x25 text console is not supported as I understand). So, I am thinking to develop graphics support in my elf32 bit kernel that's booted from GRUB2 EFI (which uses GOP)
I have got the framebuffer information from GRUB2 as part of multiboot header where the framebuffer_addr is 0x8000000 (2GB) and have valid values for width, height, bpp, pitch etc.. - but I am not sure if this can be used or how to use this framebuffer information returned by GRUB2 EFI in my elf32 bit kernel ? OR What are the possible ways to build graphics support in my case (i.e. GRUB2 EFI booting ELF32 bit kernel)
PS:
1. The RAM size setup in QEMU is 128 MB
2. I am just fine with 80x25 text console but I wonder if GRUB2 EFI would allow that ?
Regards,
- Prajwala