[LWN Logo]
[LWN.net]

Sections:
 Main page
 Security
 Kernel
 Distributions
 Development
 Commerce
 Linux in the news
 Announcements
 Linux History
 Letters
All in one big page

See also: last week's Kernel page.

Kernel development


The current kernel release is still 2.4.1. Linus's 2.4.2 prepatch is up to 2.4.2pre3; there is, as he put it, "nothing too radical" there. 2.4.2pre2 had been a bit more radical, however, with the addition of support for an entirely new architecture: a port to the Axis ETRAX 100LX embedded network CPU. Alan Cox, meanwhile, is up to 2.4.1ac13; this patch contains much more stuff.

On the 2.2 front, work toward the 2.2.19 release continues with 2.2.19pre12. There has been no word on when the stable release might happen.

Zero-copy networking encounters the powder rule. David Miller has released yet another version of his zero-copy networking patch. He claims to be happy with this one: there are "no known bugs" at this point. There does remain, however, a performance penalty for normal network writes that do not use the zero-copy mechanism; that is something they plan to work on in the future.

For the moment, however, David has invoked the "powder rule": six feet (just under 2m for you non-US folks) of new snow at Lake Tahoe means that not much work is going to get done for a while. All is not lost, however; David will be taking his laptop and working on the code when the lifts are not running...

Cool tool: User-mode Linux. A useful tool which has been around for a while now, but which, perhaps, has not received the attention it should is User-mode Linux. This package, which goes by the acronym UML (despite the possibility of [UML logo] confusion with the Unified Modeling Language known to object-oriented designers), should be in the toolkit of just about anybody who likes to play with kernels or with the Linux system in general.

UML, technically, is a port of the Linux kernel to a new architecture. Most ports move the kernel to a new processor; the UML port, instead, uses the Linux system call interface as its "instruction set." Thus, the UML kernel will run underneath an existing Linux kernel. It runs as a set of user processes, and pops up one or more xterm windows as its virtual consoles. Its "disk drives" map to files on the filesystem.

Why is this interesting? Consider some of the things that can be done with User-mode Linux:

  • It is a beautiful environment for many kinds of kernel hacking. A UML kernel that crashes can not corrupt a real system, so recovery is quick. Even better, though, is the fact that every process running on the UML kernel is, in fact a process on the host system. Thus, those looking to debug weird problems need only point their favorite interactive debugger at the right process. For many problems, the need for lots of printk() calls or for kdb and its low-level interface is past.

  • Experimenting with new distributions. The system running under the UML kernel need not run the same distribution as the host system. In fact, the UML distribution provides root disk images for several distributions. It's a trivial task to boot up a new distribution and see what it looks like without needing to actually go through an installation or risk what you currently have installed.

  • Trying out other software. If you're not sure what a program might do to your system, you can install it on a UML system and find out. Even the nastiest of malware will be hard put to escape from the UML jail.

  • Playing with network services. UML includes a virtual network interface which can be connected to other running UML kernels, thus allowing the creation of a virtual network on a single host. Want to play with networking code on an unattached laptop in a ski lodge? With UML, you can.

UML in its current form still has some limitations. It can not, for example, simulate a multiprocessor system - a feature that would be nice for many developers. There is also no way, currently, to give a UML kernel controlled access to a real device on the host system, meaning that UML is still not all that useful for developing device drivers. UML developer Jeff Dike tells us that both of these capabilities are on the wishlist, with SMP simulation being at the top.

Currently, UML exists as a separate patch to the Linux kernel. The word is that both Linus and Alan Cox would like to see it added to the mainline kernel tree, however. Mr. Dike hopes to see it go into 2.4 before the next development series starts. As a separate "architecture," UML should be relatively easy to add, even to a stable kernel series, without creating problems.

IBM open-sources Mwave modem driver. The IBM Mwave ACP modem page shows that, as of today, the driver for these "WinModems" is now available under the GPL. This modem is used in IBM ThinkPad 600E systems. It's taken a long time, but WinModems are increasingly supported devices on Linux. (Thanks to Thomas Hood).

Other patches and updates released this week include:

Section Editor: Jonathan Corbet


February 15, 2001

For other kernel news, see:

Other resources:

 

Next: Distributions

 
Eklektix, Inc. Linux powered! Copyright © 2001 Eklektix, Inc., all rights reserved
Linux ® is a registered trademark of Linus Torvalds