Sortix is a small Unix-like operating system developed since 2011 with emphasis on cleaning up traditional Unix design mistakes while retaining compatibility with third party software. Much third party software has been ported to Sortix and the system is now self-building. The Sortix kernel, standard libraries, and most utilities were written entirely from scratch.
This is the first release that is self-building: All system components (except third party ports) can be fully rebuilt and installed under the system itself. Additionally the entire filesystem support have been rewritten and there is now support for mounting and booting ext2 filesystems (however harddisk images of this release are not available). Finally, a large body of third party software have been ported with varying degrees of stability. If the previous release was the classic 'Asteroids' game, this release is 'Quake'.
Sortix is available for ix86 and x86_64 systems.
Installation and More Information
You can get more information about Sortix at the official website:
http://sortix.org/
You can download Sortix 0.8 for x86 or x86_64 from these locations:
https://cs.au.dk/~sortie/sortix/release/0.8/builds/
You can download the source code for this release (with or without included third party ports) at:
https://cs.au.dk/~sortie/sortix/release/0.8/source/
Or you can simply browse the git repository:
https://gitorious.org/sortix/sortix/source/sortix-0.8
Be sure to read the official user guide at:
/share/doc/user-guide
http://sortix.org/doc/user-guide
https://cs.au.dk/~sortie/sortix/release ... user-guide
Participation in Development
You can either attempt to develop the system using itself (not recommended) or by following this cross-development tutorial:
/share/doc/cross-development
http://sortix.org/doc/cross-development
https://cs.au.dk/~sortie/sortix/release ... evelopment
Development is coordinated in the #sortix IRC channel at irc.freenode.net.
Thanks
This release was primarily developed by me, but we'd like to thank these people for their valuable contributions to this release:
- Juhani Haverinen
- Steve Dougherty
Features
Here is an overview of some of the features in Sortix:
- Everything is part of an coherent whole.
- Homemade kernel.
- Homemade libc.
- NetBSD's libm.
- Homemade shell utility programs.
- Mostly POSIX compatible.
- Shell environment with common Unix programs.
- Documentation and user guides.
- Games (pong, snake, asteroids, quake).
- C and C++ compilers.
- Development headers and libraries are included.
- Text editor.
- System source code is included.
- Ports of third party programs and libraries.
- User-space filesystems.
- ext2 filesystem support.
- mbr partition table support.
- PATA PIO harddisk driver.
- Memory mapped IO.
- Unix sockets.
- Kernel debugger.
- Non-blocking IO.
- Date and time support.
- Process groups.
- chroot.
- BGA graphics driver for virtual machines.
Missing Features
It's important to understand what limitations Sortix has. Most of these areas are being worked on, but their completion was cut from this release.
- Lots of missing features in the shell.
- No desktop environment with a graphical user interface.
- No man pages.
- No mouse driver.
- There is only a single terminal.
- No proper line editing in the shell.
- No SATA harddisk driver.
- No sound drivers.
- No graphic drivers for real hardware.
- No shared memory mapping mappings.
- No networking except Unix sockets.
- No pthreads implementation.
- No #! magic sequence supported.
- No Unicode font rendering.
- No proper terminal implementation (curses is not possible yet).
- No proper signal implementation.
- No real users and groups implementation.
- No dynamic linking.
- And a bunch of bugs.
Known Problems
There's a few important problems that you should know of:
- GRUB may simply lock up with no message if you don't provide enough memory.
- There's no line editing or tab-completion implemented yet.
- Pong, Snake and Conway doesn't work graphics mode and require VGA text mode.
- Changing the screen resolution too much may cause the system to lock up.
- Quake save games doesn't work as printf doesn't support floating point numbers yet, you will be unable to load saved games.
- Quake may crash with a bad free message during normal exit - but this doesn't matter much as you were exiting the game anyway.