[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Some thoughts on a new installer

Christoph Lameter wrote:
> I just read through the docs on a new installer. I think it is still too
> complicated for a newbie who does not know what a base system or a kernel
> is.
> The current installation system (including kernel) fits on a 2.88M Floppy
> image (CD Install) or two 1.4M disks. It would be great if the whole stuff
> could be installed from a single 1.4M disk.
> I think the easiest way to accomplish an install is the following:

I think you probably need to think this through some more.

> 1. The boot system starts and asks the user for novice or expert mode.
> 2. In novice mode the harddisk is automatically zapped, partitioned, made
> bootable without any additional fuss of questions.

This is basically supported by the debian-installer design, by letting
the user specify that they only want to see high-level debconf

> The installation system
> is copied to the harddisk and made bootable. Then the system either
> reboots into the installed system or is started in a chrooted environment.

> After the installation system is running from the HD:
> 1. The user is prompted for installation media (or if the installation
> media provides more space like a CD that media is automatically
> detected).

This requires that you be able to fit the following onto just 1 floppy:

* a kernel
* glue code
* disk drivers for any hard disk the user could be trying to use
* disk partitioning and formatting code
* installation media drivers (For example, all possible CD drivers a
  user could need, or a full set of network drivers and network setup
  tools. Or both?)

Note that my design requires that the floppy contain merely:

* a kernel
* glue code
* one set of installation media drivers (network drivers say)

I think mine has a better chance of succeeding in fitting that on one
floppy, don't you? (Note: take a look at the size of a minimal 2.2
kernel. It's not nice, and I don't even want to think about 2.4.)

> 2. dpkg is installed via a shell script. An initial packaging environment
> is setup.
> 3. Essential packages are installed using dpkg in order of importance for
> the system. Questions are asked as needed. One of the first modules to
> install is presumablly debconf and apt.

This is much harder than you make out. Read the nasty script in the
boot-floppies source that does this now when creating the base tarball.
It is not short, nor is it pretty. Bear in mind that dpkg has been known
to use external programs (ar, tar, and even cat!), so you have to
install all those types of things by hand too before you even have a
working dpkg. Bootstrapping the rest of the base system from there isn't
very pretty either. None of the packages in base declare depenancies on
each other for one thing, and the unstated dependancies are highly

> I have bootstrapped some systems in such a way. It works with some hurdles
> which could be fixed.
> Gradually the installation systems files are replaced by the
> real(tm) debian stuff.

That's disgusting (tm). See below.

> 1. No base system needed.

Yes, but what a disgusting hack. Besides, if we do work around all my
objections 2 paragraphs above, the debian-installer could in theory do
this just as well; building up the base system from individual debs
without using a base tarball.

> 2. No udebs needed.

The udebs are there to distribute the work of writing and maintaining
this thing into easily swallowed chunks. They are there to let advanced
users craft customized installers by picking a collection of udebs that
will be available on them. They are a *feature*. They also incur a 
mere 11k of overhead; we already have the code written to deal with them.

> 3. Easy installation for a newbie.

No easier as far as I can see.

> 4. The current boot-system can be simplified and used for two
> purposes. The initial boot system as well as for a base for the future
> installation.

Again I think that's disgusting. I don't want *my* systems to rest on
such a shaky foundation. I want every file and directory in them to be
registered with dpkg and part of "real" Debian from the beginning.

> 5. An installation is possible without having any media or base system at
> all. The result will be pretty limited functionality on a HD.

But you can have the same limited functionality on a floppy, so I don't
see the point.

> 6. The detection of advanced hardware (such as video, mice etc) is
> not necessary via the initial boot system. The initial boot system just
> needs to provide one way to get to more .debs. Custom boot floppies could
> be made for special media. 
> Boot-floppies could be generated for a CD boot which do not need NIC or
> networking support.
> Floppy installs could be customized for an installation via the
> network. CD support eventually could be removed.

All features shared with my design.

see shy jo

Reply to: