d-i update

Colin Watson cjwatson at ubuntu.com
Tue Jul 17 01:54:51 BST 2007

I thought I'd send a brief update on what's been going on with d-i (the
installer used on the alternate and server CDs, and for netboot
installations) lately. Please send follow-ups to the ubuntu-installer
mailing list rather than ubuntu-devel.


I went to Debconf 7 in Edinburgh, and spent a good deal of time with the
d-i folks there (Joey Hess, Frans Pop, Christian Perrier, Jérémy Bobbio,
and others). We worked on a number of things there, including:

  * debootstrap 1.0.0

    debootstrap is now identical in Debian and Ubuntu, for the first
    time since Ubuntu's inception; there should be no real reason now
    why it can't stay that way, which will make it easier for people
    running Debian to create Ubuntu chroots.

    I also did a bit of work in the seeds and on Soyuz to allow the set
    of packages installed by 'debootstrap --variant=buildd' to be stored
    in index fields in the archive just like the normal base system
    installed by debootstrap, which should mean that very few changes
    are needed for future Ubuntu releases (it may even be possible at
    some future point to teach debootstrap that unrecognised Ubuntu
    releases should just try the gutsy script, although the supporting
    code for that doesn't exist yet). The Soyuz changes are due to land
    in Launchpad 1.1.7 shortly, and the corresponding debootstrap change
    will happen shortly afterwards.


  * Memory savings

    Memory use in d-i has been an issue for a while now, in no small
    part because every new human language that gets supported has added
    another chunk to it. I did some work on cdebconf during Debconf and
    in the few days afterwards, and was able to teach it to drop
    translations it isn't using, both from memory and (after anna runs)
    from the templates database in d-i's tmpfs. Coupled with fixes for
    some more straightforward memory leaks, this reduces d-i's memory
    footprint by somewhere around 20MB.

    It may be possible to apply some of the same savings to the Ubuntu
    desktop CD as well, which is currently much harder on memory than it
    should be. This is more work because that doesn't yet use cdebconf,
    and can't yet because cdebconf doesn't support the escape
    capability. Work is ongoing.


  * dmraid support

    Frans Pop spent most of Debconf glued to a test system developing
    experimental support for fake ATA RAID (dmraid). This was still
    pretty rough in terms of UI last time I looked at it, and would be
    hard work to glue into Ubiquity; we haven't yet merged this into
    Ubuntu. Still, it's a common feature request and so I thought I'd
    mention that this work is coming down the pipe.


  * Kickstart

    Since it was long past time, I finally merged kickseed into upstream
    d-i, which is the component responsible for implementing
    compatibility with Red Hat's Kickstart. Once a few bits and pieces
    are fixed up, that will be able to work on Debian too, providing an
    alternative to preseeding whose details don't change quite so often.

    kickseed has had a few extra bits of compatibility added in Gutsy.
    Since I believe LVM preseeding has improved considerably since I
    originally wrote kickseed, volunteers to implement LVM configuration
    are very welcome. RAID configuration might even be possible in
    kickseed now with a bit more work.


Other recent changes

  * Network interface configuration

    d-i no longer relies on /etc/iftab (an Ubuntu-specific change) to
    ensure that the names of network interfaces persist across reboots,
    but now uses a corresponding udev facility instead.


  * ISC DHCP v3

    d-i has used ISC DHCP v2 for a long time, because it offers all the
    features we need while being relatively small. That package has been
    getting rather crusty, particularly from a security perspective, so
    there's been increasing pressure to switch to something else. For a
    long time this was blocked on resolving the size increase, but
    Debian has now decided that the size increase is small enough not to
    be too much of a problem, and I've followed suit in Ubuntu.


  * partman-auto-loop

    I've been working on the underpinnings for merging Wubi, a
    Windows-based installer for Ubuntu. Part of this involves the
    ability to install into a set of loop-mounted filesystem images
    located on an NTFS filesystem. I can think of one rather elegant way
    to go about this in d-i, but my assessment is that it would take too
    long to implement for Gutsy, so I'm pursuing a hackier approach
    involving a customised partman component that just implements this
    particular kind of autopartitioning monolithically rather than
    implementing each of the necessary components in ways that can be
    used individually. I have nothing much to show yet, but all being
    well I hope to be able to demonstrate progress here soon.



Colin Watson                                       [cjwatson at ubuntu.com]

More information about the ubuntu-devel mailing list