[OLPC-devel] Boot tasks -- the iPAQ way
joshua at joshuawise.com
Sun Jul 16 22:56:16 EDT 2006
Hi all --
I decided I'd finally jump in on this one (my delay in part due to the fact
that I'm not subscribed to the list and just following the archives, so cc:
me in your responses).
A while back, we had a similar conundrum when we wanted to move to the Linux
kernel as a bootloader on the iPAQ. We really wanted the drivers from Linux
without having to reimplement them in the CRL bootldr (in particular, we
wanted jffs2 on NAND), but we couldn't afford the space of a full userspace
with a loader, libc, etcetera.
So, to save space, we decided not to even try to slim down the userspace,
and to instead handle it all in a modified kernel called "Linux as
Bootloader", or LAB for short. LAB has some simple commands and an
interpreter as modules. It takes over the kernel boot process right before
init gets exec()ed. Results have been promising; a functional kernel
(although lacking in some features that we want like LCD support) for ARM
with LAB was had in 512kbytes. Add in LCD and some other niceties (USB
client, PCMCIA), and I believe we are still under 1mbyte.
I suspcet that this is something that would work well on OLPC as a payload
for LinuxBIOS. You can grab it from handhelds.org CVS. If there's further
interest, I'll splice out the LAB-specific bits from there and apply them to
a standard kernel, then generate a patch.
More information about the Devel