|The installer is the heart of any Operating System — Debian is no different. The mature but ageing boot-floppies installer will rear its head for the last time in woody. In this interview with Adam Di Carlo, one of the lead developers of this system, we investigate the past, present and future of the Debian installation system ready for the upcoming release of woody: The next generation of Debian.
What do you think about the potato install system – boot floppies, what do you like and what do you think could be improved?
There are a few things that need to be improved:
- Internationalization — we actually have most of the work done, we’re just got to get the stuff to fit in the space provided
- Bugs in the bug tracking system
- Support as much hardware as we can (reasonably!)
- work decently well on the new architectures — see below. We always need more help testing and improving installation for new architectures.
What needs to be improved still is handling of failure cases. For
example, right now we’re strugging with how to detect whether dhcp has
failed. Since we’ve moved from pump to dhcp-client, and the latter
runs as a daemon and brings up the interface even without an IP, we’re
falsely concluding that the interface is working right.
There are plenty of little problems like that, and I’m sure many your
readers are familiar with the frustrations which happen when the
install system fails in a very ungraceful way.
The kernel we use varies from architecture to architecture; for i386,
we’re sticking to 2.2.x for size reasons.
What is your favourite part of the installation.
Zipping through by hitting return over and over. People might also be
interested to know they can suppress many prompts by use the ‘quiet’
Personally I enjoy the flexibility provided by the installation system, how is that being build upon and improved for the woody release?
Well, if we can get internationalization completed, that would be a
major win, and I believe would set us up to compete with SUSE much
better. Base installation is more flexible now, although more from
the system management perspective than the user perspective. Some
annoying steps, such as the timezone selection, have been improved
(and moved later in the install process). We have also made some
inroads in install automation — that is not completely there yet, but
at least it should be easier for customizers and third parties to work
with the boot-floppies.
There really haven’t been all that many major UI changes, since the
current installation system (boot-floppies) is end-of-life. More on
What are the major changes and improvements?
This is really an incremental upgrade from Potato. However, a few
notable changes have been made.
Base installation is now done with debootstrap, from the package with
the same name. This means that we’re not providing packed and split
base images with the install system (boot-floppies) anymore. One of
the benefits of this is that changes in the archives, such as security
fixes, can be used by the install system the moment they enter the
archive. By the way, debootstrap can also be used to install a Debian
chrooted potato or woody or sid system on any machine.
The other major change is of course the new architectures we support.
As you no doubt know, Debian supports more types of machines than any
other Linux distribution. In woody, we’ve added hppa, ia64, mips,
mipsel, and s390.
There are rumors that we support installation over point-to-point
links better (such as over PLIP). This was added for s390; I believe
we need a bit more work to get this working for other architectures.
And can you explain briefly how the improved installation system works.
Well, it works much the same as how the previous installation system
worked. We have managed to improve the documentation and keep it
up-to-date with the changes. Keep your eye on
http://www.debian.org/releases/testing/, we should have the new
installation manual up there shortly.
What does the future hold for the installer beyond woody?
Well, after woody, the boot-floppies package will be removed; we’re
changing over to a new system called ‘debian-installer’.
It should be noted here first that the boot-floppies system is a very
ancient code base. I believe there still some lines in there from
Eric Raymond! It has some very deep design flaws, the worst being
overall fragility and too much “coupling” in the technical parlance.
It is very sensitive to changes in the base system of the Debian
archive. The build process is a monster. And the installer itself
isn’t modular and doesn’t do the right thing when it fails.
‘debian-installer’ will address all of this by using a modular design.
We’re hoping to get a single floppy installation for those
architectures which support floppy booting. We’re also looking to get
rid of all those nasty “flavors” of installation on i386 — the idea
is to use a kernel that supports baseline install media (such as
disks, network, CD-ROM), and not itself needing to support all the
targetted hardware which you’re installing to. An initrd and kernel
modules are used to make this work. This should open up alternative
hardware which cannot be used to install from right now, such as
PCMCIA floppies or CDs.
The new system will lead by Joey Hess rather than myself. You might
know him as the debconf maintainer (among others). In conjunction
with all the other developers from the email@example.com
list, he has come up with a design of the new system which uses a
debconf-style system and a mini-dpkg (called udpkg, using .udeb files)
which will make the whole build and install process much more modular.
This should also be a big win for those Debian repackagers who want to
improve the build system. In the past, these folks have generally
started from scratch with their own system. Our hope is that they are
able to make their improvements by providing new or alternative udebs,
minimizing changes that need to be made to the core installer.
Many users look at other distributions and see, graphical installers. Will woody have a graphical installer, if not when will we see a
graphical Debian installer.
Well, we should have that, we hope, with the release after woody. The
debian-installer system, being modelled after debconf, is
UI-independant. So it should be possible to provide an X11/GNOME
installer, or, better yet, an installer which uses fbdev. I point
this out since most of the graphical installers I’ve seen for Linux
use X11; if you used a windowing/UI system which only used fbdev, I
think you’d get a much more robust system.
Debian Planet often covers much work with alternative filesystems, what filesystems will be supported natively by the installer?
With woody, i386 now supports ext3 and reiserfs. However, due to our
problems with install modularity, there may be a number of machines
that are not able to use these kernels. OTOH, you can always replace
the kernel and drivers used on the installation system. This is
another thing which should be greatly improved with the
debian-installer, being able to exploit kernel modules loaded from the
What cool nifty, jaw-dropping, useful innovative eye-candy/features will
we see in the installer into the future. What would you like to see?
I think a UI installer is the main thing which will make Debian more
attractive for newbies. This is a group that I think we underserve
right now, and I’d like to see that change.
The other thing which should be doable with debian-installer is
automated installation. Ideally, you could do an install on one
system in “record” mode, then take the decisions made there, ship them
to a boot-server, and do a “cookie cutter” installation over and over
again from there. This should be a big win for system administrators.
How can people help and aid with the development of the installer? How should they contribute?
Well, at this stage we need complete upgrade testing as well as
installation system refinement. Upgrades are outside the purview of
the installation system, but people interested in helping there should
join debian-testing from lists.debian.org
Discussions on the installation system proper is done at
debian-testing. This list is for developers of
‘boot-floppies’ and ‘debian-installer’. We’re working on both in
parallel, now that the boot-floppies has stabilized.
Users with problem reports or suggestions can also just submit bugs
against the constitutuent packages, without having to join the
Developer discussion list. Here are the packages to file bugs
- boot-floppies -the install system proper (note that the new boot-floppies has a “Report a Problem” step which can be used to report problems. This includes some useful extra info, such as /var/log/installer.log and version data.)
- modconf – the kernel module UI
- base-config – the post-reboot UI
- kernel-image-* – most issues about supported hardware go here, such as kernels not available, patches needing to be applid, etc. Figure out which kernel-image package is used for your architecture, subarchitecture, or flavor as appropriate
- debootstrap – installing base system
- busybox – problems with the utilities shipped on the root disk of the boot-floppies.
If you are not sure, you can file the bug against boot-floppies (be
sure to include version and architecture information!) and we can
reassign the bug if needed.
For those of you who have non-i386 architectures, we really do need
more testing and suggestions.
Thankyou for giving your valuable time to answer my questions, I wish you the best of luck with your valued work
Thanks to Debian Planet for giving me a soap box — hopefully it will
shed some light and improve the upcoming major release of Debian.