Category Archives: GPUL

User-mode Linux and skas0

User-mode Linux (UML) is a port of Linux to its own system call interface. In short, it’s a system that allows to run Linux inside Linux.

UML is integrated in the standard Linux tree, so it’s possible to compile an UML kernel from any recent kernel sources (using ‘make ARCH=um‘).

Traditionally, UML had a working mode which was both slow and insecure, as each process inside the UML had write access to the kernel data. This mode is known as Tracing Thread (tt mode).

A new mode was added in order to solve those issues. It was called skas (for Separate Kernel Address Space). Now the UML kernel was totally inaccessible to UML processes, resulting in a far more secure environment. In skas mode the system ran noticeably faster too.

To enable skas mode the host kernel had to be patched. As of September 2006, the latest version of the patch is called skas3. The patch is small but hasn’t been merged in the standard Linux tree. The official UML site has a page about skas mode that explains all these issues more thoroughly.

However, by July 2005 a new mode was added to UML in Linux 2.6.13 called skas0 (which, for some reason, isn’t explained in the above page). This new mode is very close to skas3: it provides the same security model and most of its speed gains. The main difference is that you don’t need to patch the host kernel, so you can use a skas-enabled UML in your Linux system without having to mess with the host kernel. The patch is explained in the 2.6.13 changelog or in this article.

A skas0-enabled kernel boots like this:

Checking that ptrace can change system call numbers...OK
Checking syscall emulation patch for ptrace...OK
Checking advanced syscall emulation patch for ptrace...OK
Checking for tmpfs mount on /dev/shm...OK
Checking PROT_EXEC mmap in /dev/shm/...OK
Checking for the skas3 patch in the host:
  - /proc/mm...not found  
  - PTRACE_FAULTINFO...not found
  - PTRACE_LDT...not found
UML running in SKAS0 mode 
...

mpg123 is back!

After several years of halted development, the classical mp3 player mpg123 is back. Original author Michael Hipp stopped working on it around year 2000, but now Thomas Orgis has continued its development and finally the first beta releases from the new version are out!

mpg123 was one of the first mp3 players for Unix systems, and it was famous for its low CPU requirements. Even nowadays it’s probably the most resource-efficient mp3 player available. The core of mpg123 was also used for mp3 decoding in many other programs, such as XMMS.

Last but not least, mpg123 is licensed under the LGPL. This is good news, since older versions of this software had a non-free open-source license (well, this is actually not news as the license changed some years ago during the development hiatus, but AFAIK this is the first version released as free software).

It’s good to see old friends back again 😉

An effervescing elephant …

Open source software keeps going strong! Elephants Dream is a short film (about 11 min.) made with open source software and freely available for everyone!

Elephants Dream is the world’s first open movie, made entirely with open source graphics software such as Blender, and with all production files freely available to use however you please, under a Creative Commons license.

Congratulations to all the authors!!