Page 1 of 1

[mx] Kernel Release 0.2.7

Posted: Fri Aug 29, 2014 2:23 am
by zhiayang
Not 1.0 yet, but what the heck. After what seems like an eternity (4 years), I finally feel my kernel is stable enough and can do enough things to warrant a post here.
Most recently I've been able to port sortie's libz as well as libpng to userspace. I tried to port freetype but that failed, so in the interim I'm using the public domain STB_TrueType.h library.

Some details about [mx]:
- x86_64 only, I might look into other arches eventually
- All the usual mundane kernel stuff: memory management, multitasking yada yada
- FAT32 RO driver using ATA DMA.
- Custom written libc, with the occasional code 'borrowing' from sortix libc (:
- OS-specific toolchain of course, with libstdc++ support

I actually learned a great deal about C/C++ (especially the lower level stuff) through OSDev, so I'm somewhat proud I have reached a decent standard (to warrant a post here) after like 4 years. I remember my first kernel (even though I'd rather not, I deleted all traces of it from everywhere), it was utter rubbish.
As sortie once said:
sortie wrote: Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road.
The git repo is available at https://bitbucket.org/requimrar/mx. It contains a 'bootstrap script' that will fully setup a working environment to build and test the kernel. Simply run it with

Code: Select all

./bootstrap $SIZE_OF_DISK_IMAGE
Although the disk image part is made for OS X only.
And now, a screenshot:

Image

Thank you!

Re: [mx] Kernel Release 0.2.7

Posted: Fri Aug 29, 2014 6:43 pm
by max
Hey!
requimrar wrote:OS-specific toolchain of course
hehe, too many people don't value that. ;)

Couldn't look into the sources in detail yet, is it a microkernel? Where's your drivers & stuff running, how does the userspace startup until it shows that nice freetype message?
I've been osdeving for 4 years now too (with some pause), and started a complete rewrite at the start of this year. So I kinda know what you mean :P

Nice work, keep it going 8)
Greets, Max

Re: [mx] Kernel Release 0.2.7

Posted: Fri Aug 29, 2014 11:19 pm
by zhiayang
max wrote:Hey!
Hello!
max wrote:Couldn't look into the sources in detail yet, is it a microkernel? Where's your drivers & stuff running,
Well the original kernel (pre-rewrite) was intended to be a monolithic kernel, then in the middle I kinda thought eh, why not make a microkernel. Thus I started putting in bits of code that would eventually facilitate such a transition.

Since [mx] is just a partial rewrite of the previous kernel (mostly the FS layer), it's not really a microkernel just yet.
max wrote: how does the userspace startup until it shows that nice freetype message?
The userspace is just loaded from disk, with the FS drivers being part of the kernel. Also it's not freetype, since I couldn't get that to work.

max wrote: I've been osdeving for 4 years now too (with some pause), and started a complete rewrite at the start of this year. So I kinda know what you mean :P

Nice work, keep it going 8)
Greets, Max
Thanks!