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

Bug#394929: marked as done ([Etch] installation-guide-i386 - several steps are misleading or cannot be finished)

Your message dated Tue, 16 Jan 2007 13:55:03 +0000
with message-id <E1H6omF-0000NG-UH@ries.debian.org>
and subject line Bug#394929: fixed in installation-guide 20070115
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
Package: installation-guide-i386
Version: 20060726
Tags: d-i, etch

Overall experience with the current incarnation of the installation
guide with regard to appendix "D.3. Installing Debian GNU/Linux from a
Unix/Linux System" is that it's missing sevaral steps ore some of them
are misleading. Similar problems are also mirrored in the Ubuntu's
instalation guide, which I already reported in their BTS [1].

Disclaimer: please excuse my frequent references to the Ubuntu docs,
but I first encountered the same problems there and then quickly realized
that they may also affect Debian as well (and they do, indeed). It's
just that their docs already exist and are linkable, so I can point
to the right places instead of copying their content.
This report is the result of several days of intensive testing and
documenting problems with using debootstrap as a tool for installing
Debian Etch. I was encouraged to post such a bug report after consulting
debian-boot mailing list first [2].

Goal of this document

My main goal with manual installation using bootstrap was to install
a basesystem only, with equivalent settings that the debian-installer
does using official installation media. During that course I discovered
smaller and bigger issues, which are described in detail below.

D.3.1. Getting Started

From my observation, for a plain basesystem the required minimum space
is about 300MB. For default desktop installation it's about 2,7GB.

A side note: instalation leaves all of the downloaded .deb files in the
/var/cache/apt/archives directory. It can vary from 30MB to several
hundreds of MB. Maybe it would be advisable to add:

# apt-get autoclean

somewhere near the end of the guide?

D.3.2. Install debootstrap

Side note: I created two simple scripts for easy integrating debootstrap
with a running Linux installation (in my case PCLinuxOS and Gentoo), as
well as easy removal of the debootstrap files. This way I would be able
to remove them from the host OS after installing basesystem, but before
booting into newly installed Debian.

# mkdir -p ~/work
# cd ~/work
# wget http://ics.p.lodz.pl/~wiktorw/debootstrap/insert.sh
# wget http://ics.p.lodz.pl/~wiktorw/debootstrap/remove.sh
# wget http://ftp.pl.debian.org/debian/pool/main/d/debootstrap/debootstrap_0.3.3_all.deb
# ar -x debootstrap_0.3.3_all.deb data.tar.gz
# tar xzf data.tar.gz
# sh insert.sh        #### (and "sh remove.sh" for removal)

You can use them freely if you find them useful. Nonetheless, original
instructions for merging debootstrap with host OS are perfectly fine.

D.3.3. Run debootstrap

In the example debootstrap invocation there is a following mirror site
mentioned: "http://http.us.debian.org/debian";. While this works with US
mirror, for most other national mirrors this url pattern is invalid.
Suggested is to replace "http://http.us.debian.org/debian"; with

# /usr/sbin/debootstrap --arch ARCH etch \
    /mnt/debinst http://ftp.us.debian.org/debian        #### suggested

This way one can easily substitute ftp.us.debian.org with other national
mirror, by simply changing the country code.

D.3.4. Configure The Base System

Before chrooting into newly installed envirnoment, it's advisable to
mount /dev directory of the host system inside chroot. From within
a running Linux installation this can be done via:

# mount -o bind /dev /mnt/debian/dev        #### suggested
# LANG=C chroot /mnt/debian /bin/bash

This step ensures that all device nodes are actually accessible, or else
a grub installation may later fail (and it typically does). The reason
is that in static Debian /dev there are only nodes created by debotstrap,
extracted from its /usr/lib/debootstrap/devices.tar.gz file.

# export TERM=xterm-color                   #### suggested

Additionally, it's wise to change the terminal definition, to the one
compatible with the system being installed - and not using a copy of the
host OS setting (in my case it was TERM=gnome and nano refused to work).

D.3.4.1. Mount Partitions

# editor /etc/fstab

It's worth to note that the default d-i instalation contains a link to
the cdrom mountpoint (/media/cdrom -> /media/cdrom0). The guide never
points that out:

# cd /media                 #### suggested
# mkdir cdrom0              #### suggested
# ln -s cdrom0 cdrom        #### suggested
# cd                        #### suggested

While the guide lists most commands the user should write in the boxes
with the silver background, sometimes commands are listed in plain text
with the boldface only. For consistency:

# mount -a                  #### suggested

As a side note, I've found that:

# mount -t proc proc /proc

was always necessary (both in Debian and Ubuntu).

D.3.4.2. Configure Keyboard            #### suggested removal

The mentioned command:

# dpkg-reconfigure console-data        #### PROBLEM HERE!

results in an error, as console-data is not installed at this point
by the bootstrap (package could not be found). It could be installed
manually, but on the other hand this step is not necessary - see D.3.4.5.

D.3.4.2. Setting Timezone              #### suggested new section

Even though d-i in expert mode asks explicitely whether the system should
use UTC or not and guesses the timezone by the country/region selected,
the guide is completely missing this. So choose between UTC=yes / UTC=no
and select the timezone by executing:

# editor /etc/default/rcS              #### suggested
# tzconfig                             #### suggested

D.3.4.3. Configure Networking

# editor /etc/network/interfaces

Excellent step here, especially examples. Even d-i doesn't do that :-)

# editor /etc/resolv.conf
# echo DebianHostName > /etc/hostname

However, I've found that while d-i puts some lines in /etc/hosts, the
guide doesn't have any pointers. The simplest and the most needed
(depicting localhost and host node as is the following:

# echo " localhost DebianHostName" > /etc/hosts   #### suggested

D.3.4.4. Configure apt Sources        #### suggested

While the guide enigmatically mentions that "apt must be configured
beforehand by creating a sources.list and running aptitude update",
the person installing Debian from another Unix/Linux system is currently
required to have a proper understanding of /etc/sources.list syntax.
In short: a prior Debian experience is required. Additionally, the guide
doesn't promote good practices and doesn't even mention the security
update sites. If a user leaves only the default single line with the
mirror used for installation, he/she cuts itself out of security updates.

This can be avoided by providing a simple, yet effective example of apt's
sources.list configuration. I did it this way:

# cat >> /etc/apt/sources.list <<EOF                     #### suggested
deb-src http://ftp.us.debian.org/debian etch main        #### suggested
deb http://security.debian.org/ etch/updates main        #### suggested
deb-src http://security.debian.org/ etch/updates main    #### suggested
EOF                                                      #### suggested

Of course, a small discussion of sources.list or a complete copy'n'paste
example is always welcome. Additionally, consider providing a link to the
apt's documentation regarding the sources.list file.

Since in the next sections some packages are going to be installed, it's
wise to execute two additional commands at this moment:

# editor /etc/apt/sources.list                           #### suggested
# apt-get update                                         #### suggested

D.3.4.5. Configure Locales and Keyboard        #### suggested new section

System-wide locale settings are placed in /etc/environment file. The d-i
does put a LANG= line there, but the guide completely leaves this file
alone. Consider adding LANGUAGE= and LANG= settings here:

# cat >> /etc/environment <<EOF                #### suggested (ver.A)
LANGUAGE="de_DE:de:en_US:en"                   #### suggested (ver.A)
LANG="de_DE.UTF-8"                             #### suggested (ver.A)
EOF                                            #### suggested (ver.A)

(de_DE locale has been chosen arbitrarily, personally I've used pl_PL).

Another alternative (and shorter) approach is following:

echo LANGUAGE=\"de_DE:de:en_US:en\" >> /etc/environment  #### suggested
echo LANG=\"de_DE.UTF-8" >> /etc/environment             #### (ver.B)

After that locales package should be installed and reconfigured:

# apt-get install locales
# dpkg-reconfigure locales

Then the new, console-setup package (the same the Ubuntu uses) should be
installed and reconfigured:

# apt-get install console-setup                #### suggested
# dpkg-reconfigure console-setup               #### suggested

(console-setup is much more than the old console-data package)

D.3.5. Install a Kernel

# apt-cache search linux-image

Prior to the installation of kernel, it would be wise to set some options
in /etc/kernel-img.conf for better integration with automatic kernel
update procedure:

# cat > /etc/kernel-img.conf <<EOF             #### suggested
# Kernel Image management overrides            #### suggested
# See kernel-img.conf(5) for details           #### suggested
do_symlinks = yes                              #### suggested
relative_links = yes                           #### suggested
do_bootloader = no                             #### suggested
do_bootfloppy = no                             #### suggested
do_initrd = yes                                #### suggested
link_in_boot = no                              #### suggested
EOF                                            #### suggested

If the above aren't set, kernel installation mercilesly warns about
missing "do_symlinks = yes" entry in /etc/kernel-img.conf file.
With the correct setting in place the kernel installation goes smoothly:

# apt-get install linux-image-2.6.17-arch-etc        #### correction!

Note the "apt-get" invocation above, instead of "aptitude". Is aptitude
necessary for this at all?

It can be beneficial for some users to (optionally) install kernel
headers at this point (with gcc and some other packages as dependencies).
This is completely optional and in specific cases (e.g. a secure server)
not desirable at all. I've found that this package is suggested by the
linux-image-* packages, so I bring it to the table as well:

# apt-get install linux-kernel-headers-2.6.17-arch-etc    #### optional

D.3.6. Set up the Boot Loader

By default, new Debian Etch installer proposes GRUB installation.
This is fine, however three simple lines can be a time savior:

# apt-get install grub         #### suggested
# grub-install /dev/XXX        #### suggested

The most important is the third line, as the update-grub command creates
a working, sane content of /boot/grub/menu.ls file:

# update-grub                  #### suggested

D.3.7. Create a User           #### suggested new section

Even though d-i in expert mode asks whether system should use shadow
passwords, the guide doesn't mention it. This step is optional:

# shadowconfig on              #### optional

Debian installer in expert mode asks whether a user wants to set the
root's password or use the sudo package. Ubuntu's guide [3] has a very
nice section here (D.4.7. Create a User), concerning the usage of normal
root account vs. sudo package. Maybe a similar section can be considered
for inclusion here?

Alternatively, one can easily go with a regular root account. In that
case, without setting a root's password one cannot do much after reboot:

# passwd root                  #### suggested

It's worth to add that all mounted filesystems can be unmounted at this
point and the system should be rebooted in order to login into newly
installed environment.

D.3.8. Installing Tasks        #### suggested new section

While not very necessary, it would also be beneficial (and complementary
to the normal system installation procedure) to introduce a tasksel
program here. A list of available tasks can be obtained via:

# tasksel --list-tasks         #### suggested

And default desktop installation can be performed by:

# tasksel install standard
# tasksel install desktop

I hope this documentation effort will be useful and I wholeheartedly
welcome all constructive criticism upon it.

With best regards,
Wiktor Wandachowicz

[1] https://launchpad.net/bugs/64765
[2] http://lists.debian.org/debian-boot/2006/10/msg00697.html
[3] http://archive.ubuntu.com/ubuntu/pool/main/i/installation-guide/installation-guide-i386_20060726ubuntu5_all.deb

Registered Linux user #390131 (http://counter.li.org)

--- End Message ---
--- Begin Message ---
Source: installation-guide
Source-Version: 20070115

We believe that the bug you reported is fixed in the latest version of
installation-guide, which is due to be installed in the Debian FTP archive:

  to pool/main/i/installation-guide/installation-guide-alpha_20070115_all.deb
  to pool/main/i/installation-guide/installation-guide-amd64_20070115_all.deb
  to pool/main/i/installation-guide/installation-guide-arm_20070115_all.deb
  to pool/main/i/installation-guide/installation-guide-hppa_20070115_all.deb
  to pool/main/i/installation-guide/installation-guide-i386_20070115_all.deb
  to pool/main/i/installation-guide/installation-guide-ia64_20070115_all.deb
  to pool/main/i/installation-guide/installation-guide-mips_20070115_all.deb
  to pool/main/i/installation-guide/installation-guide-mipsel_20070115_all.deb
  to pool/main/i/installation-guide/installation-guide-powerpc_20070115_all.deb
  to pool/main/i/installation-guide/installation-guide-s390_20070115_all.deb
  to pool/main/i/installation-guide/installation-guide-sparc_20070115_all.deb
  to pool/main/i/installation-guide/installation-guide_20070115.dsc
  to pool/main/i/installation-guide/installation-guide_20070115.tar.gz

A summary of the changes between this version and the previous one is

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 394929@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
Frans Pop <fjp@debian.org> (supplier of updated installation-guide package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)

Hash: SHA1

Format: 1.7
Date: Mon, 15 Jan 2007 22:10:16 +0100
Source: installation-guide
Binary: installation-guide-powerpc installation-guide-amd64 installation-guide-s390 installation-guide-ia64 installation-guide-mipsel installation-guide-arm installation-guide-mips installation-guide-sparc installation-guide-alpha installation-guide-i386 installation-guide-hppa
Architecture: source all
Version: 20070115
Distribution: unstable
Urgency: low
Maintainer: Frans Pop <fjp@debian.org>
Changed-By: Frans Pop <fjp@debian.org>
 installation-guide-alpha - Debian installation guide
 installation-guide-amd64 - Debian installation guide
 installation-guide-arm - Debian installation guide
 installation-guide-hppa - Debian installation guide
 installation-guide-i386 - Debian installation guide
 installation-guide-ia64 - Debian installation guide
 installation-guide-mips - Debian installation guide
 installation-guide-mipsel - Debian installation guide
 installation-guide-powerpc - Debian installation guide
 installation-guide-s390 - Debian installation guide
 installation-guide-sparc - Debian installation guide
Closes: 248067 305977 342076 367861 370425 370484 378404 378651 380588 381657 384321 386591 388138 389516 394413 394471 394929 395910 397790 397923 397974 400263 402437 402439 402492 402857 403035
 installation-guide (20070115) unstable; urgency=low
   [ Colin Watson ]
   * Document new pkgsel/include setting.
   * Fix incorrect documentation on preseeding additional apt sources.
   * Fix typo in hppa hardware support documentation
   * Adjust chroot-install guide to take account of debootstrap being
     Architecture: all now (https://launchpad.net/bugs/64765).
   [ Frans Pop ]
   * Various corrections suggested by Clytie Siddall and Holger Wansing.
     Closes: #378404, #370484, #370425.
   * Update instructions on how to set module parameters for PLIP installation.
   * Update chroot install instructions to use aptitude instead of apt-get.
   * Add /srv in overview of directory tree in partitioning appendix.
   * Update section on partitioning using LVM to reflect recent changes.
   * Apply various patches by or based on suggestions from Nathanael Nerode.
     Some of the bigger changes include:
     - Update of processor support for the i386 architecture.
     - Update information on setting up a RARP server.
   * Add variant for the AMD64 architecture. Closes: #305977.
   * Suppress warnings about missing IDs for sections and such.
   * Reorganize supported hardware table; i386 no longer has flavors.
   * Document SMP-alternatives as one of the variants of SMP support.
   * Document how to shut down the system. Based on patch from Holger Levsen.
     Closes: #248067.
   [ Miroslav Kure ]
   * Update information about booting with encrypted partitions.
     Closes: #378651.
   [ Joey Hess ]
   * Update preseeding docs to document listing more than one disk for
     partman-auto/disk and grub-installer/bootdev
   [ Changwoo Ryu ]
   * Add support for Korean PDF output. Requires latex-hangul-ucs-hlatex.
     Closes: #381657.
   [ David Härdeman ]
   * Update preseeding documentation for partman-auto.
   [ Frans Pop ]
   * Correct error for alpha netboot installations. Thanks to Aurélien Géröme.
     Closes: #386591.
   * Correct number of release arches. Thanks to Holger Wansing. Closes: #384321.
   * Minor corrections suggested by Malcolm Parsons. Closes: #388138.
   * Document new boot parameters theme and directfb/hw-accel.
   * Remove now obsolete distinction between classic and common kpkg.
   * Update all arches to kernel version 2.6.17.
   * Set default value for manual_release in build wrapper scripts.
   * Add new section in preseeding appendix on partman-auto-raid. Not included
     in preseed text file as it is still somewhat experimental.
   * Document changes in guided partitioning and added encrypted LVM support.
   * Disable m68k for official builds as it is not a release architecture.
   * buildweb.sh: use 'mv -f' to avoid errors during builds on the webserver.
   * Minor corrections suggested by Clytie Siddall. Closes: #394413, #394471.
   * Update task sizes as per D-I RC1.
   * New troubleshooting section on how to deal with CD-ROM related problems.
   * Document how to pass parameters to kernel modules on boot.
   * Document how to install KDE instead of Gnome in the section on pkgsel.
   [ Joey Hess ]
   * Update for recent floppy changes.
   * Remove hardcoded paths to executables in buildone.sh.
   * Set HOME to a temporary directory before running w3m, to avoid it
     trying to write to a home directory that may not exist on the buildds.
     (See #393641)
   * Update the installation report template to match current one in
   [ Philip Hands ]
   * Clarify how -- affects which parameters end up in the target system's
     bootloader's command line.
   [ Joey Hess ]
   * Applied Phil's auto mode documentation patch, edited it, and moved
     some things around for clarity. Closes: #395910
   * Document auto=true boot parameter.
   [ Frans Pop ]
   * Add condition "g-i" for arches that support the graphical installer.
   * Document mouse/left boot parameter.
   * Explain usage of "owner" prefix when setting values for debconf variables
     intended for the target system at the boot prompt.
   * Give some examples of preseeding questions from the boot prompt.
   * Document how to install the KDE desktop environment instead of GNOME.
   * Don't list unsupported frontends in boot parameters section.
   * Minor corrections suggested by Tapio Lehtonen. Closes: #397790.
   * Minor corrections suggested by Holger Wansing. Closes: #397974.
   [ Martin Michlmayr ]
   * Mention that RiscPC support is incomplete.
   * Mention Intel IOP32x support.
   * Talk about ixp4xx rather than the more specific nslu2.
   [ Frans Pop ]
   * Update all arches to kernel version 2.6.18.
   * Minor corrections and some rewrites based on suggestions from
     Clytie Siddall. Closes: #367861, #380588.
   * Update Sparc specific information and document common installation issues
     for Sparc. Many thanks to Jurij Smakov for reviewing the Sparc manual and
     for his overview of issues.
   * Etch ships with X.Org 7.1.
   * Update number of developers, packages and mailing lists.
   * General revision of minimum hardware requirements throughout the manual.
   * Update of installed/download size of tasks.
   * Document the graphical installer, including the main known issues.
   * Avoid generating XML files multiple times for translations using PO files
     when using build.sh or buildweb.sh sripts.
   * bookinfo:
     - Add note for m68k that it is not a release architecture for Etch.
   * hardware:
     - Remove ancient section on parity RAM. Closes: #403035.
     - Update documenation for Sparc, based on patch by Jurij Smakov.
       Closes: #389516.
     - PowerPC/APUS is currently not supported; removed from hardware table.
     - Remove sun4cd (sparc32) from and add sun4v (sparc64) in hardware table.
     - Rewrite of NIC support, document wireless support (for selected arches)
       and explain issues surrounding drivers that require firmware.
   * preparing:
     - Clean out ancient hardware issues.
   * boot-installer/parameters:
     - Document anna/choose_modules and mirror/protocol boot parameters.
     - Use a clearer way to list the short form of parameters.
     - Document new option to blacklist kernel modules.
   * boot-installer/trouble:
     - Fix reference to Save debug logs menu option.
       Thanks, Philippe Batailler. Closes: #402439.
     - Add a note that installation reports will be published.
   * install-methods:
     - All architectures that support TFTP booting also support DCHP, so remove
       the "supports-dhcp" condition.
     - According to the text, Alpha supports BOOTP.
     - Use dhcp3-server for examples rather than dhcp (version 2).
     - tftpd-hpa does not use /tftpboot by default; allow for this in examples.
       Closes: #342076.
   * using-d-i:
     - Extend description of lowmem installs based on a patch suggested by
       Holger Wansing. Closes: #400263.
   * boot-new:
     - Remove reference to apt guide (not installed by default) and obsolete
       debian-guide. Thanks, Philippe Batailler. Closes: #402492.
     - As lynx is no longer installed, suggest w3m as text based browser.
     - Explain how to browse /usr/share/doc/ using a graphical web browser.
     - Mention documentation packages.
     - Clarify what happens on first boot and how to get help to in case of
   * post-install:
     - Remove section on reactivating Windows; the installer should detect it
       automatically after all. Closes: #402437.
     - Add extended section on email configuration (moved from using-d-i as
       exim4 now configures for "local mail only" by default). Closes: #402857.
   * appendix/preseed:
     - Clarifications based on comments from Tapio Lehtonen and Holger Wansing.
       Closes: #397923.
   * appendix/chroot-install:
     - Changes suggested in review by Wiktor Wandachowicz. Closes: #394929.
   [ Frans Pop ]
   * Prepare for release. This release is mostly for testing purposes, the real
     release targeted at Etch will be next week.
   * Add and enable amd64 architecture.
   * Update control file for dropped m68k and added amd64 architectures.
   * Disable Catalan, Korean, Spanish and Brazillian translations as they are
     not yet complete.
   * Enable Finnish translation.
 4b0077f8a3375e53eb75afb45cfa0ed9 1096 doc optional installation-guide_20070115.dsc
 f3b87fb99a7a5c7a21dc9b9091efcc0c 6981323 doc optional installation-guide_20070115.tar.gz
 bc1c27162b482a17e16e313e83ed4f60 9658894 doc optional installation-guide-alpha_20070115_all.deb
 96573c2391e27943581577fb5fb30345 10857244 doc optional installation-guide-amd64_20070115_all.deb
 6b7e760d7487767f95c9a3bec2a06883 9339222 doc optional installation-guide-arm_20070115_all.deb
 c5f66e029e83be243587a983a5623f66 9012982 doc optional installation-guide-hppa_20070115_all.deb
 d0ea716a7c366c6524e6b35052b59afd 11193704 doc optional installation-guide-i386_20070115_all.deb
 0ec802051d3feaf826f54408ce302f13 9636772 doc optional installation-guide-ia64_20070115_all.deb
 3ade5b6167325b49eff25fb77962e370 9149518 doc optional installation-guide-mips_20070115_all.deb
 6da53052e21c88b99b3fc97457f07c31 9309658 doc optional installation-guide-mipsel_20070115_all.deb
 54fc183386447687213fb00b98196a19 10742960 doc optional installation-guide-powerpc_20070115_all.deb
 a8cc70444070b0fd84777cf5a1a7c063 8600416 doc optional installation-guide-s390_20070115_all.deb
 5afa47cdd1a2859acf87a1bcc8b20fc0 9828986 doc optional installation-guide-sparc_20070115_all.deb

Version: GnuPG v1.4.6 (GNU/Linux)


--- End Message ---

Reply to: