[Edgy] installation-guide-i386 - several steps are misleading or cannot be finished

Bug #64765 reported by Wiktor Wandachowicz
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
installation-guide (Ubuntu)
Expired
Medium
Unassigned

Bug Description

Binary package hint: installation-guide-i386

I've tried to install Ubuntu without official installation media, using only manual installation as described in Ubuntu Installation Guide (for Edgy):

http://archive.ubuntu.com/ubuntu/pool/main/i/installation-guide/installation-guide-i386_20060726ubuntu2_all.deb
-> "D.4. Installing Ubuntu from a Unix/Linux System"

Having installed Gentoo manually several times as well as Debian/SPARC, Ubuntu/i386 and after upgrading recently a Hoary installation to Dapper I thought about giving this method a spin. I've used a live CD distribution (PCLinuxOS .93A to be exact) and tried to follow the steps from the guide. Here are brief results with several recommendations:

1. Partitioning and creating filesystems went without any trouble.

2. Installing debootstrap was a bit puzzling, because the guide mentions the following naming scheme:

   debootstrap_0.X.X_arch.deb

This only applies to older versions of debootstrap (like 0.2.39ubuntu22 or 0.2.45ubuntu27):

http://archive.ubuntu.com/ubuntu/pool/main/d/debootstrap/debootstrap_0.2.39ubuntu22_i386.deb
http://archive.ubuntu.com/ubuntu/pool/main/d/debootstrap/debootstrap_0.2.45ubuntu27_i386.deb

Problem is, these versions do not support Edgy - they don't contain required scripts. Only version 0.3.3.0ubuntu6 supports Edgy installation and it's no more arch-dependent (contains no binaries and only bash scripts):

http://archive.ubuntu.com/ubuntu/pool/main/d/debootstrap/debootstrap_0.3.3.0ubuntu6_all.deb

SUGGESTIONS:
 - change "debootstrap_0.X.X_arch.deb" to " debootstrap_0.X.X_all.deb"
 - remove references to "binary" and "binaries" from the text

3. Creating /etc/fstab went without problems.

4. Configuring the keyboard was unsuccesful at first. Basically dpkg complained about console-data package not being installed (!). I installed two packages to silence it:

apt-get install console-data unicode-data

I need to be honest here - I installed unicode data instinctively, as I have seen that Dapper uses UTF-8 locales by default. After installation of the two aforementioned packages keyboard configuration finished successfully.

5. Network configuration and setting the hostname went without problems.

6. Locale configuration was unsuccesful at first. I installed these two packages:

apt-get install language-pack-en language-pack-pl

which also installed language-pack-en-base and language-pack-pl-base. Installation of these packages triggered the generation of en_* and pl_PL locales. Then:

dpkg-reconfigure locales

succeded, but triggered the generation of en_* locales again (!). However, pl_PL locale was not regenerated - it was considered current. Apart from that, this step finished successfully.

7. Kernel installation was rather easy. Since linux-image-686 turned out to be obsoleted by linux-image-generic I did:

apt-cache search linux-image
apt-get install linux-image-generic

This resulted in the screen notifying about initrd installation. As suggested, I've chosen not to proceed and added the /etc/linux-kern.conf (IIRC) with the line suggested by the message. Then:

apt-get install linux-image-generic

failed miserably. I needed to remove and reinstall the meta-package in order to proceed:

apt-get remove linux-image-generic
apt-get install linux-image-generic

8. Setting up a boot loader gave me the most trouble. I wanted to go with grub:

apt-get install grub

Somehow this didn't put any files nor dirs in /boot directory. So I've tried to automatically create a proper configuration, by using grub-update - but it notified me about missing /boot/grub directory. Finally I did:

mkdir /boot/grub
grub-update

This created /boot/grub/menu.lst file, but nothing else. By running:

dpkg -L grub

I was able to find out where are the grub files. Then I've copied them by hand:

for f in /lib/grub/i386-pc/*; do cp -a ${f} /boot/grub; done

Then grub complained about not being able to locate (hd0,2), where I wanted it to be installed. Soon I've found out that there was no /dev/hd* device nodes, nor /dev/sd* to be fair. I needed to create a bunch of them manually:

cd /dev
mknod -m 660 hda b 3 0
mknod -m 660 hda1 b 3 1
mknod -m 660 hda2 b 3 2
mknod -m 660 hda3 b 3 3
mknod -m 660 hda4 b 3 4
...

All this allowed grub to be installed on /dev/hda3 partition. I needed also to tweak /boot/grub/menu.lst a bit (mostly change "(hd0,0)" to "(hd0,2)") and issue grub-update once again, but now it was easy compared to the problems described.

SUGGESTION: figure out carefully grub installation method and describe it in the guide.

9. Creating a user, admin group and adding user to it went without any problems.

10. Reboot greeted me with unexpected problem, namely "savedefault" option in menu.lst prevented the system from starting. Removing this line resolved this problem for good.

11. installing the Ubuntu Desktop via:

sudo tasksel install ubuntu-standard ubuntu-desktop

was unsuccessful (there is no "ubuntu-standard" task). The shorter version:

sudo tasksel install ubuntu-desktop

took almost an hour (it was a slow machine, 1,7 Celeron, 256MB RAM), but eventually it succeeded. It was a great reward after all the struggle! :)

Finishing thoughts:

I'm not sure if these are the real, repeatable problems or if this was the classical example of PEBKAC. I suggest someone to take a similar approach and try to install Edgy using this method before making a final release. Some of these problems may quite easily be resolved by changing the dependencies of packages. Some may require documenting additional steps.

I've managed to overcome all those hurdles, but given the fact that they exist today means that the current documentation is at least misleading. Please look into it if you have time. I was able to deal with this breakage, but not everyone have to be so lucky.

With best regards,
Wiktor Wandachowicz

description: updated
Revision history for this message
Colin Watson (cjwatson) wrote :

I've committed a fix upstream for the debootstrap glitches.

Don't use console-data any more; instead, use 'dpkg-reconfigure console-setup'. I've updated Edgy's installation-guide package for this. unicode-data is also unnecessary unless it's pulled in as a dependency of something else you need.

'dpkg-reconfigure locales' is unnecessary. I've updated Edgy's installation-guide package to describe language pack installation.

I've made the chroot-install documentation a bit more verbose about how to install grub, although I'm not sure about the missing devices you had.

The ubuntu-standard task does exist; I just got the tasksel invocation wrong. Try 'sudo tasksel install ubuntu-standard; sudo tasksel install ubuntu-desktop' instead. Fixed in Edgy.

I'll leave this bug open, since it's certainly true that this documentation hasn't been tested in a while, and it should be.

installation-guide (20060726ubuntu4) edgy; urgency=low

  * Various fixes to chroot-install guide (see Malone #64765):
    - Adjust chroot-install guide to take account of debootstrap being
      Architecture: all now (backported from trunk).
    - Reconfigure console-setup, not console-data.
    - Point to language packs rather than suggesting reconfiguring locales.
    - Add a bit more advice about installing grub.
    - Fix tasksel instructions.

 -- Colin Watson <email address hidden> Mon, 9 Oct 2006 14:39:56 +0100

Changed in installation-guide:
importance: Undecided → Medium
status: Unconfirmed → Confirmed
Revision history for this message
Wiktor Wandachowicz (siryes) wrote :

First of all, thank you for a quick action and accurate reply!

I was able to repeat the steps on another machine, using the updated guide. Still, the devices in /dev were missing. But now this is quite understandable, simply because it contains only the files from /usr/lib/debootstrap/devices.tar.gz file (see attached default-dev.txt file).

As a workaround one can do (at least in Linux, not sure about other OS's):

# mount --bind /dev /mnt/ubuntu/dev

before chrooting into installation environment, to use the /dev hierarchy of the running host system.

Alternatively, one can mknod required devices in chroot just before installing grub and then remove them safely, because Linux kernel + udev should handle this gracefully from now on.

Revision history for this message
Wiktor Wandachowicz (siryes) wrote :

I evaluated more the alternative installation method, "Installing Ubuntu from a Unix/Linux System" and I have further suggestions.

First of all, languages and locales. By following the guide to the letter one still will not have a full native language support. It turns out that additional steps are necessary. Also, the default user is missing several useful abilities by not being added to the right groups.

SUGGESTIONS:

1. After installing "ubuntu-desktop" using tasksel one should issue:

# sudo apt-get install language-support-de

or similar (just change "-de" to another language) to get a full native language support.

2. It's also necessary to run:

# sudo tzconfig

to prevent the system from warning about time zone being set to "Unknown" at the first system upgrade. This is especially annoying, as one must click on the embedded "Terminal" control inside Synaptics progress window and type "y", name of the region and capital *while doing the upgrade*. (user surprised, upgrade seems to "hang")

3. It may be also advisable to run:

# sudo editor /etc/default/rcS

and change "UTC=yes" to "UTC=no" if one doesn't want to use universal time (it's wise to turn off UTC if one runs Windows on the same machine, for example).

4. Default system-wide locale can be set by issuing:

# sudo echo LANGUAGE=\"de_DE:de:en_US:en\" >> /etc/environment
# sudo echo LANG=de_DE.UTF8 >> /etc/environment

(substitute de_DE:de for any other language you need). This influences the default language on the gdm login screen.

5. Default user (with administrative privileges) cannot hear or play any sound by default, as well as doing some typical activities like using USB disks. It's easy to change this by adding the account to the right groups:

# sudo adduser myusername cdrom floppy audio plugdev

If you think it's worth to add some more commands to the guide in order to make it more on par with default Ubuntu installation, then please consider to do so. Especially since the guide recommends to install "ubuntu-desktop" task, but doesn't help with setting the system in a similar way like the LiveCD installer does.

Revision history for this message
Wiktor Wandachowicz (siryes) wrote :

Additionally, I've found that using the debootstrap method shadow passwords are turned off by default. I think it would be beneficial to mention the following command:

# shadowconfig on

Probably near the base system installation, before adding a user account for normal operations.

Revision history for this message
Wiktor Wandachowicz (siryes) wrote :

I've found one more quirk, namely in chapter:

"6.3. Using Individual Components"
(installation-guide-i386/en/ch06s03.html)

in subsection "6.3.1.3. Choosing a Keyboard" the guide claims that it is possible to configure the keyboard by using "kbdconfig" program. However, after installation no such program can be found, both under normal and administrative account. (i.e. both "$ kbdconfig" and "$ sudo kbdconfig" lead to an error)

SUGGESTION:
Since the keyboard can be configured now by the means of:

  dpkg-reconfigure console-setup

consider replacing the "kbdconfig" invocation by the above command.

elliot (elliot551)
Changed in installation-guide (Ubuntu):
assignee: nobody → elliot (elliot551)
Revision history for this message
edgardo (edgardoangelezcano) wrote :

conozco muy poco de informática, menos de Ubuntu y casi nada de ingles. I'm sorry.

Revision history for this message
edgardo (edgardoangelezcano) wrote :

I know very little of computers, even less of Ubuntu, and almost nothing of English.

Changed in installation-guide (Ubuntu):
status: Confirmed → New
status: New → Incomplete
status: Incomplete → Opinion
status: Opinion → New
Revision history for this message
Thomas Hotz (thotz-deactivatedaccount) wrote :

Setting this idea to confirmed.

Changed in installation-guide (Ubuntu):
status: New → Confirmed
assignee: elliot (elliot551) → nobody
bellojibo (bejibo11)
Changed in installation-guide (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for installation-guide (Ubuntu) because there has been no activity for 60 days.]

Changed in installation-guide (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.