UpFront

diff -u: What's New in Kernel Development

Zack Brown

Issue #133, May 2005

Wichert Akkerman, the former Debian Project leader, noticed some pretty weird behavior under 2.6.10-ac10. Doing a df command, he found that his disk usage was reported to be -73786976294838127736. Suspecting an error, he posted to the linux-kernel mailing list, but although several folks offered speculation on what had happened, Wichert had fixed the problem with e2fsck and was unable to do further tests to confirm one explanation or the other. This sort of thing happens from time to time—a strange, unexplained anomaly. Maybe it will appear again in some later kernel version and be diagnosed, or maybe it was a hardware glitch.

Mitch Williams recently found that files in SysFS could not be appended to. Any attempt to do so would overwrite the old data with the new. Even opening the file and seeking to the end before writing would have the same effect. Greg Kroah-Hartman confirmed that this was not at all the intended behavior, especially considering that SysFS would overwrite the data without giving any error message. Mitch had a patch ready to correct both cases—appending and seeking—and after some small patch-splitting discussion with Greg, it looks as though SysFS's behavior will change so file operations appear more normal.

A new security@kernel.org mailing list has been created. The purpose of this list is to receive reports of security exploits before they become commonly available, so the Linux developers can create and distribute fixes before attackers can create and deploy attacks. One of the features of this list is that subscription is by invitation only, and the archives are not made immediately available, as they are with the regular linux-kernel mailing list. Linus Torvalds, who has said he personally would much prefer a completely open style of development, has joined the list, with the idea that the greater secrecy urged by folks like Marcelo Tosatti regarding nonpublic security issues might turn out to be a good idea after all. In any event, he's willing to try it and see. This sort of issue inevitably will be controversial, especially among strong advocates of the open-source development model.

Jake Moilanen has created a genetic algorithm library within the kernel to help tune the input/output scheduler, as well as the process scheduler. Traditionally, these schedulers (especially the process scheduler) have been notoriously difficult to get right, because of the tremendous variety of user behavior. How can developers be sure that any particular algorithm will work best under any particular set of user activities? Really, they can't. Something like Jake's work, if feasible, could pave the way for an entirely new method of tuning kernel parameters. At the same time, genetic algorithms tend to be unpredictable in their results, and unpredictability is not necessarily desirable in a kernel. I imagine developers would be resistant to including this sort of patch unless it could produce very large and measurable performance improvements. Even then, they might want to include only the results of the genetic tuning and not the actual genetic algorithm itself. Time will tell.

In the saga of Software Suspend, Pavel Machek recently enabled swsusp for SMP machines. Before now, this had not been supported, but apparently starting with 2.6.11 it should be possible to use Software Suspend successfully on SMP systems. Little by little, the swsusp code advances, and the controversy and acrimony of competing code bases that we saw over the past year is starting to fade away. Of course, Software Suspend is an inherently tricky problem, because some hardware simply won't cooperate. In such situations controversy will be inevitable, and the difficulty of knowing the best way to tackle a given problem tends to become a question of unpleasant trade-offs. But, swsusp certainly is looking very promising right now.

There's been a lot of maintainership activity recently among new and existing kernel projects alike. Andrew Vasquez is now the official maintainer of the QLogic QLA2XXX FC-SCSI driver. Tony Luck has taken over IA-64 maintainership from David Mosberger-Tang. Matthias Kunze has taken over the apparently unmaintained Enhanced Linux Progress Patch and forward-ported it to 2.6.10. Adrian Bunk has taken over the util-linux project from Andries Brouwer, after Andries had put out a call for a new maintainer back in September 2004.

Related to the issue of maintainership, the MAINTAINERS file may start identifying mailing lists that can receive posts only from subscribers. Traditionally, Linux development lists are open to all posters to encourage bug reports from as many users as possible, but not all kernel-related projects agree with this policy. For those who don't, folks like Domen Puncer have been submitting patches to identify those lists as subscriber-only. Earlier, Domen had tried removing mailing lists like the linux-arm-kernel list from the MAINTAINERS file for this reason, but after some negative feedback from folks like Alan Cox, he opted for his current approach instead.

Freedom-Compatible HDTV Boxes: Time Is Running Out

Don Marti

Issue #133, May 2005

Linux user group mailing lists are buzzing with announcements for personal video recorder “Build-Ins”. The Electronic Frontier Foundation (EFF) has put together easy-to-follow instructions for turning a PC plus a high-definition TV card into a Linux-based personal video recorder, using Knoppix and MythTV.

Seth Schoen wrote about the threat of the proposed Broadcast Flag regulation two years ago in Linux Journal. Unfortunately, for anyone interested in Fair Use or do-it-yourself HDTV projects, the US FCC adopted the regulation, which will put draconian “robustness” requirements on any device that handles an HDTV signal, in effect making it illegal to support a GPL device driver. The regulation is scheduled to go into effect on July 1, 2005.

The EFF, along with other organizations including the American Library Association, Consumers Union and the Medical Library Association, has filed a lawsuit to challenge Broadcast Flag. Lawyers for both sides argued the case before the US Circuit Court of Appeals for the District of Columbia in February 2005.

Instead of biting your nails waiting for the courts, get parts and build a PVR while you still can. Turn your friends who want a cool system like yours into technology freedom supporters. One group, Bay Area Debian, turned the “build-in” into an excuse for a group trip to Fry's, the discount electronics store where aisles sometimes turn into informal peer-to-peer Linux hardware support seminars.

Check out the EFF's Broadcast Flag page. Their “cookbook” is a great first family Linux project: eff.org/broadcastflag.

To order your pcHTDV card ($169.98 US), visit www.pchdtv.com.

Best Network Pickings

Doc Searls

Issue #133, May 2005

Netapplet is a neat little network interface control applet that lets users select networks and interfaces. Because the air in most civilized places is now thick with Wi-Fi signals, available networks are represented by horizontal bars representing signal quality and handy little padlock icons representing WEP locks. That means you can warwalk (or wardrive, or warfly) and select open networks on the fly. This makes it a must-have app for every mobile Linux user.

It was written, coincidentally, by contributing editor Robert Love, along with his colleague Joe Shaw, but I discovered it while walking the floor at the latest LinuxWorld Expo, looking for cool stuff. It was the coolest thing I saw at the show.

Robert points out that netapplet has a few other neat features too. It automatically will fall back to a new wireless network when your current network goes away. It stores WEP keys in an encrypted gnome-keyring for automatic reconnection and works around a bunch of wireless driver bugs to make the experience better.

By the way, it works with wired networks and PPP dial-up connections as well.

Robert (who wrote Linux Kernel Development and works for Novell) wrote netapplet for SUSE, but packages are available for other distros.

More information is available at primates.ximian.com/~rml. .

On the Web

  • If you're curious about how Joe Ruffolo and Ron Terry used the various open-source software mentioned in their article (page 82) to connect the Utah College of Applied Technology satellite campuses, see their follow-up Web article, “A Reading List for Linux in the Classroom” (www.linuxjournal.com/article/8124). There, they point to good sources for more information on Samba, OpenLDAP and other software, so you can do your own project.

  • Didn't make it to Germany for CeBit 2005? We didn't either, but Stefan Cars did. Check out his show review, “CeBit 2005: On the Scene in Hannover” (www.linuxjournal.com/article/8125), to see what you missed. And with “6,207 exhibitors (52% from abroad) and a net display area of 309,000 square meters”, we're guessing you missed a lot.

  • Our Web article series on embedded development wrapped up recently with “An Introduction to Embedded Linux Development, Part 4” (www.linuxjournal.com/article/8122). In the final installment, Ben Anderson and Richard Sevenich discuss how to use the Background Debug Mode provided in Motorola processors. Meanwhile, Larry Finger wraps up his Web series with “Linux in a Windows Workstation Environment, Part 3” (www.linuxjournal.com/article/8126), a description of using “our Linux server to provide VPN tunnels that secure our users' transmissions over a Wi-Fi network that is required to be unsecure”.

Ten Years Ago in Linux Journal

Don Marti

Issue #133, May 2005

Internet services were the flavor of the month for the May 1995 issue, and Eric Kasten covered the basics of setting up the CERN and NCSA Web servers. Hacking the source to fix a vulnerability listed on CERT, along with editing the Makefile, were key steps for getting the latter going.

Piers Cawley covered setting up the Majordomo mailing-list manager, including how to add a patch to force Majordomo to send out a digest if messages are sitting around for too long. Daniel Hollis covered setting up a Linux server for an ISP. The hardware included an Intel 486DX4/100 processor, a 16-port serial card and 28.8k and 14.4k modems.

Walnut Creek CD-ROM advertised a two-CD Slackware set. The minimum memory requirement was 4MB, and according to the ad, a “typical installation” with development tools, Sendmail and X would require about 40MB.

Finally, Linus Torvalds released Linux 1.2.0 with a parody of Microsoft licensing terms, including the “I've got too much money” license. The real license in the actual code stayed GPL, of course.

They Said It

Life's too short for single-source software.

—Bdale Garbee (at OSDL conference, Feb 2, 2005)

This really is the future I wanted. Although I expected longer battery life.

You can't regulate washing machines. You can't rule the world.

—Judge David Sentelle, District of Columbia Circuit Court, on the FCC Broadcast Flag regulation (as reported by Declan McCullagh of CNET, news.com.com/Court+questions+FCCs+broadcast+flag+rules/2100-1030_3-5585533.html)

Teach a man to use the Internet and he will leave you alone.