andersee is currently certified at Master level.

Name: Erik Andersen
Member since: 2001-03-20 03:42:34
Last Login: N/A

FOAF RDF Share This



I'm just some guy. I have been hacking Linux since 1996, when I became a Debian developer and took over maintaining the Linux kernel CD-ROM subsystem. Ever see the Uniform CD-ROM driver when you boot up linux? Well I'm the one that made it be uniform (and in fact, I'm the one that wrote that particular boot message). See back then, there were 68 flavors of strange cdrom drivers, all different. I established the current cdrom.h header file that defines exactly how cdrom drives operate under Linux, I adjusted the work-in-progress cdrom.o driver, then I went through and ported the various wierd cdrom drivers to all go through the uniform driver. The funny thing is, I don't even have very many CDs. I only got into the job bacuse I made the mistake of buying a 4 slot cdrom changer that was badly supported. So I started downloading specs and hacking the kernel and pretty soon I was maintaining things. Eventually, I ended up getting really sick with cancer, and I gave up the cdrom stuff to Jens Axboe, who has now been doing the job for a couple of years.

Anyways, fortunately, I got better. Since I no longer maintained the cdrom drivers for the kernel I was free to work on other things for the first time in a few years. I spent a while hacking 3D stuff and doing VRML, but that got boring. So then I began working on GnomeHack, a port of the venerable, but still wonderful role-playing game of nethack to the Gnome windowing system and the Gtk toolkit. This has now been integrated into the mainline nethack source tree.

These days, my major project is BusyBox, a GPLed suite of tiny UNIX utilities that provides a pretty complete POSIX environment in a very small package. I have rewritten most of it, and added tons of functionality (all optional of course). It was originaly written for the Debian boot-floppies by Bruce Perens, but really makes an excellent base for small or embedded systems.

Over the past year, I did a port of uClinux for the Atmel at91 series arm7tdmi cpus. I have adopted the orphaned uClibc C library for embedded systems. I initially did an x86 and an ARM port and I've recently made it work as a shared library. My work on uClibc has now become the One True Source Tree(tm), and it now lives at

In the April Embedded Systems Conference, in San Francisco, I will be presenting a paper on "Rolling your own Embedded Linux Distribution", where I will walk people through the process of making their own embedded Linux distribution. The cool thing is that the entire user space on this embedded distro, based on Busybox and the uClibc, shared library is maintained by me. And what is even more cool is that it all weighs in at only 350k. Not too bad I think.


Recent blog entries by andersee

Syndication: RSS 2.0

Well, I've got the new working very nicely now in uClibc. Also some nice news -- I've put together a quite complete math library and checked that in yesterday. I think uClibc is just about ready for some heavy duty industrial use (which is exactly what I am working on next).

I got the uClibc shared library loader working today. Much of the initial porting effort was done by Manuel. I am not very happy with the way multiple architectures are supported with -- its cross platform support really needs some rethinking in the future. Regardless, it is now working flawlessly on x86. I've started porting the shared lib loader to ARM, but it is not ready yet (i.e. doesn't even compile).

One downside to running several Open Source projects is that when working on one, the other gets neglected. I've been neglecting BusyBox for the last few days...

Today I got busybox 0.51 released. Finally. I'm really proud of this release. It is very very solid. I'm leaving to fly out to ESC in about an hour. It should be a lot of fun. It is looking like a group of BusyBox folks will be getting together for dinner on the 12th. It will be nice to have some faces for the names.

I got busybox running on ia64 today, which ended up being a lot more work then expected. On most architectures, you can use the _syscall[0-5] macros from /usr/include/asm/unistd.h, but for some silly reason that I don't understand, the ia64 developers made those macros reference a kernel symbol. Ugh. I only needed two syscalls that were not in glibc on ia64, and those I just stuck in wrapper functions which use syscall() to do the dirty work. Managed to shave off about 500bytes in the process -- even more if you include insmod.

While fixing up busybox, I fixed up uClibc's syscall support a bit by adding a few obscure syscalls also provided by glibc. Mostly kernel module related stuff. This has the nice side effect that busybox compiles vs uClibc again (the syscall adjustment had broken it).

Well, it seems that having an account here is the thing to do ... So here goes.


andersee certified others as follows:

  • andersee certified jgarzik as Master
  • andersee certified kraai as Journeyer
  • andersee certified beppu as Journeyer
  • andersee certified BrucePerens as Master
  • andersee certified axboe as Master
  • andersee certified joey as Master
  • andersee certified quinlan as Master
  • andersee certified wichert as Master
  • andersee certified tausq as Master
  • andersee certified Fefe as Journeyer
  • andersee certified timriker as Master
  • andersee certified Russ as Master
  • andersee certified lethal as Master
  • andersee certified zx80user as Apprentice
  • andersee certified mrbrown as Master

Others have certified andersee as follows:

  • tausq certified andersee as Journeyer
  • davidw certified andersee as Journeyer
  • acme certified andersee as Journeyer
  • adulau certified andersee as Master
  • superant certified andersee as Master
  • Fefe certified andersee as Journeyer
  • technik certified andersee as Journeyer
  • khoerling certified andersee as Master
  • kraai certified andersee as Journeyer
  • ncm certified andersee as Journeyer
  • braden certified andersee as Journeyer
  • val certified andersee as Master
  • timriker certified andersee as Master
  • Russ certified andersee as Master
  • lethal certified andersee as Master
  • mrbrown certified andersee as Master
  • proski certified andersee as Master
  • twiun certified andersee as Master
  • dwmw2 certified andersee as Master
  • pcburns certified andersee as Master
  • ebf certified andersee as Master
  • linuxata certified andersee as Master
  • janneke certified andersee as Master
  • DerekRader certified andersee as Master

[ Certification disabled because you're not logged in. ]

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

Share this page