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

GRU Devlog 17-18 - coreutils, EGG and ideas

November 28, 2021 — G1n

Last week I didn’t make devlog because was busy and haven’t done anything useful except mkdir for coreutils.

This week I started from try to make something in framebuffer but currently nothing, because I can’t even understand why my code can’t see size of my display. I think E will require making something like Elib for easier communicating with E (but it will be in very far future…)

Then I made echo and very simple ls for coreutils. I am going to add more flags to ls next week. This week I also have made simple irc bot in python, so I will try to make simple clone of suckless ii on C (i think name gic is now really good so if you have ideas please suggest them to me). Currently I don’t reallly understand how to work with sockets but I will try to do something.

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

tags: gru, coreutils, egg

GRU Devlog 16 - ormp and EGG

November 14, 2021 — G1n

This week i was working on one more new project - ormp. It will be terminal multiplexor. Currently i am doing it in ncurses. For current time it is not working - can just handle input but not display it.

Also i have an idea for new projects - EGG (Extended/Exciting GRU GUI). I am planning some proj in this category - eggwm, eggterm, eggmenu and E. E would be a new display server. We will need to have it for Orion in future. Currently i am planning to do it or on fbdev or on DRM/KMS.

Also now yemu can be compiled with different compilers, -pedantic flag was added to makefile and all errors fixed.

And now our channels are bridged via matterbridge: irc on ~chat, irc on libera and xmpp muc.

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

tags: gru, ormp, egg, yemu, xmpp, irc