Page 1 of 1

Sortix 0.8

Posted: Thu Dec 19, 2013 5:20 pm
by sortie
I'd like to announce the availability of Sortix 0.8, a free Unix-like hobby operating system made from scratch. While originally meant to be short, this has been the longest and most ambitious release cycle so far. Almost all system components have received a major overhaul with countless improvements.

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
And of course all the people that helped test the release and gave advise.

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.
Naturally, this is hardly all of the features. You should read the user guide for a list of features and how to use the system.

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.
Nonetheless, the underlying system is advanced and the standard library implements enough standard interfaces that has been possible to port a large amount of third party software.

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.

Re: Sortix 0.8

Posted: Fri Dec 20, 2013 3:23 am
by pcmattman
Fantastic work :) Sortix is quite impressive indeed, and it looks like the hard work and pain has definitely paid off!

Re: Sortix 0.8

Posted: Fri Dec 20, 2013 8:40 am
by Brynet-Inc
IMHO you should just distribute this as Bootable Quake.

I mean cool, but I'm spoiled by tab completion.