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

Activity

  • almost 2 years ago: ptesarik liked this project.
  • almost 5 years ago: a_faerber liked this project.
  • almost 5 years ago: aspiers liked this project.
  • almost 5 years ago: SLindoMansilla liked this project.
  • almost 5 years ago: SLindoMansilla joined this project.
  • over 5 years ago: bakaxcb liked this project.
  • over 5 years ago: bakaxcb left this project.
  • over 5 years ago: bakaxcb joined this project.
  • over 5 years ago: tdz liked this project.
  • over 5 years ago: michals liked this project.
  • over 5 years ago: ancorgs liked this project.
  • over 5 years ago: snwint liked this project.
  • over 5 years ago: mlschroe liked this project.
  • almost 7 years ago: bachngocson0812 left this project.
  • almost 7 years ago: bachngocson0812 joined this project.
  • about 7 years ago: seife liked this project.
  • about 7 years ago: lnussel liked this project.
  • over 7 years ago: locilka liked this project.
  • over 9 years ago: sndirsch liked this project.
  • over 9 years ago: jdelvare liked this project.
  • over 9 years ago: snwint started this project.
  • over 9 years ago: snwint originated this project.

  • Comments

    • snwint
      over 7 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
        over 5 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
      about 7 years ago by seife | Reply

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

    • snwint
      about 3 years ago by snwint | Reply

      finally the project went public at github

    Similar Projects

    This project is one of its kind!