UpFront

diff -u: What's New in Kernel Development

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.

Ten Years Ago in Linux Journal

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.

Best Network Pickings

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.

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”.

Freedom-Compatible HDTV Boxes: Time Is Running Out

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.