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 hackers with the skills:

Nothing? Add some keywords!

This project is part of:

Hack Week 11 Hack Week 14 Hack Week 15 Hack Week 17 Hack Week 18 Hack Week 19 Hack Week 20 Hack Week 21 Hack Week 24 Hack Week 25

Activity

  • 12 months ago: Pharaoh_Atem liked this project.
  • about 1 year ago: jlp liked this project.
  • over 3 years ago: ptesarik liked this project.
  • over 6 years ago: a_faerber liked this project.
  • over 6 years ago: aspiers liked this project.
  • over 6 years ago: SLindoMansilla liked this project.
  • over 6 years ago: SLindoMansilla joined this project.
  • about 7 years ago: bakaxcb liked this project.
  • about 7 years ago: bakaxcb left this project.
  • about 7 years ago: bakaxcb joined this project.
  • over 7 years ago: tdz liked this project.
  • over 7 years ago: michals liked this project.
  • over 7 years ago: ancorgs liked this project.
  • over 7 years ago: snwint liked this project.
  • over 7 years ago: mlschroe liked this project.
  • over 8 years ago: bachngocson0812 left this project.
  • over 8 years ago: bachngocson0812 joined this project.
  • over 8 years ago: seife liked this project.
  • over 8 years ago: lnussel liked this project.
  • over 9 years ago: locilka liked this project.
  • about 11 years ago: sndirsch liked this project.
  • about 11 years ago: jdelvare liked this project.
  • about 11 years ago: snwint started this project.
  • about 11 years ago: snwint originated this project.

  • Comments

    • snwint
      over 9 years 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

      • bakaxcb
        about 7 years ago by bakaxcb | Reply

        It would be nice if you could put this on github even if it is unfinished. Hope someone can ask him to do this: https://build.opensuse.org/user/show/snwint https://github.com/wfeldt

    • seife
      over 8 years ago by seife | Reply

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

    • snwint
      over 4 years ago by snwint | Reply

      finally the project went public at github

    Similar Projects

    This project is one of its kind!