Okay folks, this is a very temporary site until we get something proper up here. You can get the very latest version of the GiX source here.
IMPORTANT: GiX is in very early stages, in other words, you won't have much fun with it. Please, only consider downloading & trying to "use" it if you plan on contributing to it (or if you're mad or something ;)). We won't be able to help you much, though especially if you're on Linux (which makes building the OS much easier), you might give it a try anyway, so we can see whether it "works" on a wide variety of platforms or not - we might have overlooked some things which cause crashes on hardware that we can't test on.
However, we will probably set up a mailing list for development & announcements soon. If you're interested in the progress of GiX, step by in the future and join the mailing list...
Howto build GiX
Discussion on IRC
GiX is (or rather, will be) an open-source desktop operating system for the Intel IA32 architecture - in other words, for 80386 and everything above, up to the latest Pentiums and AMDs.
The kernel will be very modular, though oriented a bit along the lines of the Linux kernel. We're planning to have a more or less POSIX-compatible interface, so the huge amount of free Unix software can be used on GiX.
As GiX is a desktop operating system, it will not have a textmode shell, though you will be able to run bash or similar in a terminal emulation environment.
GiX will offer a protection system for private data and system files using
Access Control Lists. However, we will assure that people
who are logged in on the physical machine may login without a password (if the system
administrator allows it).
To prevent mistakes by beginners, users will normally login as non-root (i.e. without administrator privileges), however, they will be able to simply switch to root privileges after a warning messages if they are logged in on the physical console (unless, of course, the administrator has deactivated this option).
For now, GiX uses the ext2 filesystem, as used by almost all Linux installations.
Currently, GiX consists of nothing more than a bootloader for ext2 partition (no loader similar to LILO required) which only works for floppies, as well as the basics of the kernel. However, this should change fast (I hope ;)). The following things are planned next (in order):
1. Fixup of bootloader & module support (half-done)
2. Filesystem support (and floppy/hdd drivers)
3. Graphics drivers and the first user-level programs
1. Howto build on Windows
You can download the current source here.
- kmalloc code looks pretty stable now
- boot.inf format has changed
- the bootloader now supports files >12KB
- first traces of module support can be seen ;)
My main development platform is Linux so it's a bit easier to build GiX on Linux. Actually, it should be pretty easy.
First of all, make sure you have a sane Unix build environment. You'll need all the standard tools like GCC, Make, Binutils, etc... Check out the GNU website for information on these tools.
Second, get NASM, the assembler used for GiX. Instructions on how to download and install it are available on their homepage.
Third, download the latest source of GiX and extract it using:
tar -xzf gix-current.zip
in your shell (or use one of the many graphical archiving tools).
Get yourself a floppy formatted to ext2 (you might have to use mke2fs /dev/fd0 if you don't already have an ext2-formatted floppy), and make sure you've got access rights to /dev/fd0. You need to be able ot mount as well as write directly to the floppy.
IMPORTANT: The GiX Makefile assumes that your floppy is /dev/fd0, and that it is automatically mounted to /floppy (check your /etc/fstab). If this is not the case, you need to modify GiX/boot/Makefile and GiX/kernel/Makefile. This obviously needs a cleaner way of doing it... *sigh*
Then just change into your GiX directory and just run:
It should compile/assemble several source files and copy the results to your floppy. You've made it! The floppy is now prepared to boot to GiX!
Now it's very uncomfortable to reboot your machine every time you make changes to the kernel. That's were virtual machines rule... I suggest you take a look at Plex86/Bochs, a free, open-source virtual machine for Linux. There's VMWare as well, but you'll have to pay a lot of money for it (or warez it...) after an evalutation period of 30 days.
I will put some more info on Plex86/Bochs here when I get the time.
Sorry, I only have Linux, so I can't help you here. However, I think I can give you some pointers:
You definitely need NASM
Check out CygWin for info on Gnu tools ported to Windows
|gix-current.zip||The most-uptodate version|
|gix-image.144.gz||A bootable floppy image (state of 8.4.2001)|
|gix-010408.tgz||Now featuring new bootloader code.|
|gix-010401.tgz||The April's Fools snapshot. Don't worry, there's nothing remotely funny about this...|
There's an IRC discussion channel on GameDev's new IRC network. If you don't have an IRC client yet, get Mirc for Windows or XChat for Linux. Once the DNS is fully working you should be able to connect using irc.gamedev.net. For now, connect to server firahs.gamedev.net, and join channel #gix. In your IRC-client, type:
/server irc.gamedev.net /j #gix
We're looking forward to seeing you there!
Some links describing OS guts and hardware in general: