UpFront

diff -u: What's New in Kernel Development

Zack Brown

Issue #141, January 2006

Ahmad Reza Cheraghi has begun work on some infrastructure to allow the kernel .config file to be created automatically based on the system hardware. This project provides more of a framework for continued development than an actual fully fledged solution. Ahmad's intention is that over time, the various experts will add hardware detection rules to his infrastructure, so that make autoconfig will become more and more accurate. His work so far has gotten a mixed reaction. Folks like Hua Zhong are thrilled that this sort of thing is being done, because it will bring kernel compilation one step closer to the average user; however, folks like Roman Zippel seem skeptical that this framework could ever be completed and may languish in a partly usable state for a long time.

David Teigland has been trying to get GFS2, the clustered filesystem, into the kernel for a while now, with much controversy. Part of the problem has just been the name. The GFS developers claim to have tacked on the 2 at the end for their own reference, not realizing this would turn it into a whole new project that would have to win acceptance into the kernel all over again. GFS is already in the kernel, and an update to GFS would have a much easier time getting in than a new project. But others feel there is more to it than this. GFS2 is not fully compatible with the original GFS—specifically the disk format has changed between the two versions, making it impossible to mount GFS directory trees under GFS2. There are other differences, and Andrew Morton has been very reluctant to accept the new code without seeing some kind of justification from the authors. This justification, apparently, has not been forthcoming.

The FUSE (Filesystem in Userspace) filesystem has finally made it into the main kernel, after a long period of uncertainty. Linus Torvalds has never liked the project, saying that it just wasn't possible to separate the guts of a filesystem from the kernel's internals cleanly. But Miklos Szeredi, the principal developer, did finally answer most objections and showed convincingly that any remaining ugliness actually could not be avoided. This was apparently the real holdup for a long time, but after living for a while in Andrew Morton's -mm tree without requiring any major fixes, and without any other developer being able to suggest alternatives to the remaining weird hackery, Andrew and Linus were both convinced. FUSE made its first appearance in the main kernel tree in 2.6.14-rc1, and can be expected in 2.6.14.

There has been some concern that Andrew Morton will become overloaded by all the kernel work he's doing. As Linus Torvalds has said, “I actually worry that Andrew will at some point be where I was a couple of years ago—overworked and stressed out by just tons and tons of patches.” It's true that a huge number of patches funnel through Andrew each day, but he says the sheer volume is not the biggest problem. It's the patches that don't actually work that cause him to waste hours. Putting out a release of his -mm tree is very time consuming, because it must boot on four different architectures and compile on at least seven. Any failure means tracking down the bogus patch and removing it, and then trying the whole thing again. In practice, this pushes the new release to the next day. Meanwhile, new patches keep flying in. In spite of this, Andrew says he doesn't feel overloaded, and he even has time to monitor and respond to the kernel bugs database and chase down maintainers to answer questions about various code submissions.

Greg Kroah-Hartman has handed maintainership of the I2C Subsystem off to Jean Delvare. The two had been working quite closely on it for some months, presumably preparing for this change, and now Greg has made it official. He still will be involved in I2C development to a lesser degree, and he also will remain the conduit for submitting I2C patches to Andrew Morton and Linus Torvalds for inclusion in their trees.

Geekcorps Wants You

Wayan Vota

Issue #141, January 2006

Geekcorps (www.geekcorps.org) promotes economic growth in the developing world by sending highly skilled technology volunteers to teach communities how to use innovative and affordable information and communication technologies to solve development problems.

Geekcorps is in search of the few, the proud, the Linux Geeks who not only know Linux networking, including extensive management tools, but who also can teach French-speaking Malians what they're doing so the Malians can replicate and maintain the systems they design.

If you think you can do that, in French, then check out the Geekcorps Mali Connectivity Project in greater detail: mali.geekcorps.org. Geekcorps is teaching Malian radio stations and community centers how to work with Linux-based systems, connect the systems with Wi-Fi and VSAT, and maintain both the systems and connections with great ingenuity and minimal expense.

Volunteers would stay in Mali about four months, working on multiple projects and with local counterparts in a hands-on setting. Geekcorps can offer great benefits besides that warm and fuzzy feeling from doing good.

International airfare, expat-level lodging, decent living stipend and dedicated in-country staff are provided. Daily challenges and rewards are guaranteed.

Still interested? Then apply here: www.geekcorps.org.

LJ Index, January 2006

Doc Searls

Issue #141, January 2006

1. Percentage of Americans with broadband Internet in 2002: 21

2. Percentage of Americans with broadband Internet in 2005: 53

3. Percentage of Americans who never use the Internet in 2002: 23

4. Percentage of Americans who never use the Internet in 2005: 22

5. Millions of Linux users in the world: 29

6. Ranking of Antarctica among percentage using Linux: 1

7. Millions of breeding pairs of penguins in Antarctica: 10

8. Ranking of March of the Penguins among documentaries in 2005: 1

9. Ranking of March of the Penguins among all documentaries in US history: 2

10. 2005 projected Linux percentage of the SOE (server operating environment) in China: 6.1

11. Projected 2005 US dollar revenue for the Linux SOE in China: 19.9 million

12. Projected 2009 US dollar revenue for the Linux SOE in China: 117.6 million

13. Projected 2005–2009 CAGR (compound annual growth rate) for Linux SOE in China: 64

14. Number of available Linux versions: 386

15. Millions of PC users in 2003: 631.8

16. Millions of PC users in 2005: 661

17. Year the number of PC users will pass one billion: 2009

18. Billions of users not on the Net today: 5

19. Lowest target US dollar price point of Linux-based PC (sans monitor) from Novatium: 70

20. Expected Linux percentage share of the converged mobile phone operating systems market in 2009: 17

1–4: Pew Internet & American Life

5, 6: Linuxcounter

7: New Zealand government

8, 9: BBC

10–13: International Data Corp.

14–20: CNET

On the Web

If you're a typical Linux Journal reader, you know all about Linux bootloaders and runlevels, when and how to use scp to save time while maintaining security, how to change the background color or underline text in an xterm, and how to roll your own backup/restore solution. But what if you're kind of new to Linux and don't even know that you can make text in an xterm magenta? Despite what some might say, there's no shame in not knowing something and admitting that. So, whether you're a new Linux user or know someone who is—or maybe even want to brush up on some basics yourself—stop by LinuxJournal.com. There, you'll find articles such as:

Is there a Linux basic you'd like to see covered in LJ.com? Or, better yet, do you want to write a how-to or explanation of a Linux “basic”—the kind of article you wished you'd found when you were trying to learn how to set up CUPS? Send your ideas and article proposals to info@linuxjournal.com.

They Said It

Q: Will Linux be around a hundred years from now?

A: Yes.

—Andrew Morton, from his talks on the latest Linux Lunacy Geek Cruise (October 2005)

Somebody knows every part of the kernel better than Linus or I do.

—Andrew Morton, from his talks on the latest Linux Lunacy Geek Cruise (October 2005)

I used to know how to do gnuplot, but that brain cell died.

—Andrew Morton, from his talks on the latest Linux Lunacy Geek Cruise (October 2005)

If there's one aspect of Linux that has led to its popularity, it is the ability of a suitably enthused individual to produce their own distribution. It has spawned thousands of different solutions and, in turn, has led to the creation of numerous tools and products that we all find useful.

Tech Tip

Don Marti

Issue #141, January 2006

If you have a lot of scripts, shell functions or aliases that depend on SSH, you're probably already using ssh-agent and ssh-add to store your identity so you don't have to retype your passphrase every time.

But what happens when you forget to run ssh-add, and you run one of your scripts that uses SSH? You get a passphrase prompt for every command that uses SSH transport, whether it's rsync, cvs, scp or unison.

To stop the prompts and give yourself a chance to enter the passphrase once, here's how a script can check to make sure you have an identity loaded before doing an ssh. Just use the return value of ssh-add -L, which is true if you have an identity loaded, false if you don't.

One line, as in a script:


ssh-add -L && rsync -a Images xenu.example.com:Images

To control a longer block of commands, as in a shell function:

sync_images()
{
  ssh-add -L || return 1
  rsync -a Images xenu.example.com:Images
  # more commands here if you like
}

Run one of those examples without an identity loaded, and you get a nice “The agent has no identities.” error message instead of an annoying passphrase prompt.