GRU Devlog 28 - orion, E, LibWeb

March 06, 2022 — G1n

I think this weeks were productive. Last week I have accessed initrd on orion and printed tar archive files. Currently VFS is needed to be implemented and for that I need kmalloc.

Also several more functions were added to EGG E - set background color, drawing rectangles, lines, circles and maybe some other ones. Currently I don’t know how it will be made into real display server, but I hope that we will see.

I think the coolest project I was working this days is LibWeb. It is going to be library where web things will be implemented. Currently I am working on HTML tokenizer and parser. It already can tokenize and parse very simple page with head and body, but it is already very cool, because i started it just several days ago. Also I would like to implement CSS and maybe JavaScript (ECMAScript) there.

Also I thought about some other ideas - LibImage and LibJSON. I think after HTML it won’t be very hard to parse them, and they could help us in future when we will be making more GUI things.

Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)

tags: gru, orion, egg, e, libweb

GRU Devlog 27 - orion, binutils, E

February 20, 2022 — G1n

Previous week I was working on orion. Implemented serial support and page frame allocator. Also added some functions for serial for better debug output (warnings, todos, errors and other) Page frame allocator and deallocator will be needed when making memory manager. I am going to do that next week.

This week I started making binutils and E (from EGG). I am starting to write objdump. It already can disassemble some instructions, but for now it is very limited. Also yesterday I found why framebuffer wasn’t working and now E (maybe it will be “display server”) can write line on screen, but for some reason not more then one line.

I also had a lot of new ideas this week, but maybe they are just ideas. Compiled x86_64 gcc cross compiler, so maybe will be working on support of this arch soon. Also orion’s makefile is cleaner, so it maybe will be easier to port. I thought about making framebuffer support using GRUB, but first I need to implement memory manager I think.

I feel like I forgot something that I was working on, but maybe they are things that are not relaleted to GRU (but could be useful in future, for example for testing)

Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)

tags: gru, orion, binutils, objdump, e, egg