Make a final attempt to implement a graphical user interface for grub2 (gfxboot2).

It's quite some work, unfortunately. Here's what's done so far:

  • module works for grub2-legacy and grub2-efi
  • there's an X11 implementation for testing (so you can run it as a normal program)
  • basic font rendering implemented
  • logging can be done to serial line or to the text (debug) console
  • basic data types are implemented
  • language primitives are partly implemented
  • integrated debugger works

watch the debugger in action

gfxboot2 debugger at work

gfxboot2 uses like gfxboot a simple scripting language that's compiled into byte code. Here's a tiny sample that shows what the byte code looks like:

# gfxboot-compile -vs start.gc 
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
% code: 10 entries (10 - 0)
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%line i  index  offset  type   hex                      word
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
             0  0x0000  magic  80 06 12 a9 42 7a ad 60  % gfxboot magic
             1  0x0008  ref    88 03 62 61 72           /bar
             2  0x000d  code   05 17                    {
             3  0x000f  str    84 04 7a 61 70 70          "zapp"
             4  0x0015  ret    00 04                    }
             5  0x0017  word   87 03 64 65 66           def
             6  0x001c  word   87 03 62 61 72           bar
             7  0x0021  int    11 bc 01                 444
             8  0x0024  word   87 03 62 61 72           bar
             9  0x0029  end    00 05                    end

Looking for mad skills in:

Nothing? Add some keywords!

This project is part of:

Hack Week 11 Hack Week 14 Hack Week 15

Activity Show All

  • 16 days ago: seife liked gfxboot for grub2
  • 18 days ago: lnussel liked gfxboot for grub2
  • 9 months ago: locilka liked gfxboot for grub2
  • over 2 years ago: sndirsch liked gfxboot for grub2
  • over 2 years ago: jdelvare liked gfxboot for grub2
  • Comments

    • snwint
      9 months ago by snwint | Reply

      Made quite some progress

      • patch interfacing grub2(legacy & efi) exists
      • x11-interface for faster development
      • basic drawing functions implemented
      • font rendering of psf2 (console) fonts
      • necessary data types implemented
      • garbage collector works
      • debugging via serial console

      Todo

      • put code on github
      • language implementation needs to be finished
      • implement antialiasing fonts
      • add jpg/png decoding (via grub2)
      • implement boot menu

    • seife
      16 days ago by seife | Reply

      Hooray. Finally a usable graphical boot menu with grub2 is on the horizon :-)