This forums is for OS project announcements including project openings, new releases, update notices, test requests, and job openings (both paying and volunteer).
After many years of reading the forums, I've finally registered an account and thought I'd introduce myself and my latest kernel project 'fuze2'. This is my 2nd significant attempt at a monolithic unix-like kernel for x86 (how many people stopped reading after that line ).
After a couple of months of playing with it on/off it is able to execute a statically linked ELF binary from an ext2 filesystem.
Features all the usual stuff, demand paging (with C-O-W), VFS with ext2 read-only support etc etc.... It's a hobby project so progress is slow. My main aim is to get it self-hosting as quickly as possible with minimal legacy stuff implemented. Long term aim is stable kernel + GUI.
I have no idea when I'll release source and binaries, but it will be GPL'd.
The screenshow below shows it demand paging a 'Hello, world!' binary.
Looks like you've got a lot of the support/background stuff done thoroughly and thought about the design - I'll be interested in following your project.
The screenshot below is really messy. Black text is kernel output, green/blue is userland. If you look closely you can see the bash prompt and the result of 'echo $PATH'. The GPF at the end is because exit() returns as it's not implemented (I'm so lazy....)
Looks good! To make output a bit less messy, why don't you push kernel output onto a serial port or something? I have most of my kernel's output going to serial port, in particular debug output. Only important kernel messages go to the screen.
I've been banging out code recently and implemented a few more features.
Newlib's getcwd() can now work out the working directory via sys_stat/sys_getdents calls. Bash is also able to fork/execve/wait and return successfully. I'm trying to debug a race after a fork that's causing the child to die immediately (sometimes)
I've decided the first public release will be when the kernel is able to compile itself. I was also considering releasing the source into the public domain. The reason being there are already more than enough (better) Unix kernels under various licenses. In order for this to be the slightest bit useful it might as well be unencumbered.....I do it only for the love
On a side note, has anyone succesfully compiled the GNU coreutils package with newlib??