don't click here

OnyxOS

Discussion in 'Technical Discussion' started by Revival, Sep 15, 2008.

  1. Revival

    Revival

    The AppleTalk Network System Member
    200
    0
    16
    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:
    [​IMG]
    For anyone who doesn't know, QEMU is an x86 PC emulator.
     
  2. Overlord

    Overlord

    Now playable in Smash Bros Ultimate Moderator
    19,382
    1,036
    93
    Long-term happiness
    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.
     
  3. Arthas

    Arthas

    Member
    4
    0
    0
    Gonna want to try this when you release... Any plans for X11 support, eventually, of course (or if other people decide to help)?
     
  4. Revival

    Revival

    The AppleTalk Network System Member
    200
    0
    16
    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.
     
  5. Techokami

    Techokami

    For use only on NTSC Genesis systems Researcher
    1,374
    84
    28
    HoleNet!
    Sonic Worlds Next
    Oh wow, this is rather impressive.
    Mind showing anything else? I'm curious as to what the CLI looks like.
     
  6. Revival

    Revival

    The AppleTalk Network System Member
    200
    0
    16
  7. Techokami

    Techokami

    For use only on NTSC Genesis systems Researcher
    1,374
    84
    28
    HoleNet!
    Sonic Worlds Next
    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
     
  8. Revival

    Revival

    The AppleTalk Network System Member
    200
    0
    16
    <!--quoteo(post=225887:date=Sep 16 2008, 12:02 PM:name=Techokami)--><div class='quotetop'>QUOTE (Techokami @ Sep 16 2008, 12:02 PM) [​IMG]
     
  9. Techokami

    Techokami

    For use only on NTSC Genesis systems Researcher
    1,374
    84
    28
    HoleNet!
    Sonic Worlds Next
    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.
     
  10. Shibunoa

    Shibunoa

    Banned
    329
    0
    0
    Italy
    Wow, this looks good! If you want some help with something, feel free to ask me.
     
  11. Revival

    Revival

    The AppleTalk Network System Member
    200
    0
    16
    I plan to use the Poetic License, which is similiar to the BSD license, but in a poetic form:
     
  12. Techokami

    Techokami

    For use only on NTSC Genesis systems Researcher
    1,374
    84
    28
    HoleNet!
    Sonic Worlds Next
    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?
     
  13. Shibunoa

    Shibunoa

    Banned
    329
    0
    0
    Italy
    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.
     
  14. Revival

    Revival

    The AppleTalk Network System Member
    200
    0
    16
    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.
     
  15. Yuzu

    Yuzu

    Member
    2,551
    52
    28
    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! ;)
     
  16. Arthas

    Arthas

    Member
    4
    0
    0
    Hahaha, that sure is a creative way to word your license. Looking forward to this.
     
  17. Techokami

    Techokami

    For use only on NTSC Genesis systems Researcher
    1,374
    84
    28
    HoleNet!
    Sonic Worlds Next
    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?
     
  18. GerbilSoft

    GerbilSoft

    RickRotate'd. Administrator
    2,972
    85
    28
    USA
    rom-properties
    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.
     
  19. Techokami

    Techokami

    For use only on NTSC Genesis systems Researcher
    1,374
    84
    28
    HoleNet!
    Sonic Worlds Next
    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
     
  20. Revival

    Revival

    The AppleTalk Network System Member
    200
    0
    16
    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.