+
+
+
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 I 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
+
+
+
+
+
+
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
+
+
+
+
+
+
+
+
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
+
+
+
+
+
+
+
+
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
+
+
+
+
+
+
+
+
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
+
+
+
+
+
+
+
+
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
+
+
+
+
+
+
+
+
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
+
+
+
+
+
+
+
+
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
+
+
+
+
+
+
+
+
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
+
+
+
+
+
+
+
+
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
+
+
+
+
+
+
+
+
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
+
+
+
+
+
+
+
+
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
+
+
+
+
+
+
+
+
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
+
+
+
+
+
+
+
+
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
+
+
+
+
+
+
+
+
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
+
+
+
+
+
+
+
+
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
+
+
+
+
+
+
+
+
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:
+
+
+
+
+
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:
+
+
+
+
+
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
+
+
+
+
+
+
+
+
+
+
+
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
+
+
+
+
+
+
+
+
+
+
+
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
+
+
+
+
+
+
+
+
+
+
+
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
+
+
+
+
+
+
+
+
+