GRU Devlog 40 - deertree

September 11, 2022 — G1n

Sorry for not posting last devlog, I haven’t done anything and wanted to take a break.

This time, I was working on deertree and fixed some things on webpage. I published deertree specifications. They are not done yet, but publishing them on git might help us to keep progress.

As you can see, devlogs are getting little. I am working more on my other (non-GRU) projects nowadays. New school year started and we have busy timetable. I want to focus more on some one (GRU) project (currently thinking that it will be deertree), but take break with devlogs for unknown amount of time.

I want to hear some feedback. Email me (or xmpp) on g1n@hextilde.xyz, join #gru channel on tilde.chat/libera.chat/teapot.chat

tags: gru, deertree

GRU Devlog 39 - coreutils

August 14, 2022 — G1n

I was working on coreutils and very little on orsh - just fixed Makefile.

I added tee and logname utilities to GRU coreutils.

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

tags: gru, coreutils

GRU Devlog 38 - olibc

July 31, 2022 — G1n

This time I was also working on olibc. I have added some datastructures, so we won’t depend on builtin system headers.

Added open/read/write/close functions to unistd.h and fcntl.h, so we won’t need to rewrite other headers that were depending on liblinux’s ones for porting. Also added abs function to stdlib.h.

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

tags: gru, olibc

GRU Devlog 37 - olibc

July 17, 2022 — G1n

This time I was working on olibc. I rewritten Makefile and restrustured the project a bit. I have added some macros to sys headers, so olibc is on path of beign able to compile itself.

Currently I am working on adding other useful headers. I think we can add POSIX headers to it, so it will have implemented not only C11 specifications, but also some more UNIX-related things.

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

tags: gru, olibc

GRU Devlog 36 - coreutils

July 03, 2022 — G1n

Last week I wasn’t online for weekends, so decided to write devlog this week. Also, last 2 weeks I was mostly working on one of my admin projects (hextilde.xyz), so haven’t done anything in that period of time.

This week I was working on coreutils. It wasn’t maintained for a long time, so I decided to add some utilities to it.

I have restructured it, rewrote cat and added some utilities - head and wc.

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

tags: gru, coreutils

GRU Devlog 35 - deertree

June 12, 2022 — G1n

This 2 weeks I was working on deertree specifications. They are avalible on https://gruos.org/deertree/, but weren’t published on git because I think that they are not done yet.

Also I was working on compiler. First several days I was trying lex/yacc and even implemented basic syntax tree. But then I changed to python (I named this compiler pydtc), because I don’t fully understand syntax trees yet, so I hope in python it will be a bit easier.

So far with python I made some progress and it can already output syntax tree for very basic code and convert it to C or Assembler (yes, I added support for both).

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

tags: gru, deertree

GRU Devlog 34 - txtutils, deertree

May 29, 2022 — G1n

This 2 weeks I spent developing new programming language, called DeerTree. It is going to be combination of C, Rust and Go to make low-level development a bit simpler.

I have written some parts of specifications for language and standart library, but I think it is not ready for publishing yet.

But I have already started implementing compiler using lex and yacc. It already has lexer and basic parser implemented, right now I am working on syntax tree.

Also I have published txtutils. It has just grep for now.

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

tags: gru, txtutils, deertree

GRU Devlog 33 - yemu, txtutils

May 15, 2022 — G1n

This 2 weeks I spend implementing new yemu features. I implememented CMP ocpu instruction and added very basic stack implementation and some instructions for it. I will need to add more description about stack and stack manipulation instructions to ocpu specifications.

Also I started coding txtutils. I am planning it for text manipulation programs (grep, sed, awk). Started to develop grep utility, it already can find text in input, but not supports some “regex commands” that I would like it to support. Also I want to add support for multiple files there.

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

tags: gru, yemu, txtutils

GRU Devlog 32 - yemu

May 01, 2022 — G1n

This 2 weeks I was coding yemu. I added handling for flags, so now after any operation ZF and NF flags changed to correct values. Also I added opcodes for CF manipulations, so carry flag can be set and unset. Also I was fixing and detalizing specs, because I needed it to implement other commands. I added logical instructions - AND, OR, NOT, XOR.

This week I was mostly researching about something that can be interesting, but don’t have enough information for a project yet. It is pretty complicated sphere, so I don’t know when I will do something interesting there.

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

tags: gru, yemu, ocpu

GRU Devlog 31 - yemu

April 17, 2022 — G1n

This week I restructured yemu and it’s Makefile. I think that our projects will need some structure “standard” to not complicate them.

I was working on adding new instructions to ocpu. I added ADC, SUB, MUL, DIV. Also some duplicated code was removed.

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

tags: gru, yemu, ocpu

GRU Devlog 30 - libweb, orth, fosshost

April 03, 2022 — G1n

Last week I found why title tag wasn’t working - I haven’t implemented one of cases, so it is failing on them. I am still trying to make it working.

This week I started to make own forth implementation called orth. Currently it can do very little amount of things: tokenize input, get numbers. Trying to implement token stack right now.

Also, I have received email from fosshost. So they accepted our application and requested details about what VM we need. We decided to go with x86_64 CPU, 5G RAM and 50G disk. I think everything should be fine.

I am a bit lazy last few weeks, but I guess it is fine and I will get back on track soon.

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

tags: gru, libweb, orth, fosshost

GRU Devlog 29 - libweb

March 20, 2022 — G1n

This 2 weeks were not very productive I think. I published libweb. I think it already can support the most basic web 1.0 pages, because it has support of headers (h1, h2, …) and paragraphs tags (p). This week I tryed to implement title tag but had troubles with it, will publish it when it will be done…

Also I had requested fosshost vps. They haven’t answered to request yet, but seems they are busy, so waiting.

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

tags: gru, libweb, fosshost

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 26 - new server, oircd, orion rewrite

February 06, 2022 — G1n

This 2 weeks were long for me. Previous week chunk donated domain and server for us so now this blog and webpage is avalible on https://gruos.org. Also i setupped mail there and tryed to setup irc network, but we don’t have services yet.

Also previous week I tryed to make hashmap and some other things for oIRCd, but it wasn’t really success.

This week i started developing Orion rewrite. It already has interrupts working and enabled paging. For now I don’t know how to make timer and keyboard working. Currently I am trying to write page frame allocator, it will open road to proper memory manager for us. I hope next few weeks I will focus on Orion.

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

tags: gru, oircd, server, orion

GRU Devlog 25 - occ, oircd

January 23, 2022 — G1n

So I decided to make this devlog every two weeks. Why? Because I joined ircnow and can be a bit busy because of school.

Previous week I was trying to make add working in occ. I haven’t done it, because I didn’t understood how to make it in proper abstract syntax tree. I don’t want publish it until I will make it done.

In the end of that week I joined ircnow and got a lot of cool admin expirience and I hope it will help me with GRU. Now I am part of the team, but for more info check post on my own blog.

This week I started developing own irc daemon. I have own server now, so i test it there. Currently it is able to handle simple NICK and USER commands. I tryed to setup PRIVMSG, but got it working only with one user (when privmsg to someone, user “server” replies to you). Currently trying to make it in proper way (maybe will use dictionaries, I don’t know yet).

Also maybe I will move our xmpp muc or any other things to my own server.

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

tags: gru, occ, oircd

GRU Devlog 24 - occ and new web design

January 09, 2022 — G1n

This week I was working on occ

First I have done lexer. Seems it is totally working, if we will need to add some new keywords, just adding if statement is needed. But maybe will be better to rewrite it to linked list, but I didn’t understood how it works so for now just list of tokens.

First thing I have done after lexer is simple code generator. So occ can generate very simple assembler code! For now it can just generate functions (int) and return (just number). But I think it was cool progress in 5 days.

Then I started making parser. It took several days to properly implement binary trees, but seems it is done now. It can make very simple tree with function token and return that can be understood by code generator function

Also chunk has made very cool website design and logo. If you read this devlog, you can see how cool is it :)

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

tags: gru, occ

GRU Devlog 23 - more olibc and start of occ (and more projects ideas!)

January 02, 2022 — G1n

I think this week was productive. I have done a lot of things to olibc. First I finally implemented working FILE struct. That required to implement malloc and free, so we also have it now! Then stdio.h was implemented. Still need to make a lot of functions, but we already have most useful ones (for examples every C11 printf functions implemented and fully working). Also finally stdin/stdout/stderr file descriptors working properly.

We have full implemented <ctype.h> header now! It wasn’t really hard.

This year I started from tryes to make occ - GRU C compiler (maybe it will be GRU Compiler Collection in future). A lot of things will need to be implemented and a lot of new to know! I hope it will be fun :)

Happy New 2022 Year! I hope we will make a lot of new tools this year. And more people will join us :)

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

tags: gru, olibc, occ

GRU Devlog 22 - olibc, liblinux, mailing list

December 26, 2021 — G1n

Happy Chirstmas! Next GRU Devlog will be next year so Happy New Year! I hope GRU will grow and grow next year :D

On last Sunday we have created mailing list after devlog. Currently it is not active, but but you can message us there - gru@lists.tildeverse.org. Then I tryed to make FILE struct for liblinux, but it wasn’t working so it needed to be reimplemented.

Then youngchief submitted some changes to our webpage. Also robyndrake contributed some fixes to coreutils.

Also I had implemented printf and vprintf! It currently have %c, %d, %s so it will be useful for debugging. I have tryed to implement snprintf, but i had several problems with it so it is not done yet.

Then chunk contributed logo for us! I think it looks nice!

Last useful thing that I have done this week is very minimal FILE, it currently just has fd and nothing else.

I hope we will make more cool things and finish current projects next year!

Hope you liked this post! I wish everyone cool New Year! If you would like to help us, contact me via email, xmpp or irc :)

tags: gru, olibc, liblinux, mailing-list

GRU Devlog 21 - olibc

December 19, 2021 — G1n

This week I also was making olibc. Now it is published! I have mostly implemented <string.h>, but there still some funcs that require <locale.h>, so they are not implemented yet.

I found out why olibc wasn’t giving correct return value after program is executed. It was because liblinux wasn’t exiting correctly, so it received some random return values from stack.

Also a lot of testing were done. I have found out that several functions wasn’t working correctly and fixed it. We have shell script for testing that compares results from our libc and libc that installed on user’s machine. It prints a diff output if test was failed. It also have other features, if you want you can check it by running test.sh --help by yourself.

Because of it I have found that several functions were wrong implemented. But now finally everything is working and strtok is correctly implemented!

Also this blog finally moved totally from my webpage, so we can move this site on different server just by cloning it from codeberg or tildegit

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

tags: gru, olibc, liblinux

GRU Devlog 20 - olibc

December 12, 2021 — G1n

This week I was making olibc. I was implementing <string.h>. Also I was fixing liblinux to be able to include it without need to use full path in #include. I had several other issues with it and also fixed them.

My current goal is to implement <string.h> and after that I am planning to publish it. Currently most of funcs are implemented. Making strtok now but all other functions need locale.h and I don’t know yet how it will be implemented. But it is already cool that we have most of functions that should be in <string.h>!

Also we now have gru webpage on codeberg! Maybe next week I will move all devlogs to gru webpage so it will be easier to move.

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

tags: gru, olibc, liblinux

GRU Devlog 19 - gic and several libs

December 05, 2021 — G1n

This week started with making gic (maybe name will be change). As I have written before it is going to be suckless ii clone. Also I started making girclib - simple C library for irc protocol. I think it will be published as separate project, because I would like to make it for both: client and server. I don’t yet how it will be done but we will see…

Then I thought that would be cool to have own libc, but have no knowledge how it speaks with OS. Then I understood that on linux it is working via syscalls. So started making liblinux - C library for linux syscalls. Using it we won’t need to use assembly a lot in our libc. Currently write and read syscalls are done and programmer can use it if passed -I, -L and -l flags to compiler. And it is already published! (check codeberg or tildegit)

After understanding how to create proper makefile with liblinux, I started making olibc. Currently it has very tiny number of features. But string.h is mostly done! I don’t know when I will fill that it will be ready enough to be published, but hope to have useful functions and test suit there till that time.

When olibc will be done enough I am going to start making C compiler (already have some code, but it is old and I not understand how it works, so need to be rewritten). Also I hope that we will have enough toolchain (or I will have enough knowledge to implement things that are not done faster) for our own Linux or BSD distribution. But that will be in future…

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

tags: gru, gic, girclib, liblinux, olibc, libs

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

GRU Devlog 15 - ocpu, yemu and licenses

November 07, 2021 — G1n

This week wasn’t very productive. I was working on one of my personal projects.

I have added ADD for registers, INC, DEC and NOP instructions.

Also codeberg informed me that yemu has to have license, and I fast added MIT license to all our projects.

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

tags: gru, ocpu, yemu, license

GRU Devlog 14 - ocpu and yemu

October 31, 2021 — G1n

This week I was working on ocpu emulator. So using it we can know if specifications can be implemented. It helps me adding some description to it.

First I made yemu a bit modular, so you need to add several lines to main file and then building your emulator based on template (that should be placed in docs one day). Now if someone would like to add some architecture to our emulator they won’t need to rewrite it from scratch.

I also added –system flag to yemu so architecture can be choosen more user-friendly way.

Currently in ocpu emulator only mov and add instructions are implemented. We also added some description to commands in specifications, so it is easier to understand what it should do

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

tags: gru, yemu, ocpu

GRU Devlog 13 - ocpu thoughts and some elecronics

October 24, 2021 — G1n

This week was very busy week at school and I had no time for programming.

But in the start of week I was thinking about making ocpu specs more Turing-complete. I still think it is not done but maybe it will in some time (and of course more description required).

But I had time to buy some transistors and other electronics. Currently I am trying to make half-adder.

I have created tiny log page - lolcpu. I am going to post there some of my electronic ideas, circuits and progress in doing some electronic things.

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

tags: gru, lolcpu, ocpu, transistors, electonics

GRU Devlog 12 - yemu, gasm and ocpu

October 17, 2021 — G1n

This week I have done several new instructions for yemu. For example all transfer instructions.

Also I have rewritten gasm to support 6502, published it and it should help me with debugging yemu. It supports not very a lot instructions but I hope it is good start.

But I think the coolest what I did this week is ocpu proccessor specification. Currently it is draft but i have already published it here. I hope this specifications will be Turing complete and we will try to implement it in real world. But firstly we need to make this specififcations complete, assembler and emulator for it.

Also smlckz’s idea was to make translator from ocpu assembler instructions to avr to emulate it on arduino!

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

tags: gru, yemu, gasm, ocpu

GRU Devlog 11 - yemu and channel on libera.chat

October 08, 2021 — G1n

I am making this devlog a bit earlier, because I will be busy on weekends.

This week I didn’t have plan, but it seems I have done some things to yemu: added loading programs from binary file and several instructions - TAX, TAY and NOP.

I think gasm will be made for 6502 firstly, because it is easier then x86 and it would help in testing yemu.

I was trying to make some daily notes in Org Roam (and moved devlog notes there), but it wasn’t very success, but I hope to do it more often :)

Also I have registered #gru channel on libera, so you can join us also on libera.chat :)

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

tags: gru, yemu, libera, org-mode, org-roam

GRU Devlog 10 - orsh now like proper shell and gasm

October 03, 2021 — G1n

Hooray! Today is 10’s GRU Devlog! :)

This week i was trying to make notes to org document, to not forget something and put TODOs there for future weeks.

First several days was the most valuable - readline support and signal handling! This means you can use emacs-like bindings there (but i think readline also supports vi bindings, so maybe i will add them too!)

Also we now have very minimal completion support there :), but still proper function need to be added for that (currently only filenames completion)

Orsh also has one session history, so you don’t need to rewrite command from scratch now

And I have started to use it as my main (but had some problems after chsh, so currently is autostarts after bash and i can exit from there any time i will need)

Then I have started making our own assembler - gasm. Currently it only supports NOP, so i haven’t published it yet.

This week I also registered to ~news and shared devlog there (i think this devlog also will be there ;) ) If you have lobste.rs account please contact me to invite me, if you can, because it may advertize GRU more!

Today (Sunday) we had first testing GRU meeting via Jitsi. Thanks to r1k for joining. We need to make something like plan our schedule (to know about what to speak) and discuss meeting time better.

Hope you liked this post and you will join our XMPP muc (if you are not already there) :). If you would like to help me, contact me via email, xmpp or irc :)

tags: gru, org-mode, gasm, orsh, meeting, lobste.rs, tilde.news

GRU Devlog 9 - orsh, orion, bootloader, GRU xmpp room and logo

September 26, 2021 — G1n

This week I didn’t commited a lot, but started some new projects. I made orsh signal handling working (so it won’t exit on ^C) and homedir “handling” (can replace homedir in prompt with ~, and you can use ‘cd ~’ or just ‘cd’ to change dir to homedir)

Also I started making bootloader, but for now it can only detect what CPU is (intel if x86 and amd if x86_64), some additional instructions (msr) and if apic is avalible.

I was trying to make something with orion fs, maybe it will use pak files for initrd. Currently i am making archiver for it, but after that i will need to understand more how vfs working and rewrite initrd to use pak files.

We now have xmpp room (gru@conference.hmm.st) and logo! Thanks to chunk for it!

I was thinking about making weekly or monthly “conferences”. We could do it via jitsi tildeverse instance or tilde.tel (tel.tilde.org.nz) conference. I think jitsi is better, but we should try tilde.tel confernce at least once, why not? :)

Hope you liked this post and you will join our XMPP muc :). If you would like to help me, contact me via email, xmpp or irc :)

tags: gru, orion, orsh, xmpp, tilde.tel, jitsi

GRU Devlog 8 - orsh and published initrd

September 19, 2021 — G1n

This week I have published initrd, but it is not working as expected.

Also I have started one more project - orsh. It is one more shell, but now in C. Maybe it will be easier to port to Orion. It already supports ; but they are working a bit weird.

Also in orsh you can work with environment variables. From today’s morning I am trying to replace bash with it, but still a lot need to be done.

Hope you liked this post and if you would like to help me, contact me via email, xmpp or irc :)

tags: gru, orsh, orion

GRU Devlog 7 - keyboard, paging and WIP initrd in Orion

September 12, 2021 — G1n

This week I was improving Orion. First I made keyboard working, next day paging! Also I have added several new LibC functions. Today I have made scrolling working.

Last few days I was trying to make initrd working (this required heap implementing so I also did that but I don’t know if it works correctly). Currently it can only output /dev directory.

But I made something wrong with %x in printf and it can display weird chars first and then contents of files!

Hope you liked this post and if you would like to help me, contact me via email, xmpp or irc :)

tags: gru, orion

GRU Devlog 6 - yemu, published gxt and interrupts working in Orion

September 05, 2021 — G1n

This week I have published gxt, but it currently works as more (only down scrolling). Also it has a lot of of runtime error (Segmentation fault and others).

I have started working on yemu - Yet another EMUlator. It currently supports only 6502 proccessor with tiny number of instructions (LDA, LDX and LDY)

Today we have fixed interrupts in Orion and now I can implement timer, paging, keyboard and a lot of other things (thanks to quinn and smlckz from tilde.chat)

Hope you liked this post and if you would like to help me, contact me via email, xmpp or irc :)

tags: gru, gxt, yemu, orion

GRU Devlog 5 - First contribution from other person, coreutils and gxt (tui text editor)

August 29, 2021 — G1n

This week I had a lot of new ideas. But I think we have to work on something that have already been started. Also we now have one more coreutils rewrite (now on C to more easily port it to Orion in future).

Also i have started working on some projects that is not ready to be published yet. One of them is gxt - tui text editor.

Currently it can only move cursor and display files. But I think I’ll publish it next week when editing will be working.

Bad news is that my school lessons will start next week so maybe this devlogs won’t be published every week, because of not enough work done. But I don’t know, maybe I’ll have enough time.

Also good news - we have first contribution on codeberg to grsh. I didn’t know this person (because he is not from tildeverse :) ), so it is cool!

Hope you liked this devlog! If you can somehow help us, please contribute to our projects on tildegit/codeberg and/or message me in someway :)

tags: gru, coreutils, contribution, gxt, grsh

GRU Devlog 4 - more projects started, webpage for GRU and organizations on tildegit/codeberg

August 22, 2021 — G1n

In first days of this week I thought it will be not very productive. But I was wrong.

We now have webpage and organizations on tildegit/codeberg:

https://g1n.ttm.sh/gru/

Also I am working on some new projects:

  • orcc - GRU/Orion Compilers Collection (but currently I am working only on lexer so it is not published yet)

  • gasm - GRU assembler (maybe will be part of GRU binutils. Also not published yet)

  • hexutils - I think hexdump, xxd and some other utils will be in this project

Also I tryed to advertize GRU on ~chat, some users liked us, so maybe soon someone will help me with all this.

And of course if you can help me please contact me in someway! :)

tags: gru, orcc, gasm, hexutils, webpage

GRU DevLog 3 - Orion and dreams about GRU software future

August 15, 2021 — G1n

This week I was trying to make interrupts, paging and other memory things working in Orion. I found this guide and tried to follow it without rewriting the whole project: http://www.jamesmolloy.co.uk/index.html

For now only Global Descriptor Table maybe working.

My current goals/dreams:

  • make filesystem (the coolest would be make Ext2 driver)

  • build GCC hosted compiler (this will help GCC understand our OS better)

My very future dreams:

  • make kernel, libs, ports and soft in different repos

  • make proper way to make “distros” on our kernel

  • make some website with mirror of ports scripts (like in Serenity OS but not in one repo with everything and tool for searching and downloading ports from that mirror)

  • maybe (if i will work a lot on this projects) I’ll make one more account on tilde.team for our organisation (domain name - gru.ttm.sh, is cool), but i’ll ask admins about that

Also I think Orion need new name because i found several projects with this name :)

Some ideas about the GRU name:

  • GRU rocks (or rocking) UNIX

  • GloRious UNIX

  • GloRious Union

If you can help me or have some ideas (name/names or anything else) contact me via email or any other type of contact (irc: g1n on tilde.chat, xmpp: g1n@hmm.st)

tags: gru, orion, dreams

GRU DevLog 2 - Orion

August 08, 2021 — G1n

This week I was developing new OS - Orion.

I don’t understand very basic osdev thing so I decided to make OS on C and Asm. Currently that can just output text (with printf arguments) on screen and serial. Now gros is much cooler than Orion - it has input, interupts and a lot of else. But maybe I’ll understand OSdev better. Currently working on GDT (global descriptor table) and than will work on interrupts and exceptions.

Of course if you can help me contact me throught email or in other ways!

tags: gru, orion

GRU DevLog 1 - gros sources published and add wc to grutils

August 01, 2021 — G1n

I didn’t make a lot work this week, so i think this devlogs should be renamed from “week number” to just “number” Ok, so what i did this week: - Add wc to grutils - Published gros - Add basic shell and some commands for gros

I know that is not a lot, but i was reading some osdev articles and books. Currently I would like to implement basic filesystem but i don’t know what to do.

Some goals for gros (I will add that to gros readme): - Filesystem (FAT or Ext2) - ELF or other executable formats - LibC (for compiling C programs) - Maybe basic networking but after all of that

All code in osdev wiki is for C so I need to implement it myself (or port existing rust code)

If you can help me somehow please contact me via email (g1n@ttm.sh) or in other ways (~chat irc, xmpp)

tags: gru, grutils, gros

GRU DevLog Week 0 - grsh, grutils and start of gros

July 25, 2021 — G1n

So I have started new project this week - grsh! It is shell written on Rust. Also, for now, other rewrites of coreutils are there.

What grsh can do for this moment: echo some variables (pwd, user, home, status of previous command using $?) and text; true, false, : - set status; pwd shows current dir, also comments and cd working, basic piping (thanks to that article and of course executing not builtin command also working.

Some grutils that I made: ls, touch, mkdir/rmdir, rm, grep, head/tail, yes, cat.

TODOs exist in grsh repo - so you can read there some of my plans.

Yesterday i have started GROS - OS on Rust! But I haven’t published code yet because it not have that minimum of funcionality that i want. Thanks for that site for teaching how to make basics - https://os.phil-opp.com

So it was first of GRU Devlog! Thanks for reading! If you want to contribute to some of that project write me an email - g1n@ttm.sh , or contact me in other ways

tags: gru, grsh, grutils, gros