After you open the box, you stick the heavily
decorated cd in the disc drive as you boot up. A graphical interface with
pleasing and comforting colors greet the user. The user moves his mouse to
the proper buttons to start the install process. The user is provided with
various help in the install. The user is guided throughout the install to
This is a bit of a description of what a Linux
distribution installer should be like. I wasn't talking about any disto
specifically, but I think some of the major n00b distros fit in that
description. Gentoo is by far the most powerful and useful of the distros
available. Right now, I feel that the distro is aimed at users with a
great deal more experience with Linux.
There are many different types of Linux installs.
The first being Gentoo, which more or less lacks an install. All it has is
a basic live environment which contains the commands and programs to
install the system yourself. The next is that of an ncurses install, this
is seen in both FreeBSD and Debian (last time I used it). The next type is
reflecting that of Mandrake and Red Hat. The final type is really
different being like SuSE. It is a fully usable distro with the ability to
be installed (much like a GUI version of the Gentoo install system).
In order to optimally get users to feel comfortable
as well as in control of the install is to not limit them to one option.
Meaning, whatever happens we should still leave the standard and current
Gentoo install for more advanced users. I will now describe my plans for
an installer as follows. I am only stating some general ideas that will
only apply to Gentoo. I am not make anything that would require a specific
language or arch.
The first option the user will have would be to do
a completely manual install (the current one) or to do the more automated
install mirroring that of Mandrake or RH.
Since we are not changing the manual install, I
will pretend that we picked the automated install. Not that ncurses is
bad, but if we are going for the best we are going to want to stay away
from ncurses. The alternative to ncurses is setting up an X system with a
complete GUI install. That is not too easy on the programming nor the
The other thing that the new user will detest is
that of the extended waiting period to compile. On a slower CPU, the
install could take a day at least. Gentoo is known for its speed and high
performance due to the compiled programs. I propose that the user will be
able to control the exact content that is compiled. Bare with me as I
elaborate. In the install,the installer will detect the internet
connection, and the CPU speed. With the packages that the user selects and
the statistics of the users system, it can calculate times required to
install. Meaning, lets say I have a 500mhz system with a DSL line, I want
to install a GUI system with KDE. With that, the installer will give me
the options of compiling the core components and will take xxx time, and
compile the core components and the programs which will take xxx time,
lastly one can compile everything which ill take xxx time. Of course the
time taken for each of he different options will increase. With this said
and done, the user can have a partially optimized system and doesn't have
to wait the great time waiting.
Once packages are selected, and installation
methods are chosen the installation can continue. Media choice can differ
depending on if you are installing pure source, pure binary, or a hybrid
install. I guess we can have multiple cds available; binaries, source and
live. In addition I guess we can have the installer download specific
binaries and sources on servers.
The next step is the pre-install. We need to partition the drives. This
can be done in a number of ways, the simplest being by initially greping
the dmesg for 'hd'. In doing that we can have the user select which hd
they want, then to retrieve further info we use df and cfdisk. To do
the partitioning we will probably want to use dd and fdisk.
Once we actually have the drive setup, the package roundup will begin. If
the user is doing a remote install, all the packages are stored in /tmp.
Once we have all the files we need we will start compiling and / or
configuring. We must have progress indicators and information
After the compiling and installing has completed, we must customize the
system. Set date, time, time zone. Set root password, and create a user.
The user can add special things like printers, video drivers, and sound
Once the system is done installing and configuring we must make it
bootable. We will autodetect the other OS's on the system by scanning the
hd's. A boot configuration will be created and the user will be asked to
At this point in time, the user is happy with a fully installed Gentoo
Linux system. All of my ideas are simply that, ideas. I wrote this up
while sitting in English class, bored out of my mind. If there are any
questions on specific things regarding anything I've said I will clarify
-Dovid Kopel (munky)
email@example.com mailing list