This TODO list can only touch on some larger issues, but there are a great many open bugs on various components of the installer. See all bugs tagged d-i in the BTS. Also, there are many unprocessed installation-reports. Status for different parts of debian-installer. The numbers are approximate (as in +/- 50%) and may change in any direction, at any time. [0%] Not begun --------------------------------------------------------------------- - some architectures hurd-i386 (we will ship w/o this) sh (we will ship w/o this) - support for non-free udebs Driver disks are already supported, but that is not really good enough for etch. [30%] Might need large rewrites. Current implementation might work by accident --------------------------------------------------------------------- - persistent disk device names With udev, the best approach, according to Md, is to use the /dev/disk/ persistent devices which should always be the same. Would need partman, bootloader installer, probably other changes. [60%] Needs some work, but does its grunt work --------------------------------------------------------------------- - I18N Mostly done, still filling in minor holes. - translations Varying languages translated to varying degrees. http://people.debian.org/~seppy/d-i/translation-status.html - boot loader installers (lilo, grub, etc) Work, except for when they don't. See BTS. - disk selector, partitioner We have switched to partman everything except a couple of subarches and s390. - web site http://www.debian.org/devel/debian-installer/ Could be better laid out, lacking some sections, other parts are quite good. - archive integration No automatic propagation to testing. No source propagation for udeb sources! http://people.debian.org/~joeyh/d-i/testing-summary.html - hw-detect Working, but various issues with specific hardware. - pcmcia support Much improved, generally works now. Automatic PCI resource range exclusion based on probing still needed, work in progress. - low memory support Where "low" is 24-46 mb! Works, but user must be careful to set up swap ASAP. There is no sanity checking, and some bad failure modes. More work needed for 16 mb installs. - user documentation Installation manual is up-to-date for i386. Needs sanity checking for other architectures. - developer documentation We understand it, but it could be improved. - integrate/document rescue mode support Needs bootloader configuration (done on x86, sparc, ia64). Needs easy ways to do common tasks like reinstalling a bootloader (done for grub and yaboot). - g-i Working pretty well, still a few known bugs and UI issues. - ppp support Not as important for analog dialup, as for ISDN, pppoe. pppoe-udeb works - most architectures i386 ia64 powerpc mips mipsel m68k (some subarches) - bvme floppies need root to build alpha sparc - floppies need root to build armel hppa amd64 s390 [90%] Single missing important feature or bug. --------------------------------------------------------------------- - iso-scan Works, but does not flag the disk the iso is mounted from as unusable by the rest of the installer. - netcfg Working, pending rewrite for IPv6. - localechooser The perennial problem is how to order/present the list of languages. Many complaints, but it works. - base system installer Improve kernel selection. Knowing about some kind of preference order for kernels would be good. (cjwatson) - anna Needs support for Release files. - preseeding Works pretty well. Some things still cannot be preseeded. This is generally a bug in the udeb's use of debconf. [100%] Those shouldn't need to be touched any more (famous last words) --------------------------------------------------------------------- - udpkg - cd installs - net retriever - cdrom retriever - ethdetect - cdebconf - floppy retriever - main-menu - choose-mirror - busybox integration - install media build system - kernel-package integration - library reduction - wireless support - save-logs - 2.6 support - udev Post-etch goals ================ - fix pkg-lists names to match images (joeyh) - consistent indentation of all shell scripts (with a style that minimises size on initrd! :-) (joeyh) - 16 mb installs - finish partman (anton) - handle debian upgrades in partman (anton) - fai integration (markos) - use same device names in installer and installed system (cjwatson) - non-linux d-i (jbailey) - moon-buggy udeb (cts@debian) - britney and udebs - fai disk config files in d-i (holger) - low(er) mem (zboob) - uml for testing d-i (anton) - post reboot network configuration (cjwatson) - real deb from archdetect udeb (luther) - integrate selinux installation into the installer, for a painless install (joeyh/manoj?) - add a xen server task (joeyh) - requires a way to install the xen kernel, which might mean moving kernel etc package installation from the end of base-installer to the end of pkgsel Common problems and transitions =============================== This is a list of common mistakes that need to be corrected throughout the code base: * All debconf commands that INPUT, GO, GET or SET questions should check their return value. This is pure evil: debconf->command(debconf, "GET", "mirror/suite", NULL); /* unchecked return code ! */ asprintf(&command, "foo %s", debconf->value); system(command); * cdebconf's debconfclient.h has a set of macros for calling debconf (debconf_get() and so on) These should perhaps be used consistently throughout the code for clarity. * udebs should not include md5sums files, or postrm, prerm, preinst scripts. Linda will find these pretty well.