|This page is part of a series on Guides.
As with any open source project, it's hard to know how to actually get involved with the project. We'd like to make that as easy as possible. We'd love your contributions!
The easiest way of getting involved with XOmB is to use it. Well, actually, it would be the easiest, if XOmB was ready for general use. Unfortunately, we're not quite there yet. So this will have to be a little sparse for now.
Getting involved with XOmB development is a little complicated, but it is not too bad. It takes a lot of different tools to develop an OS; we've written guides for most of them on this wiki.
Getting the Source
This section may contain information that is in a state of flux. If something doesn't quite seem right, join the IRC channel #xomb on Freenode and ask someone.
$ git clone http://github.com/xomboverlord/xomb.git
to clone our repository. However, if you're going to contribute back to XOmB, it's much simpler to sign up for a free account, and once you're logged in, fork our repo. This lets you contribute code back easily. After forking, type this:
$ git clone email@example.com:$YOUR_USERNAME/xomb.git
to clone your own repository.
Next, you'll need to set up all of the various Open Source Software We Use for Development. See that page for details, as there are a lot.
We've built a little repo for your convenience, if you'd like to try it.
$ git clone https://github.com/xomboverlord/buildtools.git $ cd buildtools $ ./build.sh $ pwd take that value, add '/buildtools/local/bin' to it, add it to your PATH, probably by editing your .bashrc $ source ~/.bashrc
aaaand you're good to go!
So you have downloaded all the build tools and the XOmB source. How do you build and run it? (NOTE: it's required to build the kernel once before trying to build it all using the build.sh script in the root folder)
Currently, XOmB only supports x86_64, while the XOmB Bare Bones project supports both 32 and 64 bit x86.
./configure.sh [your architecture i.e. x86, x86_64]
to build all applications run:
to build specific userspace applications (such as the XOmB shell, xsh)
cd ../runtimes/mindrt; make
cd ../runtimes/dyndrt; make
cd ../../app/d/xsh; ./build
Then you must update init, which the other files are embedded in.
cd ../../../app/d/init; ./build
Rebuilding the kernel updates the .iso with the latest init and XOmB kernel
cd ../../../build; ./build
Howerver, it is strongly recommended that you use simply the main build.sh script, especially if you are modifiying multiple components.
For faster emulation, without debugging support (if you have hardware virtualization)
qemu -enable-kvm -cdrom xomb.iso
Okay, so you've developed something new and awesome. How can you give back to the project? Well, we only use the xomboverlord account as a public central account, so you'll have to send wilkie a pull request via a message.