Updated
almost 5 years
ago.
18 hacker ♥️.
3 followers.
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 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
Comments
-
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
-
-
Similar Projects
This project is one of its kind!