lupin merge progress

Colin Watson cjwatson at ubuntu.com
Mon Jul 30 17:57:48 BST 2007


I've spent some time recently trying to get the most difficult parts of
lupin merged - in spirit even if not the same code - and I think I've
made fairly good progress. I've made the following changes to the
alternate CD installer (as of tomorrow's daily build); this should
propagate into the desktop CD installer soon too, as there's nothing
d-i-specific in here yet.

Note that this is just a progress report for developers. The result
isn't usable by end users yet.

  * I added a partman-auto-loop component to perform automatic
    partitioning using loop-mounted filesystem images. This is
    preseedable; 'bzr get
    http://bazaar.launchpad.net/~ubuntu-core-dev/partman-auto-loop/ubuntu/'
    and look at the README file. I hope that this will replace the vast
    majority of lupin.postinst. I would very much appreciate feedback on
    whether what I've got so far is good enough to do so, as
    lupin.postinst is the bit of lupin that I most want to go away. :-)

  * There were a few other partman changes needed to support the above,
    including fixing a very long-standing bug in recipe expansion.

  * I uploaded initramfs-tools 0.85eubuntu15, which adds support for the
    loop= argument (also loopflags= and loopfstype=). This should let
    you boot with root=UUID=uuid-of-the-host-filesystem
    loop=/disks/root.disk to make the filesystem on /disks/root.disk be
    the real root filesystem. I realise this is different from what
    lupin has been doing so far; it seems like an elegant and small
    change to initramfs-tools which fits in well with how things
    currently work, though. I made the host filesystem mount point be
    /host rather than /media/host to avoid possible clashes with
    removable devices, and arranged for it to be moved (read-only) to
    /root/host after the root filesystem is mounted.

Things that still don't work:

  * I can't boot yet, due to write() failing mysteriously with -EPERM in
    the middle of fscking the root filesystem; I think this might be due
    to VMware getting confused (I had a "Bad page state" kernel warning
    earlier), so I'll try again later with a fresh image.

  * You still have to install grub manually; I haven't done anything
    about that.

  * Swap won't be enabled; it's specified by UUID but needs to be
    specified as loop-mounts from /host.

  * If possible, /boot should really be bind-mounted from /host/boot so
    that we don't have to have lots of special-cased messing around for
    things like grub installation and kernel updates.

  * We don't yet have ntfs-3g support, so I've been testing this with an
    ext3 host filesystem; Phillip is due to be sorting that out soon (so
    CCing him just so he knows where that work fits in).

Comments welcome! Is it possible to update lupin to make use of this, as
we discussed a while back?

-- 
Colin Watson                                       [cjwatson at ubuntu.com]



More information about the Ubuntu-installer mailing list