This isn't a genesis related project, however, some people may consider making an OS some form of hacking, so I'll post it here anyway. OnyxOS is my newest project. As the name suggests, it's an operating system, based on a modular hybrid kernel also coded by me and under development for x86 and x86_64. It's UNIX-like, so Linux users should recognize a lot of how it works very quickly, the filesystem layout is similiar to the standard for UNIX-like OSs but with only virtual directories (/dev, /proc, /mnt) in the root, the main filesystem is mounted at /system. I hope to get a release made by the end of the year, hopefully by then the issues with my HDD driver (inability to read files properly) will be fixed. I have a screenshot, too: For anyone who doesn't know, QEMU is an x86 PC emulator.
Have you written this entirely from scratch or are you using GPL/BSD code? I only ask as a friend of mine was writing an OS for x86 and he never got anywhere NEAR the stage you seem to be at in a year or 2 of coding.
Gonna want to try this when you release... Any plans for X11 support, eventually, of course (or if other people decide to help)?
I used some tutorials to help & borrowed someone elses BSD-licensed keyboard code, but that was all. It seems hard, but it's actually the theory that counts mainly, not the code. As I've got VESA graphics support, I might see if it can be ported, in the future.
Oh wow, this is rather impressive. Mind showing anything else? I'm curious as to what the CLI looks like.
<!--quoteo(post=225884:date=Sep 16 2008, 11:52 AM:name=Techokami)--><div class='quotetop'>QUOTE (Techokami @ Sep 16 2008, 11:52 AM) The shell running in the screenshot is Slosh, or Super Lightweight Onyx SHell. For any UNIXers who are interested in my directory structure, the root filesystem is mounted at /system, and the devfs (/dev) and virtual directories (/proc, /mnt) go in the root.
Ahh, you made your own shell, too. Does it support any scripting? How many of the basic utilities have you written? I see you have ls and cd done. Also, any details about the API? Hopefully it should be trivial to port Linux code to it. Sorry if I'm battering you with lots of questions, I'm rather interested in this and want to know as much as posible without badgering you for a copy XD
<!--quoteo(post=225887:date=Sep 16 2008, 12:02 PM:name=Techokami)--><div class='quotetop'>QUOTE (Techokami @ Sep 16 2008, 12:02 PM)
Hmm... what license will you be using for OnyxOS? And will it be open source? If it's too early to answer this question, that's fine.
Haha, that's a unique way to write a legally binding document. Also, yay BSD! So let's talk drivers. Will APIs for driver authoring be provided? Will you support the loading of Linux kernel modules for quick driver support? Or will you... not have anything available?
In my opinion, Linux kernel modules support would mess it up completely. It isn't that hard to write a driver for a device if you've got specs, and RTL8139 and PCI CMI8738 or SB128 are easy to find, so you can always use one of those in case you've got a device without specs.
Linux kernel module support will probably not be added, as Linux is incompatible with OnyxOS & it could be hasslesome getting it to work, despite both Linux (mostly) and, to the best of my knowledge, OnyxOS being POSIX compatible, they're still different in many ways. Also, I got an RTL8139 a few weeks ago, and I've got drivers for it working mostly. Drivers can be programmed just as any kernel module, there'll be no API for making drivers for the time being.
Seems really good so far, I really can't wait to see what happens. Wouldn't be nice to see you port or create something like WINE on OnyxOS, if this goes far it's going to replace Ubuntu on my computer Keep up the work!
Dunno if he'd make the port personally (as it would have to be GPL, and OnyxOS is BSD), but since OnyxOS is to be POSIX-compliant, you shouldn't have problems making a port yourself On that note, if there is POSIX compliance, one could theorietically modify the source of an existing Linux driver to make an OnyxOS driver, right?
The license of the OS usually doesn't matter with regards to the license of userspace applications. For example, on Linux, there's no licensing restrictions on all exported userspace API. Kernelspace API, on the other hand, is a different story. Since that directly links to the kernel, licensing problems could come up. Also note that POSIX compliance only applies to userspace, not kernelspace, so Linux drivers won't work on OnyxOS without quite a bit of modification.
Except I quite recall him saying he wanted everything to be his work in the main release, and didn't want to have to isolate it with a LICENSE file. Well fuck me I am a moron There goes my master plan of getting nVidia drivers to compile on OnyxOS
I wouldn't mind using someone elses work being used if it would be public domain & I had no better alternative I made myself, it's just when it's copyrighted and I have to have it all in it's own folder & with a huge notice atop each file. I do attribute anyone who helps, but I prefer to have it not dominate my files and kept to a notice atop each file within the license section. An example of work I didn't do, is the C library, which is derived from PDCLib, it's extremely difficult to code a full C library. OnyxOS is text-mode so it should work with most PC's graphics cards. Also, the experimental work I'm doing with graphics uses VESA BIOS Extensions which are supported on most PCs.