Articles / The Plumber's View of the K…

The Plumber's View of the Kernel

If Linux is to become a more popular OS on the home and small office desktop, it needs to become friendlier not just to the people who use it there, but also to the people who help them when they run into trouble.My original intention for this editorial was to write "What's In It for Me?", my thoughts about what the new features of the 2.4 kernel mean to me and whether or not I will be rushing to upgrade. (Answer: Of course not, silly; I have to preserve my uptime!)

But there's really nothing I want to say about that. As Hemos says, "It's just a kernel." As I look down the features list, there's nothing that stirs my soul. devfs? Ok, that's kind of cool. Nothing I'd go to war over. iptables? Great; I get to learn how to set up masquerading for the third time. I can mount my filesystems more than once now? Well, ok... S/390 support? Well...

I decided that instead of talking about my current relationship with the current kernel, I'd talk about the relationship between the kernel in general and the type of person I was a few years ago.

A few years ago, I was a computer handyman. I had a dozen regular customers who called me whenever they had a problem with their machines. When their pipes started flooding their basement, they called the plumber. When their printer stopped printing, they called me.

It's All About The Desktop, Baby

If I understand his various "It's the desktop, stupid" comments, I believe Linus is in favor of a penguin in every home. I don't think it's just the corporate desktop he wants to conquer with world domination, but the home and small office desktops as well. In the long run, that may mean Linux running in every refrigerator, but for the foreseeable future, it has to include more tradition Linux usage.

I've previously said that I think the plumbers of the computer world will be around for the foreseeable future. Network appliances may snowball, but the PC won't become extinct overnight. As long as those PCs are around, someone needs to maintain them. People who don't want to be bothered with learning to fix them (any more than I want to learn how to fix my furnace) will get the kid next door or, if it makes them feel better to pay someone and hope thereby to make him more accountable, someone like me.

As long as people use PCs, there will be a market for the skills of technophiles who can make housecalls at homes and small offices to fix quick problems. These people would like to be working with Linux, and I think it should be made as easy as possible for them to do so.

Let's set aside the matter of adoption, and just assume that I, the plumber, have convinced at least some of my clients to let me install Linux on their machines. What are my demands? What do I need from the kernel and the people who package it and the software surrounding it?

Be forewarned that some of these demands may be completely unreasonable. Sorry about that. I'm a user. Making unreasonable demands is our job.

Drivers Must Appear With the Hardware

Demand #1: I want a Linux driver available for every piece of hardware on sale at CompUSA.

A common request made to plumbers is "I bought this digital camera/PDA/modem/programmable toothbrush at CompUSA yesterday. Please install it on my computer."

Many times, a client will just say she needs x, and you can stop on the way to her home and buy y brand of it, making a choice based on known Linux support. Other times, the choice is already made for you, and you have to do what you can with it. Unfortunately, sometimes the best you can do is ask "Say, do you still have the receipt for this?..."

Doing this casts a lot of questions on your head. "Why do you have to take it back and exchange it? What's wrong with it? It's the same one my friend Buffy bought, and hers works fine. Are you sure you know what you're doing? Maybe installing Linux was a mistake... You're not going to buy a more expensive one, are you? What do you mean you have to buy another modem? What's wrong with this 'Winmodem' that came with the computer?"

Supporting Windows may be unending misery, but at least when you buy hardware, there's a floppy or CD in the box with a Windows driver. It may not work (e.g., the HP combo printer/fax/scanners), but at least it's there. A Linux driver should be readily available as well, either on the CD in the box or on the Net or in the kernel. (This is an application problem, as well. For digital cameras, the kernel team just has to make sure USB is working, then we have to make sure gphoto supports every camera in existence.)

Sometimes the problem is not getting the hardware to work under Linux, but to make it work as well as it does under Windows. I bought a Visor Deluxe a couple of weeks ago, and last night I learned that it is indeed necessary to back it up from time to time. Luckily, I had just checked off most of the items on my todo list before the Visor locked up. When it finally came back to life, it displayed a message something like "Press the Address Book button to delete all your data, any other button to continue." I did what I thought was the correct thing (I'd like to go back now and confirm exactly what that message said), but the list of applications appeared with only the factory-installed apps showing. ALL MY DATA ARE BELONG TO VISOR.

I went back to the Web, grabbed new copies of all the apps I had installed (and kept them this time), then tried to reconstruct the bits and pieces I could remember of the information I had lost. I reinstalled everything and it took just over five megs of the Visor's available space.

The big problem now (there is a point, and I'm coming to it soon) is that I'm using a serial cradle to connect to my Visor, which means that:

$ time visor-backup.sh

[snip...]

real    51m52.027s
user    0m4.490s
sys     0m0.210s

If you watch closely, you can see the battery life evaporating in tiny clouds puffing out of the top of the device.

Obviously, I need to get USB working. At least I can do that now without (hopefully) too much trouble. A couple of years ago, I would have had to say "Yes, you're going to have to wait 10 times as long to back up your PDA as Buffy does, and buy new batteries for it every few weeks." Not welcome news.

Modules Are Good

Demand #2: For every feature of the kernel that it's possible to make available as a module, I want it to be made available as a module. In fact, I want that when it's impossible, too.

Modules are good. I'll confess my supreme unl33tness and admit that I like to compile a kernel as seldom as possible. Just give me a distribution-supplied kernel that comes with a module for everything I might want to do. Doubly so when I have to go to someone's house and work on his Pentium 166. If he's paying me by the hour, I don't want to sit in his living room for 45 minutes playing solitaire while the kernel compiles, only to reboot and realize I forgot to enable PPP (or, worse yet, only find out I forgot it when I get home and he calls to ask why he can't get online). modprobe foo.o is much more pleasant.

Demand #3: I want every distribution to include every module.

Just as he would have to work on a variety of hardware, a Linux plumber would have to work on a variety of Linux distributions, and would want to be able to modprobe foo.o on every system he encounters.

A couple of months ago, I decided to use fbtv to turn virtual terminal 1 on my desktop machine into a screen for my DVD console. I put it off because I didn't want to have to recompile the kernel to include framebuffer support for my Matrox Millennium. One day, I stopped to look, and there was a nice gift Debian had placed on my system: /lib/modules/2.2.17/video/matroxfb.o. I modprobed, and was done.

If I went to someone's house to set up the same system on his FooDistro machine, I'd want to find the same gift waiting for me.

Patches are good, too. At least in some cases.

Demand #4: I want every distribution to include versions of the kernel patched with every important patch.

What is "important"? Someone on the distribution team will have to decide that, but take the Linux Progress Patch as an example. It seems both harmless and useful (for dealing with technophobes), but I'm not going to take up an hour of someone's time and money just to patch and compile to give him a pretty boot screen. If I could instead apt-get install kernel-image-2.2.17-lpp, I would do it.

I realize this quickly degenerates into kernel-image-2.2.17-lpp-ext3-foo-bar-baz. I'm being unreasonable again; so shoot me. Maybe kernel-image-2.2.17-patches would work if a) none of the "important" patches caused conflicts with one another and b) people were willing to use a kernel with all of them applied (i.e., none of them were considered stability/security risks), especially if the features they added went into modules (I think those are good) instead of into the kernel itself, so people wouldn't have to use what they didn't want.

Rebooting is Bad

Demand #5: I want to be able to upgrade my kernel without rebooting. :)

She may put it off as long as possible, but there will be times when a security problem is found and a plumber will need to upgrade all her clients' kernels. This means either:

  1. Driving all over town and disturbing each of them.
  2. Upgrading over ssh and telling them to type "linux backup" at the lilo prompt if something goes wrong.
  3. Convincing each of them to buy a PC Weasel so she can reboot with new kernels and watch what happens from her home.
  4. Kidnapping Linus and locking him in her basement until he makes it possible to upgrade to a new kernel without rebooting.

How is #4 accomplished (the technical aspect, I mean)? I don't know. Maybe we run Linux inside a wrapper OS which is simpler (hopefully less susceptible to security problems) and can be controlled remotely to shutdown and reboot the system running under it. Don't ask me; I'm just an unreas... Well, I told you about that already.

Unreasonable?

Yes, I'm talking about a lot of work, but Linux is big business now. We have all these companies working on it; let's make sure we're getting more out of them than better penguin costumes for trade shows. Addressing issues that keep Linux out of homes is better for everyone's bottom line.

Recent comments

26 Feb 2006 04:34 Avatar thequux

Re: Linux is heaven to install compared to Windows 9X


>

> %

> % Yes. You will have to change mouse

> % protocol in XFree86 configuration

> file.

> % And a lot of users have nightmares

> when

> % they consider editing any config

> file.

> % So they prefer the windows

> "reboot

> % when anything change" style.

> With

> % modern distros, installing is not

> % difficult anymore (and sometimes

> simpler

> % than windows installation). But when

> it

> % comes to install/change hardware

> after

> % installation...

>

>

> I'm tempted to say "If they wan't

> MS-Windows, they know where to find

> it", but that would be too easy.

>

> When is the last time you've read a

> config file that didn't consist of about

> 90% comments describing exactly what

> each line of configuration code meant.

> This is not rocket science.

>

> BTW: When was the last time that you

> have come in contact with a distro that

> didn't include *at least* one graphical

> utility for configuring (and

> reconfiguring) various system settings.

> The advent of TCL(and perl)/Tk has made

> this ridiculously easy.

>

> Besides, It's not like Windows gets it

> right every time (or even mostly), in my

> experience Windows makes a great many

> mistakes when configuring hardware,

> which are generally harder to correct

> than changing a setting in a well

> documented human readable text file.

This opportunity for Gentoo evangelism is too good to pass up...

But seriously, Debian is fairly lacking in graphical tools, and I find that it's easier to tell people "Add a line to /etc/fstab" than "Start up the mount point administration tool, which is somewhere in the 400,000,000 things in the menu, add a "mount point" with these settings... and so on.

Actually, to take this one step further, I edit config files directly an just about every system I come across (even Mandriva and Xandros) It's just easier, and it highlights the true flexibility of Linux.

Yet another disadvantage of GUI config tools is that, if you're dependent on them, you're up the proverbial creek if your /etc/X11/xorg.conf gets corrupted.

And, to further drive the point home, (I'll use Gnome apps here, because I hate KDE. But that's totally beside the point) Nearly every Gnome application stores configuration in GConf. The "preferences" dialogs show a miniscule number of options, because the very nature of a graphical interface. So, the ONLY way to get Nautilus not to draw the background (which wreaks havoc with fluxbox) is to edit the gconf files directly (or you could use gconf-editor, but...)

So, the plaintext config files may not be great, but they are aheck of a lot better than the graphical tools.

27 Feb 2002 15:50 Avatar aaronpeacock

Re: Rant, indeed.
whoa. WAY too many words homeboy.
a couple quick point I would like to make...

1)windows crashes, is bloated as hell, and sits way too high up codewise. mac os is no better.
slow, stupid, and bullshit. realtime linux builds are the only current viable solution for the next generation of audio and video dev platforms...
I use virtual synthesizers- latency is a major issue- if i hit a key and the sound comes out a second later that will not do. low level drivers are not going to cut it. sooner or later the OS is going to get in the way as it does with windows and mac os.

2) windows is going xp. only. this scares the shit outta me. i hate xp. its crap.
i need a way out...

help me obi wan, you are my only hope...

hey- folks- I seek a flavor of nix developed for audio and video use. be and next have both bailed and never excited me anyway...
any builds for media use?
anyone?

just an idea- how about a realtime linux build designed for audio and video?
(integrative multimedia)
thanks!

31 Dec 2001 17:29 Avatar hobbs

Re: Rant, indeed.
I feel that it is my duty to respond to every valid point you made in your message. What would I be if I didn't? Well, here goes.


Thank you.

16 May 2001 16:12 Avatar thull2

Drivers at CompUSA
> Demand #1: I want a Linux driver available for every piece of hardware on sale at CompUSA.

More importantly, I want every CompUSA to stock computers with Linux pre-loaded, and to have salesguys who can identify Linux-compatible hardware and steer you through the drivers and configuration. Same for every other major retailer. And I want those retailers who don't support Linux to feel bad about it, like they're really stupid.

I think the lack of retail channel support is, much more than any technical shortcomings, the main factor limiting broader use of Linux as a home desktop system.

23 Mar 2001 01:24 Avatar davidnicol

Re: Where can I get MS-Linux? (kidding!)

Corel has contracted w/ MS to write it, according, more or less,
to their recent annual report

Screenshot

Project Spotlight

Kigo Video Converter Ultimate for Mac

A tool for converting and editing videos.

Screenshot

Project Spotlight

Kid3

An efficient tagger for MP3, Ogg/Vorbis, and FLAC files.