Please subscribe to RSS Feed! :)

On Linux Planet, an article about how Upstart manages the Linux boot
process, how it's used in various distros, and how to explore and
control it:
The
Upstart Startup Manager (Linux Boot Camp part 2)

Part 3 and final of my series on configuring Ubuntu's new grub2 boot menu.
I translate a couple of commonly-seen error messages, but most of
the article is devoted to multi-boot machines. If you have several
different operating systems or Linux distros installed on separate
disk partitions, grub2 has some unpleasant surprises, so see my
article for some (unfortunately very hacky) workarounds for its
limitations.
Why
use Grub2? Good question!
(Let me note that I didn't write the title, though I don't disagree
with it.)

Part 2 of my 3-parter on configuring Ubuntu's new grub2 boot menu
covers cleaning up all the bogus menu entries (if you have a
multiple-boot system) and some tricks on setting color and image
backgrounds:
Cleaning
up your boot menu (Grub2 part 2).

I gave a lightning talk at the Ubucon -- the Ubuntu miniconf -- at the
SCALE 8x, Southern
California Linux Expo yesterday. I've been writing about grub2
for Linux Planet but it left
me with some, well, opinions that I wanted to share.
A lightning talk
is an informal very short talk, anywhere from 2 to 5 minutes.
Typically a conference will have a session of lightning talks,
where anyone can get up to plug a project, tell a story or flame about
an annoyance. Anything goes.
I'm a lightning talk junkie -- I love giving them, and I
love hearing what everyone else has to say.
I had some simple slides for this particular talk. Generally I've
used bold or other set-offs to indicate terms I showed on a slide.
SCALE 8x, by
the way, is awesome so far, and I'm looking forward to the next two days.
What's a grub? A soft wriggly worm.
But it's also the Ubuntu Bootloader.
And in Karmic, we have a brand new grub: grub2!
Well, sort of. Karmic uses Grub 2 version 1.97 beta4.
Aside from the fact that it's a beta -- nuff said about that --
what's this business of grub TWO being version ONE point something?
Are you hearing alarm bells go off yet?
But it must be better, right?
Like, they say it cleans up partition numbering.
Yay! So that confusing syntax in grub1, where you have to say [SLIDE]
(hd0,0) that doesn't look like anything else on Linux,
and you're always wanting to put the parenthesis in the wrong place
-- they finally fixed that?
Well, no. Now it looks like this: (hd0,1)
THEY KEPT THE CONFUSING SYNTAX BUT CHANGED THE NUMBER!
Gee, guys, thanks for making things simpler!
![[boring ubuntu boot screen]](http://shallowsky.com/blog/images/screenshots/justblackscreen.jpg)
But at least grub2 is better at graphics, right? Like what if
you want to add a background image under that boring boot screen?
A dark image, because the text is white.
Except now Ubuntu changes the text color to black.
So you look in the config file to find out why ...
if background_image `make_system_path_relative... set color_normal=black/black
... there it is! But why are there two blacks?
Of course, there's no documentation. They can't be fg/bg --
black on black wouldn't make any sense, right?
Well, it turns out it DOES mean foreground and background -- but the second
"black" doesn't mean black. It's a special grub2 code for "transparent".
That's right, they wrote this brand new program from scratch, but they
couldn't make a parser that understands "none" or "transparent".
What if you actually want text with a black background? I have
no idea. I guess you're out of luck.
Okay, what about dual booting? grub's great at that, right?
I have three distros installed on this laptop. There's a shared /boot
partition. When I change something, all I have to do is edit a file
in /boot/grub. It's great -- so much better than lilo! Anybody remember
what a pain lilo was?
# # DO NOT EDIT THIS FILE # # It is automatically generated by /usr/sbin/grub-mkconfig using templates # from /etc/grub.d and settings from /etc/default/grub #
Oops, wait -- not with grub2. Now I'm not supposed to edit
that file. Instead, I edit files in TWO places,
/etc/grub.d and /etc/default/grub.conf, and then
run a program in a third place, /usr/bin/update-grub.
All this has to be done from the same machine where you installed
grub2 -- if you're booted into one of your other distros, you're out
of luck.
grub2 takes us back to the bad old days of lilo. FAIL
Grub2 really is a soft slimy worm after all.
But I have some ideas for workarounds. If you care, watch my next
few articles on LinuxPlanet.com.

Continuing my Mumbuntu saga …
Monday 15th Feb
Today I was watching the UPS package tracking website to see if/when the Acer Aspire Revo had arrived home. Pretty much as soon as I got through the door I unpacked one of the revos and set it up on my desk and connected to one of the two LCD panels that usually connect to my desktop PC. The plan was to restore the Windows XP and Ubuntu installs onto the 160GB disk on the revo using Clonezilla, having already done the backup yesterday.
The Revo has no optical drive, so I used Unetbootin on my desktop PC to write the Clonezilla ISO image onto a 1GB USB stick. Clonezilla is quite a bit smaller than that so you can probably get away with a lower capacity USB stick, but this was one I had to hand, and didn’t mind trashing the contents. Booting the Revo from USB should be fairly straightforward but for some reason pressing F12 during boot to get a ‘boot menu’ doesn’t always work. I had to boot into the BIOS and change the boot order to put USB at the top of the priority list, and disable Splashtop, to reliably make F12 work on boot.
Once I had Clonezilla booted and the Revo on the LAN I thought it might be prudent to backup the factory installed stuff on the hard disk ‘just in case’. It would allow me to return it to factory fresh if I ever sold it on or had to return it under warranty. The clone takes up very little space – 1.9GB – there’s no point not doing it. Once cloned I started restoring the clone that I’d taken of the Compaq Revo 250G disk yesterday. This is where it all kinda went a bit wrong.
I had assumed that Clonezilla would magically resize down the partitions when going from a 250GB disk to a 160GB one. Sadly this isn’t the case. Clonezilla doesn’t (yet) support going from a one media to a smaller one. I clearly should have read the documentation more here. I tried various options including restoring individual partitions rather than the whole disk, but it was no-go. So I had a bit of a think and formulated a plan. I’d resize the partitions on the source 250GB disk down so that they totalled less than 160GB, then clone it over to the Revos 160GB disk.
I didn’t have room on my desk for the Compaq to be booted up to do the partition resizing so I took a different approach. I have a few USB disk caddies kicking around for these kinds of eventualities. Some are SATA, some are USB, one of them does both – which is quite handy. It’s a cheap and cheerful USB caddy but it works reliably enough. I yanked the 250GB disk out of the Compaq Evo – which was very easy – the Evo reminds me of the old IBM PS/2 in that it’s incredibly modular and easy to maintain inside. I attached the disk to the IDE interface on the USB caddy and plugged the USB cable into my laptop.
I already had gparted installed on my laptop which is running Ubuntu Lucid (10.04), but if I didnt then I could have easily installed it or grabbed an Ubuntu Live CD off the shelf and used that instead. I fired up gparted and pointed it at ‘/dev/sdb’ (the 250GB disk) and took a look at the layout. As I’ve previously mentioned I split the disk in half, XP on the first 50%, Ubuntu on the second 50%, but what I needed was for both partitions combined to come in less than 160GB – the target disk size.
It turns out to be a complex operation including resize down the XP partition, move the Ubuntu partition down (to the left of) the disk, then resize down the Ubuntu partitions (/ and swap) and resize down the extended partition that the Ubuntu partitions sit in, and finally move the extended partition down the disk. All of this can be queued up in gparted, so you basically get the disk looking the way you want before you hit apply to actually ‘make stuff happen’.
I chose to resize the Windows partition down to about 55GB and the same for Ubuntu with a little extra for the swap. All of that came in under my target of 160GB, indeed I had some spare, which I could resize up to on the target, or perhaps use as scratch space later. I don’t think it matters having a GB or so free at the end of the disk when in all likelyhood my Mum isn’t going to fill much of the 55GB she has – in either OS.
The gparted operations take a long time because there’s a lot of data to munch up and it’s all being done over USB, so it’s now time for bed.
Tuesday 16th Feb
I woke this morning to discover the gparted operation completed successfully overnight.
When I got in from work I figured that I could do a direct disk to disk clone of the 250GB to the 160GB on the Revo rather than backup and restore. So I attached the USB caddy (containing the 250GB disk) to the Revo, booted Clonezilla and kicked it off. Pretty quickly I ended up with everything copied nicely over to the internal 160GB disk. Booting up the Revo from the internal disk resulted in a Grub menu (this is a good thing) and I could select Ubuntu 9.10 and it booted succesfully to the desktop.
Everything was detected and just worked. Ubuntu found the wireless adapter and auto selected the open source ‘nv’ video driver. I added the nVidia binary video driver because the Revo has an nVidia ION GPU which is well supported by the binary driver – unlike the nVidia card in the Compaq Evo – which isn’t supported anymore. The whole ‘move an install from one machine to another completely different one’ success with Ubuntu is one of the features that I use infrequently, but when I do, I love that it Just Works.
I then tried to boot into XP. Oh dear. Oh deary dear. Now I knew this wasn’t going to be straightforward, but it’s so sad to see an OS just barf on boot because the underlying hardware has changed a bit. I decided not to spend too long lamenting the crap situation and instead chose to reinstall Windows XP directly on the Revo. The Revo has no optical drive though, so I couldn’t stick my Windows XP CD in. USB caddy to the rescue! I yanked the IDE CD-ROM drive out of the Compaq Evo and attached it to the USB caddy in place of the 250GB hard disk.
To my surprise the Revo boot menu showed up the “USB NEC CD-ROM” as an option, and I was able to boot from the XP CD. Sadly the XP setup program bluescreened after it loaded up drivers, and after a quick search I discovered there was a BIOS setting that needed changing. There is an option in the BIOS to set the SATA setting which defaults to “AHCI” which causes XP to blue screen. Changing this setting to “IDE” mode and rebooting fixed the issue. I simply followed the same process of installing XP as I did previously, but when it asked me where to install I chose to delete the XP partition and then recreate it – leaving the Ubuntu partitions untouched.
My original XP CD is quite old, so it doesn’t have drivers for modern hardware. As I tell people frequently ‘Ubuntu has more drivers for more hardware out of the box than any other OS’ and that includes XP. Obviously Ubuntu is relatively new and my XP CD is years old, so it’s understandable to some degree, but that doesn’t make it any less frustrating. Especially when the XP installer has no way of adding drivers during install without re-spinning the CD – an activity I’m unlikely to do for a one-off computer setup like this Revo.
Once XP was installed I had to go and find drivers for wireless LAN, the video card, audio hardware and other onboard devices. This was helped by someone who has gathered all the drivers up into one neat package . It’s a bit worrying to grab a random zip like that for the fundamental drivers for the system, but it seemed to be in use by a number of other Revo users who reported it worked well. If it barfed I could always reinstall again – I’m getting good at that
After installing the nVidia drivers from that package I started getting popup errors about nvcpl.dll and some other dll every time I booted into Windows. I don’t know if it’s specific to the above packaged nVidia driver, but I doubt it. I found numerous posts from people claiming to have the issue. Good to see that nVidia drivers are the same bunch of crap on Windows as they are on Linux.
One of the other (many) problems with installing XP is that it will trash the master boot record (MBR) which – if it was the only OS on the machine – wouldn’t be a problem for most people. Those of us that dual boot end up with a broken boot loader and the inability to start our favourite OS. Luckily this is all very well known and there’s a nice bit of documentation that details how to fix it.
https://help.ubuntu.com/community/RecoveringUbuntuAfterInstallingWindows
I put an Ubuntu 9.10 Live CD into the CD-ROM drive which was still attached to the USB caddy and booted off it to fix this issue. I ran the grub-install command as outlined on the above page and then rebooted again. I now had a grub menu re-installed and could boot into Ubuntu again. However this now broke my ability to boot into Windows!
The grub-install command when run on the Live CD had incorrectly configured the grub boot loader so it couldn’t find the Windows install. There was an error in the grub setup which made it look for Windows on (hd0) when it should be looking on (hd0,1). This was easily fixed by booting into Ubuntu on the hard disk and running grub-install from there. I actually didn’t run grub-install, but sudo apt-get install grub-pc --reinstall which seemed like a good idea at the time. Worked a treat.
So at this point I now had a dual-boot Windows XP and Ubuntu 9.10 install running pretty sweet on the little Revo. Time to take a backup with my new best friend, Clonezilla! I have a nice backup of the machine in case things go horribly wrong later.
alan@wopr:/media/drobo/images/2010-02-17-00-img_mumbuntu_revo$ ls -lh
total 7.0G
-rwxr--r-- 1 alan alan 4 2010-02-17 01:28 disk
-rwxr--r-- 1 alan alan 8.0K 2010-02-17 01:28 Info-dmi.txt
-rwxr--r-- 1 alan alan 16K 2010-02-17 01:28 Info-lshw.txt
-rwxr--r-- 1 alan alan 2.4K 2010-02-17 01:28 Info-lspci.txt
-rwxr--r-- 1 alan alan 286 2010-02-17 01:28 Info-packages.txt
-rwxr--r-- 1 alan alan 10 2010-02-17 01:28 parts
-rw------- 1 alan alan 2.0G 2010-02-17 01:04 sda1.ntfs-ptcl-img.gz.aa
-rw------- 1 alan alan 2.0G 2010-02-17 01:12 sda1.ntfs-ptcl-img.gz.ab
-rw------- 1 alan alan 1.8G 2010-02-17 01:20 sda1.ntfs-ptcl-img.gz.ac
-rw------- 1 alan alan 1.3G 2010-02-17 01:28 sda5.ext4-ptcl-img.gz.aa
-rwxr--r-- 1 alan alan 37 2010-02-17 00:55 sda-chs.sf
-rwxr--r-- 1 alan alan 31K 2010-02-17 00:55 sda-hidden-data-after-mbr
-rwxr--r-- 1 alan alan 512 2010-02-17 00:55 sda-mbr
-rwxr--r-- 1 alan alan 466 2010-02-17 00:55 sda-pt.parted
-rwxr--r-- 1 alan alan 361 2010-02-17 00:55 sda-pt.sf
-rwxr--r-- 1 alan alan 53 2010-02-17 01:28 swappt-sda6.info
Interesting that Ubuntu (sda5.ext4-ptcl-img.gz.aa) takes up much less space (1.3G) than the Windows XP (sda1.ntfs-ptcl-img.gz.aa, sda1.ntfs-ptcl-img.gz.ab & sda1.ntfs-ptcl-img.gz.ac) install (2.0+2.0+1.8=5.8G).
Tomorrow Mum will be going to the library to see someone about training lessons on the computer. This will be a big moment for her as it will be the first semi-formal training on a computer she’s had. I look forward to hearing from her about how it went.

Saturday 13th Feb
I got the Compaq Evo desktop back to my house and on my desk today. The first thing I did was open up the box and see what we had inside. It’s a 1.7GHz CPU with 512MB RAM (2×128MiB + 1×256MiB), 250GB IDE hard disk, nVidia video card and CD-ROM drive. I had a rummage in my box-o-RAM for some suitable SDRAM and managed to get the box up to 768MiB (3×256MiB), which should help things a bit. I plan to supply the computer with an external USB hard disk for doing incremental backups of data only, just in case.
After the chat with Mum yesterday, I decided to hedge my bets and install a dual-boot Windows XP and Ubuntu 9.10 system. That way she’d be all setup for whatever OS she chooses, and we have the ability to switch (in either direction) based on our experiences. Given the disk is 250GB I decided to just split it 50/50, installing Windows XP first.
The process for installing XP from the original CD went smoothly as expected. During the installation I told XP to only use 50% of the disk, leaving the rest free for my subsequent Ubuntu installation. The post-install steps of ‘install windows update’, ‘install SP3′, ‘install updates’, ‘install IE8′, ‘activate WGA’, ‘install updates’ interspersed with reboots is painful but fairly predictable, with only one hangup. I then added what I thought might be useful with little planning including Microsoft Security Essentials, Openoffice.org, Firefox 3.6, Thunderbird 3, Adobe Flash and Adobe Acrobat.
Once that lot was done I added a few more interesting things. I registered a dynamic hostname with DynDNS so that I could “get to” her machine over the Internet without having to ask her for the IP address. I installed a Windows client (from the same website) which automatically updates the Dynamic DNS entry. I also installed gitso (a remote control app) so I could easily remotely control the Windows desktop.
I already have a domain and email configured, so I setup an email address for Mum and setup Thunderbird to access it via IMAP. I received mail and sent a test mail to make sure it all worked okay. The anti-spam features are at the server end, so she shouldn’t have to worry about that at all – not that she’ll even know what spam is to be fair!
I created a separate user for Mum and myself, both are admins. Perhaps I should set her account to be a limited one for now, so she can’t do too much damage, or install random things. There’s possibly changes I’ll make to the Windows install, perhaps switching to Google chrome as the browser, maybe add other apps I’ve not considered yet. I should install some backup software for certain. The one that comes on the XP CD will probably be good enough.
Next I moved on to install Ubuntu, which by contrast was a breeze
I just put an Ubuntu 9.10 (Karmic) CD in the drive and booted off it. I went through the installer chosing to install onto the empty (unpartitioned) space on the disk. I set myself up as the first user and selected to encrypt the home folders using ecryptfs (basically a tick box in the installation). I didn’t use the Windows migration assistant, enabled popcon (popularity contest) and finished the install.
I booted into Ubuntu, recorded my encryption passphrase and installed the outstanding 223 updates followed by a reboot. Once back in I attempted to install the binary driver for the nVidia Vanta card, however I was scuppered. It turns out that the Vanta cards are not supported any more by the nVidia binary driver. The video performance of the open source nv driver is quite sucky. I suspect that Mum won’t be especially bothered by that, but it’s annoying nonetheless. I had a look around in my box-o-cards for a replacement card but there was nothing suitable, so continued to use the onboard half-height Vanta card.
I then installed some extra applications.
sudo apt-get install ubuntu-restricted-extras gramps deja-dup openssh-server ddclient apticron firefox-adblock-plus
ubuntu-restricted-extras: Installs Adobe Flash, video/audio codecs, fonts and other evilness.
gramps: Family tree software. I already have maintained some of our family tree in gramps, so I can help Mum here.
deja-dup: Simple scheduled backup tool to backup data to the USB hard disk.
openssh-server: So I can ssh into her Ubuntu machine and remotely adminster/update it. I can also tunnel VNC over this connection.
ddclient: DynDNS client to update the dynamic DNS hostname, so I can find her machine on the Internet.
apticron: Emails me when updates are available.
firefox-adblock-plus: Adblock Plus add-on for Firefox.
Finally I created a new user for my Mum. In Ubuntu 9.10 there’s no tickbox in the “Users and Groups” application to enable encrypted home using ecryptfs. This has been fixed in Ubuntu 10.04, but under 9.10 I had to use the following command to create Mums account:-
$ sudo adduser <username> --encrypt-home
After which I recorded the encryption passphrase as prompted by a pop-up dialog. This is essential if I need to re-install the OS (for example) and restore access to the encrypted files in the user home directory. Hopefully I’ll never have to worry about that, but I just know that if I don’t write down the encryption passphrase, I’ll end up needing it at some point.
Sunday 14th Feb
I wanted to buy another Acer Aspire Revo as a media playback PC at my house (I already have one). During the order process I toyed with buying an extra one (they’re quite cheap computers) for my Mum instead of the crusty-but-working Compaq Evo I had been using up until now. After a short internal fight of “she doesn’t need this!” vs. “this would be such a sweet PC for her!”, the latter demon won, and I bought two (one for me, one for her). So now Mum is destined to get a Revo instead of an Evo (which seems appropriate somehow).
I pondered how I could get the installations of XP and Ubuntu that I’d already done on the Evo into the Revo when it arrives on Monday. The Evo has a desktop size 250GB disk, and the revo has a laptop sized 160GB disk. I discovered Clonezilla which I downloaded and burned onto a CD-R. Clonezilla has some funky options for making a ‘clone’ of disks or partitions and restoring them on another machine/disk. It also has a funky dist-to-local-disk option which sounded interesting. It seems I’m the only one who never knew about Clonezilla, because as soon as I mentioned it, people told me they’ve been raving about it for ages.
Booting Clonezilla on the Evo allowed me to follow some basic prompts to mount a samba share on my network (in my case that’s my Drobo with lots of disk space) and backup the 250GB disk over the network to a bunch of files. Even more amazing is that Clonezilla only backed up the data. So I didn’t end up with a monster 250GB file, but a few much smaller ones:-
alan@wopr:/media/drobo/images/2010-02-14-17-img$ ls -l
total 6347448
-rwxr--r-- 1 alan alan 4 2010-02-14 18:18 disk
-rw------- 1 alan alan 2097152000 2010-02-14 17:49 hda1.ntfs-ptcl-img.gz.aa
-rw------- 1 alan alan 2097152000 2010-02-14 18:00 hda1.ntfs-ptcl-img.gz.ab
-rw------- 1 alan alan 1003519444 2010-02-14 18:06 hda1.ntfs-ptcl-img.gz.ac
-rw------- 1 alan alan 1295502304 2010-02-14 18:17 hda5.ext4-ptcl-img.gz.aa
-rwxr--r-- 1 alan alan 37 2010-02-14 17:36 hda-chs.sf
-rwxr--r-- 1 alan alan 31744 2010-02-14 17:36 hda-hidden-data-after-mbr
-rwxr--r-- 1 alan alan 512 2010-02-14 17:36 hda-mbr
-rwxr--r-- 1 alan alan 463 2010-02-14 17:36 hda-pt.parted
-rwxr--r-- 1 alan alan 361 2010-02-14 17:36 hda-pt.sf
-rwxr--r-- 1 alan alan 14359 2010-02-14 18:18 Info-dmi.txt
-rwxr--r-- 1 alan alan 11677 2010-02-14 18:18 Info-lshw.txt
-rwxr--r-- 1 alan alan 1336 2010-02-14 18:18 Info-lspci.txt
-rwxr--r-- 1 alan alan 286 2010-02-14 18:18 Info-packages.txt
-rwxr--r-- 1 alan alan 10 2010-02-14 18:18 parts
-rwxr--r-- 1 alan alan 53 2010-02-14 18:18 swappt-hda6.info
alan@wopr:/media/drobo/images/2010-02-14-17-img$ du -hs .
6.1G .
Fantastic!
Looking forward to tomorrow when the Revo arrives. Pondering how badly Windows XP is going to react to being moved from the Evo to the Revo.

One of the goals for the Lucid cycle was to investigate why it took so long to boot an Ubuntu live cd session. Why is this important I hear you ask? Well the live cd is usually the first thing a potential new Ubuntu user sees. They get an Ubuntu Desktop (or other flavour) cd from their friend/colleague/random person, insert it into their machine, wait for a while and are then presented with a live session. All well and good but if your running on slower hardware, even a different architecture such as ARM, this initial slowness can be orders of magnitude more than a fast desktop/laptop. For example, the ARM images we shipped for Karmic took over 3 minutes to boot into a live desktop session.
The first thing to do was find out why it was slow. There are a few ways to do this but I chose to first use simple time-stamping methods and afterwards, the much prettier bootchart package.
A bit of background on how the live cd session is booted. There are two broad steps in the process of booting a live cd, the first is setting up the environment ready for the session, and the second, you guessed it, is actually booting into the session. Initial hunches were that the first step, setting up the session, was the major cause of slowness so investigations started there.
Setting up the session is the responsibility of a project called casper. Casper is a set of scripts that are run on boot to do such things as unpack the initial filesystem, add a dummy user, setup languages and keyboard layouts and so forth. Its mainly written in perl.
The time-stamping stage of investigates confirmed that casper was indeed slower than it should be. I'll skip ahead to the bootchart part of the story as thats much more visually interesting.

Above you can see the casper section of the live cd boot process. I've highlighted the bits that immediately stand out. The overall boot was 3 minutes and 15 seconds with casper responsible for around 2 minutes of that.
The highlighted bits seemed to have one thing in common, they all interacted with the debconf database. From the debconf programmers tutorial document:
"debconf is a backend database, with a frontend that talks to it and presents an interface to the user. There can be many different types of frontends, from plain text to a web frontend. The frontend also talks to a special config script in the control section of a debian package, and it can talk to postinst scripts and other scripts as well, all using a special protocol. These scripts tell the frontend what values they need from the database, and the frontend asks the user questions to get those values if they aren't set."
So communicating with the debconf database was slowing the boot. Initiating the call, sending the data and receiving a response, was taking up to 4 seconds at a time and when there are many of these calls, they all soon add up.
After many a head-scratching moment it was decided that the best way to solve this would be to initiate the communication once and keep it open so that when debconf was needed, the overhead in setting it up was removed. The implementation details are all in the code history but the results are much easier to show.

With a couple of other tweaks besides the debconf one, the boot is now down to 1 minute 53 seconds and casper takes just under 50 seconds of that. There is more room for improvement, pre-generating a default locale (although which locale that would be is a tough choice), pre-generating fonts and looking into SSL, but for now, this is a big win.
The bootcharts above are for the ARM based iMX51 device made by Freescale which is only just beginning to proliferate onto the market. Intel/AMD based machines show an equivalent speed-up.
So there you have it. The next time you boot into a Lucid live cd session it shouldn't take quite so long, and now you know why.