See Installer/Development for technical details on how to get started. Usually best to start with a particular component and learn by expansion from there.

locale configuration (localechooser)

  • languagechooser/countrychooser merge incomplete; makes life hard for oem-config

keyboard configuration (console-setup)

  • much better now we're using X keymaps
  • no translations
  • various keymap bugs to be hoovered up one by one

hardware detection (hw-detect)

  • mostly done by udev these days
  • some hardcoded things remain (weird buses, floppies, PS/2 mice, some IDE stuff, etc.)
  • device enumeration order differs in some cases (defer disk detection until all udebs loaded?)

network configuration (netcfg)

  • OK for DHCP, static
  • wireless largely OK except for WEP glitches and no WPA support
  • funky things like PPP not supported (work done in Debian, needs to be integrated)

mirror selection (choose-mirror)

  • will need modifications for automatic optimal mirror detection eventually

partitioning (partman)

  • needs to be optimised
  • error handling poor in places
  • parted breaks with newer ext3 filesystems
  • RAID interface is clunky; assist Debian redesign along the lines of LVM
  • cdebconf plugins could help; requires ABI break in libd-i to fix dependency handling
  • writing recipes is hard

DST configuration (clock-setup)

  • largely done; may need to check a couple of corner cases

user/password configuration (user-setup)

  • historical state machine bugs, but basically done now
  • reserved usernames list manually maintained

base system installation (base-installer)

  • must be updated when kernel names change
  • occasional initramfs generation hiccups

apt configuration (apt-setup)

  • various extra bits of preseeding for Ubuntu

package selection (pkgsel)

  • tasksel does most of the work now
  • task conflict detection
  • language-support-* awkwardness

boot loader installers (grub-installer, lilo-installer, yaboot-installer, silo-installer, etc.)

  • loads of bugs and lots to try to figure out
  • grub is particularly liable to just failing to install for no obvious reason
  • lilo used in some cases where grub can't cope (notably XFS)
  • probably number one place where extra developer effort would yield good results
  • is grub2 any better?

  • booting other operating systems (os-prober) largely works but isn't optimal
  • some argument for installing simple MBR and chaining to boot loader in partitions; needs very careful thought and testing, probably spec fodder

preseeding (preseed)

  • infrastructure Just Works; always needs more testing
  • glitches in various components (chiefly partman)

Kickstart (kickseed)

  • thin layer over preseeding, so pretty reliable for what it does
  • still needs lots more testing to catch changes in underlying preseeding
  • has small manual test suite, but should be more automated
  • often needs minor updates
  • RAID; other features

rescue mode (rescue)

  • exiting rescue shell started blowing up in edgy for some reason
  • could do with more features for common tasks

miscellaneous infrastructure

  • Tollef's cdebconf Unix sockets work
  • language packs are IMO impractical, but we should keep translations more up to date somehow

build system (debian-installer)

  • needs updates when kernel udebs are rearranged (again)
  • careful of netboot initramfs size
  • floppies never supported by d-i on 2.6 to date, but recent work in Debian should be investigated

platform support

  • Intel Macs done, at least with BIOS compatibility; EFI is more work
  • new ports come along from time to time
  • typically subarchitecture detection, new bits in hw-detect, sometimes partitioning, boot loader installers

documentation (installation-guide)

  • guide isn't bad, but needs various cleanups
  • translations; perhaps try to get more changes into Debian protected by conditionals to make this easier


  • base-installer has automatic test suite for kernel selection; cdebconf has some manual tests
  • many more unit tests would be reasonably straightforward
  • automatic system testing (joeyh's digress?)

CD boot loader (syslinux, gfxboot, gfxboot-theme-ubuntu)

  • not installer as such, but tightly coupled for locale and keyboard
  • gfxboot-theme-ubuntu needs regeneration for new locales and keymaps
  • UI glitches
  • accessibility

OEM installation (oem-config)

  • various minor enhancements in simplify-oem-installation

  • should be merged into ubiquity for UI improvements and ease of maintenance
  • guide for OEMs

Installation from live CD (ubiquity)

  • uses localechooser, tzsetup, console-setup, user-setup, partman, apt-setup, grub-installer, etc.
  • bug list is massive; bughelper and apport beginning to help

  • external partition editors the intrinsic source of many bugs; new partman-based partitioner to address this
    • still slow; disk bar UI not done
  • grub-installer causes a big chunk of the rest of the problems; probably largely grub's fault
  • recover more gracefully from errors, particularly boot loader installation problems
  • automatic partitioning UI not as designed yet (needs partman changes)
  • lots of minor UI things (feisty-ubiquity)

  • ubiquity-slideshow

  • better customisation and advanced configuration
  • test suite: unit? system? special frontend?
  • user guide


Installer/Development/ToDo (last edited 2009-03-27 17:26:26 by 82-69-40-219)