[mx] Kernel Release 0.2.7

This forums is for OS project announcements including project openings, new releases, update notices, test requests, and job openings (both paying and volunteer).
Post Reply
User avatar
zhiayang
Member
Member
Posts: 368
Joined: Tue Dec 27, 2011 7:57 am
Libera.chat IRC: zhiayang

[mx] Kernel Release 0.2.7

Post 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!
User avatar
max
Member
Member
Posts: 616
Joined: Mon Mar 05, 2012 11:23 am
Libera.chat IRC: maxdev
Location: Germany
Contact:

Re: [mx] Kernel Release 0.2.7

Post 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
User avatar
zhiayang
Member
Member
Posts: 368
Joined: Tue Dec 27, 2011 7:57 am
Libera.chat IRC: zhiayang

Re: [mx] Kernel Release 0.2.7

Post 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!
Post Reply