[SLL] Etch install: "waiting for root file system" post-inst with I2O RAID

Phil Mocek pmocek-sll at mocek.org
Tue Aug 21 15:50:18 PDT 2007


(This started out as a request for assistance and is now more of a
report of solution.)

Overview:

New Debian Etch installation cannot mount root file system
after reboot.  Solved that by referring to fs by UUID
instead of device name.  How to do similar for swap partition?
Discovered that I2O RAID creates devices /dev/i2o/*.


Details:

I'm installing Debian Etch i386 using the netinst CD, performing
the following:

Create a single RAID-5 array in the Adaptec 2100S SCSI controller
BIOS using all the discs in the system (all SCSI, no ATA).

Boot from the installation CD.

Follow all the steps up to partitioning (nothing unusual
configured).

Create four primary partitions on sda:

    sda1: ext3 root
    sda2: unused
    sda3: LVM physical volume
    sda4: swap

Create one VG using the entire PV.

Create one LV each for /home, /tmp, /usr, /usr/local, /var, and
/var/log, create an ext3 file system on each, and configure them
to mount in the appropriate locations.  I symlink /opt to /usr/opt.

Follow more installer steps with no unusual configuration.

At the tasksel step, select only "standard system".

Install GRUB and finish.

While booting into the new system, after lots of boot messages, I
see the following:

> block-osm: registered device at major 80
>  i20/hda i2o/hda1 i2o/hda2 i2o/hda3 i2o/hda4
[note hda here instead of sda; why?]
> block-osm: device added (TID: 20d): i2o/hda
> Done.
> Begin: Mounting root file system... ...
> Begin: Running /scripts/local/top ...
> device-mapper: ioctl: 4.7.0-ioctl (2006-06-24) initialized: dm-devwel at redhat.com
> Done.
> Begin: Waiting for root file system... ...
[hangs here for about five minutes]
> Done
>         Check root=bootarg cat /proc/cmdline
>         or missing modules, devices: cat /proc/modules ls /dev
> ALERT! /dev/sda1 does not exist.  Dropping to a shell!

/proc/cmdline contains "root=/dev/sda1 ro".

/proc/modules shows the following modules along with some numbers
that I haven't transcribed:

    dm_mirror
    dm_snapshot
    dm_mod dm_mirror,dm_snapshot
    ide_generic
    i2o_block
    scsi_mod
    ide_cd
    cdrom ide_cd
    e100
    mii
    i2o_core i2o_block
    uhci_hcd
    usbcore uhci_hcd
    piix
    generic
    ide_core ide_generic,ide_cd,piix,generic
    thermal
    processor thermal
    fan

I searched the Web for the "waiting for root file system" message
and found some clues dealing with initramfs-tools and udev.  Using
the installation CD's rescue mode, I've upgraded initramfs-tools
from version 0.85g to 0.85h, and then replaced it with yaird.  I
upgraded the kernel from version 2.6.18-4-686 to 2.6.18-5-686.  No
improvements.  I switched back from yaird to initramfs-tools.

Then I read something about referring to the root file system in
GRUB configuration and fstab using UUID instead of /dev/whatever.
I used e2fsdump to find the UUID for the file system on /dev/sda1,
changed /boot/grub/menu.conf and /etc/fstab to use it, rebooted,
and it booted all the way, but the swap partition was not
activated.

Now when I show mounted file systems, the root system is listed as
/dev/i2o/hda1.

I edited fstab to refer to the swap partition as /dev/i2o/hda4,
and now that works.

How can I avoid this mess when installing in the future?

Any pointers to dealing with I2O SCSI RAID controllers (which
apparently refers to more than just Adaptec's) in Debian,
particularly during installation?  I found the raidutils package,
but it comes with zero documentation other than the built-in
command line reference.  I found this FAQ, which is somewhat
helpful:
<http://i2o.shadowconnect.com/faq.php>

-- 
Phil Mocek



More information about the linux-list mailing list