354 lines
16 KiB
HTML
354 lines
16 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en"><head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<link rel="stylesheet" href="main.css" type="text/css">
|
|
<link rel="stylesheet" href="blog.css" type="text/css">
|
|
<link rel="alternate" type="application/rss+xml" title="subscribe to this page..." href="https://gruos.org/blog/feed.xml">
|
|
<title>GRU's Blog</title>
|
|
</head><body>
|
|
<div id="divbodyholder">
|
|
<div id="divbody"><div class="content">
|
|
<div id="header"><a href="/"><img src="../gru.png" style="width: 35%; height: 68px;"></a></div><hr>
|
|
<h3><a class="ablack" href="gru-devlog-27---orion-binutils-e.html">
|
|
GRU Devlog 27 - orion, binutils, E
|
|
</a></h3>
|
|
<!-- bashblog_timestamp: #202202201637.05# -->
|
|
<div class="subtitle">February 20, 2022 —
|
|
G1n
|
|
</div>
|
|
<!-- text begin -->
|
|
|
|
<p>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.</p>
|
|
|
|
<p>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.</p>
|
|
|
|
<p>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.</p>
|
|
|
|
<p>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)</p>
|
|
|
|
<p>Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)</p>
|
|
|
|
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_orion.html'>orion</a>, <a href='tag_binutils.html'>binutils</a>, <a href='tag_objdump.html'>objdump</a>, <a href='tag_e.html'>e</a>, <a href='tag_egg.html'>egg</a></p>
|
|
<!-- text end -->
|
|
<h3><a class="ablack" href="gru-devlog-26---new-server-oircd-orion-rewrite.html">
|
|
GRU Devlog 26 - new server, oircd, orion rewrite
|
|
</a></h3>
|
|
<!-- bashblog_timestamp: #202202061821.03# -->
|
|
<div class="subtitle">February 06, 2022 —
|
|
G1n
|
|
</div>
|
|
<!-- text begin -->
|
|
|
|
<p>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 <a href="https://gruos.org/">https://gruos.org</a>. Also i setupped mail
|
|
there and tryed to setup irc network, but we don’t have services yet.</p>
|
|
|
|
<p>Also previous week I tryed to make hashmap and some other things for oIRCd, but it wasn’t really success.</p>
|
|
|
|
<p>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.</p>
|
|
|
|
<p>Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)</p>
|
|
|
|
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_oircd.html'>oircd</a>, <a href='tag_server.html'>server</a>, <a href='tag_orion.html'>orion</a></p>
|
|
|
|
<!-- text end -->
|
|
<h3><a class="ablack" href="gru-devlog-25---occ-oircd.html">
|
|
GRU Devlog 25 - occ, oircd
|
|
</a></h3>
|
|
<!-- bashblog_timestamp: #202201231705.44# -->
|
|
<div class="subtitle">January 23, 2022 —
|
|
G1n
|
|
</div>
|
|
<!-- text begin -->
|
|
|
|
<p>So I decided to make this devlog every two weeks. Why? Because I joined ircnow and can be a bit busy
|
|
because of school.</p>
|
|
|
|
<p>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.</p>
|
|
|
|
<p>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.</p>
|
|
|
|
<p>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).</p>
|
|
|
|
<p>Also maybe I will move our xmpp muc or any other things to my own server.</p>
|
|
|
|
<p>Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)</p>
|
|
|
|
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_occ.html'>occ</a>, <a href='tag_oircd.html'>oircd</a></p>
|
|
|
|
|
|
<!-- text end -->
|
|
<h3><a class="ablack" href="gru-devlog-24---occ-and-new-web-design.html">
|
|
GRU Devlog 24 - occ and new web design
|
|
</a></h3>
|
|
<!-- bashblog_timestamp: #202201091702.09# -->
|
|
<div class="subtitle">January 09, 2022 —
|
|
G1n
|
|
</div>
|
|
<!-- text begin -->
|
|
|
|
<p>This week I was working on occ</p>
|
|
|
|
<p>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.</p>
|
|
|
|
<p>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.</p>
|
|
|
|
<p>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</p>
|
|
|
|
<p>Also chunk has made very cool website design and logo. If you read this devlog, you can see
|
|
how cool is it :)</p>
|
|
|
|
<p>Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)</p>
|
|
|
|
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_occ.html'>occ</a></p>
|
|
|
|
|
|
|
|
<!-- text end -->
|
|
<h3><a class="ablack" href="gru-devlog-23---more-olibc-and-start-of-occ-and-more-projects-ideas.html">
|
|
GRU Devlog 23 - more olibc and start of occ (and more projects ideas!)
|
|
</a></h3>
|
|
<!-- bashblog_timestamp: #202201021813.55# -->
|
|
<div class="subtitle">January 02, 2022 —
|
|
G1n
|
|
</div>
|
|
<!-- text begin -->
|
|
|
|
<p>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.</p>
|
|
|
|
<p>We have full implemented <ctype.h> header now! It wasn’t really hard.</p>
|
|
|
|
<p>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 :)</p>
|
|
|
|
<p>Happy New 2022 Year! I hope we will make a lot of new tools this year. And more people will
|
|
join us :)</p>
|
|
|
|
<p>Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)</p>
|
|
|
|
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_olibc.html'>olibc</a>, <a href='tag_occ.html'>occ</a></p>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- text end -->
|
|
<h3><a class="ablack" href="gru-devlog-22---olibc-liblinux-mailing-list.html">
|
|
GRU Devlog 22 - olibc, liblinux, mailing list
|
|
</a></h3>
|
|
<!-- bashblog_timestamp: #202112261650.00# -->
|
|
<div class="subtitle">December 26, 2021 —
|
|
G1n
|
|
</div>
|
|
<!-- text begin -->
|
|
|
|
<p>Happy Chirstmas! Next GRU Devlog will be next year so Happy New Year! I hope GRU will grow
|
|
and grow next year :D</p>
|
|
|
|
<p>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.</p>
|
|
|
|
<p>Then youngchief submitted some changes to our webpage. Also robyndrake contributed some fixes
|
|
to coreutils.</p>
|
|
|
|
<p>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.</p>
|
|
|
|
<p>Then chunk contributed logo for us! I think it looks nice!</p>
|
|
|
|
<p>Last useful thing that I have done this week is very minimal FILE, it currently just has
|
|
fd and nothing else.</p>
|
|
|
|
<p>I hope we will make more cool things and finish current projects next year!</p>
|
|
|
|
<p>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 :)</p>
|
|
|
|
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_olibc.html'>olibc</a>, <a href='tag_liblinux.html'>liblinux</a>, <a href='tag_mailing-list.html'>mailing-list</a></p>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- text end -->
|
|
<h3><a class="ablack" href="gru-devlog-21---olibc.html">
|
|
GRU Devlog 21 - olibc
|
|
</a></h3>
|
|
<!-- bashblog_timestamp: #202112191709.23# -->
|
|
<div class="subtitle">December 19, 2021 —
|
|
G1n
|
|
</div>
|
|
<!-- text begin -->
|
|
|
|
<p>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.</p>
|
|
|
|
<p>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.</p>
|
|
|
|
<p>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 <code>test.sh --help</code> by yourself.</p>
|
|
|
|
<p>Because of it I have found that several functions were wrong implemented. But now finally
|
|
everything is working and strtok is correctly implemented!</p>
|
|
|
|
<p>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</p>
|
|
|
|
<p>Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)</p>
|
|
|
|
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_olibc.html'>olibc</a>, <a href='tag_liblinux.html'>liblinux</a></p>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- text end -->
|
|
<h3><a class="ablack" href="gru-devlog-20---olibc.html">
|
|
GRU Devlog 20 - olibc
|
|
</a></h3>
|
|
<!-- bashblog_timestamp: #202112121746.18# -->
|
|
<div class="subtitle">December 12, 2021 —
|
|
G1n
|
|
</div>
|
|
<!-- text begin -->
|
|
|
|
<p>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 <code>#include</code>. I had several other issues
|
|
with it and also fixed them.</p>
|
|
|
|
<p>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>!</p>
|
|
|
|
<p>Also we now have <a href="https://gru.codeberg.page">gru webpage on codeberg</a>! Maybe next week I
|
|
will move all devlogs to gru webpage so it will be easier to move.</p>
|
|
|
|
<p>Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)</p>
|
|
|
|
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_olibc.html'>olibc</a>, <a href='tag_liblinux.html'>liblinux</a></p>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- text end -->
|
|
<h3><a class="ablack" href="gru-devlog-19---gic-and-several-libs.html">
|
|
GRU Devlog 19 - gic and several libs
|
|
</a></h3>
|
|
<!-- bashblog_timestamp: #202112051657.11# -->
|
|
<div class="subtitle">December 05, 2021 —
|
|
G1n
|
|
</div>
|
|
<!-- text begin -->
|
|
|
|
<p>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…</p>
|
|
|
|
<p>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)</p>
|
|
|
|
<p>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.</p>
|
|
|
|
<p>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…</p>
|
|
|
|
<p>Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)</p>
|
|
|
|
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_gic.html'>gic</a>, <a href='tag_girclib.html'>girclib</a>, <a href='tag_liblinux.html'>liblinux</a>, <a href='tag_olibc.html'>olibc</a>, <a href='tag_libs.html'>libs</a></p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- text end -->
|
|
<h3><a class="ablack" href="gru-devlog-17-18---coreutils-egg-and-ideas.html">
|
|
GRU Devlog 17-18 - coreutils, EGG and ideas
|
|
</a></h3>
|
|
<!-- bashblog_timestamp: #202111281706.52# -->
|
|
<div class="subtitle">November 28, 2021 —
|
|
G1n
|
|
</div>
|
|
<!-- text begin -->
|
|
|
|
<p>Last week I didn’t make devlog because was busy and haven’t done anything useful except
|
|
mkdir for coreutils.</p>
|
|
|
|
<p>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…)</p>
|
|
|
|
<p>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.</p>
|
|
|
|
<p>Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)</p>
|
|
|
|
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_coreutils.html'>coreutils</a>, <a href='tag_egg.html'>egg</a></p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- text end -->
|
|
<div id="all_posts"><a href="all_posts.html">archive</a> — <a href="all_tags.html">all tags</a> — <a href="https://gruos.org/blog/feed.xml">rss</a></div>
|
|
<div id="footer">CC by-nc-nd <a href="https://gruos.org/">G1n</a> — <a href="mailto:g1n@ttm.sh">g1n@ttm.sh</a><br>
|
|
generated with <a href="https://tildegit.org/team/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
|
|
<hr>
|
|
</div>
|
|
</div></div>
|
|
</body></html>
|