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

Bug#265424: installation-reports: mkinitrd omits medley module needed to mount root



Package: installation-reports
Debian-installer-version: i386/rc1/sarge-i386-netinst.iso
uname -a: Linux monroe 2.4.26-1-386 #2 Sat May 1 16:31:24 EST 2004 i686 unknown
Date: 2004-Aug-08 00:06 GMT
Method: Installed from CD containing sarge-i386-netinst.iso (release candidate 1)
Machine: ASUS A7N8X Deluxe 2.0
Processor: Athlon XP 2500+
Memory: 1 GB
Root Device: Silicon Image Sil 3112 SATA RAID
Root Size/partition table: 
Disk /dev/ataraid/disc0/disc: 160.0 GB, 160049561600 bytes
255 heads, 63 sectors/track, 19458 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

                  Device Boot      Start         End      Blocks   Id  System
/dev/ataraid/disc0/part1               1       14888   119587828+   7  HPFS/NTFS
/dev/ataraid/disc0/part2           19336       19458      987997+   f  W95 Ext'd (LBA)
/dev/ataraid/disc0/part3   *       14889       19335    35720527+  83  Linux
/dev/ataraid/disc0/part5           19337       19458      979965   82  Linux swap

Partition table entries are not in disk order

/dev/ataraid/disc0/part3 will be mounted on /

Output of lspci:
(using KNOPPIX_V3.4-2004-05-17-EN)
0000:00:00.0 Host bridge: nVidia Corporation nForce2 AGP (different version?) (rev c1)
0000:00:00.1 RAM memory: nVidia Corporation nForce2 Memory Controller 1 (rev c1)
0000:00:00.2 RAM memory: nVidia Corporation nForce2 Memory Controller 4 (rev c1)
0000:00:00.3 RAM memory: nVidia Corporation nForce2 Memory Controller 3 (rev c1)
0000:00:00.4 RAM memory: nVidia Corporation nForce2 Memory Controller 2 (rev c1)
0000:00:00.5 RAM memory: nVidia Corporation nForce2 Memory Controller 5 (rev c1)
0000:00:01.0 ISA bridge: nVidia Corporation nForce2 ISA Bridge (rev a4)
0000:00:01.1 SMBus: nVidia Corporation nForce2 SMBus (MCP) (rev a2)
0000:00:02.0 USB Controller: nVidia Corporation nForce2 USB Controller (rev a4)
0000:00:02.1 USB Controller: nVidia Corporation nForce2 USB Controller (rev a4)
0000:00:02.2 USB Controller: nVidia Corporation nForce2 USB Controller (rev a4)
0000:00:04.0 Ethernet controller: nVidia Corporation nForce2 Ethernet Controller (rev a1)
0000:00:05.0 Multimedia audio controller: nVidia Corporation nForce MultiMedia audio [Via VT82C686B] (rev a2)
0000:00:06.0 Multimedia audio controller: nVidia Corporation nForce2 AC97 Audio Controler (MCP) (rev a1)
0000:00:08.0 PCI bridge: nVidia Corporation nForce2 External PCI Bridge (rev a3)
0000:00:09.0 IDE interface: nVidia Corporation nForce2 IDE (rev a2)
0000:00:1e.0 PCI bridge: nVidia Corporation nForce2 AGP (rev c1)
0000:01:0b.0 RAID bus controller: Silicon Image, Inc. (formerly CMD Technology Inc) Silicon Image Serial ATARaid Controller [ CMD/Sil 3112/3112A ] (rev 02)
0000:02:00.0 VGA compatible controller: nVidia Corporation NV25 [GeForce4 Ti 4400] (rev a2)

Output of lspci -n:
(using KNOPPIX_V3.4-2004-05-17-EN)
0000:00:00.0 Class 0600: 10de:01e0 (rev c1)
0000:00:00.1 Class 0500: 10de:01eb (rev c1)
0000:00:00.2 Class 0500: 10de:01ee (rev c1)
0000:00:00.3 Class 0500: 10de:01ed (rev c1)
0000:00:00.4 Class 0500: 10de:01ec (rev c1)
0000:00:00.5 Class 0500: 10de:01ef (rev c1)
0000:00:01.0 Class 0601: 10de:0060 (rev a4)
0000:00:01.1 Class 0c05: 10de:0064 (rev a2)
0000:00:02.0 Class 0c03: 10de:0067 (rev a4)
0000:00:02.1 Class 0c03: 10de:0067 (rev a4)
0000:00:02.2 Class 0c03: 10de:0068 (rev a4)
0000:00:04.0 Class 0200: 10de:0066 (rev a1)
0000:00:05.0 Class 0401: 10de:006b (rev a2)
0000:00:06.0 Class 0401: 10de:006a (rev a1)
0000:00:08.0 Class 0604: 10de:006c (rev a3)
0000:00:09.0 Class 0101: 10de:0065 (rev a2)
0000:00:1e.0 Class 0604: 10de:01e8 (rev c1)
0000:01:0b.0 Class 0104: 1095:3112 (rev 02)
0000:02:00.0 Class 0300: 10de:0251 (rev a2)

Base System Installation Checklist:

Initial boot worked:    [O]
Configure network HW:   [O]
Config network:         [O]
Detect CD:              [E]
Load installer modules: [O]
Detect hard drives:     [O]
Partition hard drives:  [E]
Create file systems:    [O]
Mount partitions:       [O]
Install base system:    [O]
Install boot loader:    [E]
Reboot:                 [E]
[O] = OK, [E] = Error (please elaborate below), [ ] = didn't try it

Comments/Problems:

Attempting to installing Sarge onto free space of two Seagate
ST380013AS 80 GB drives arranged in a RAID 0 striped set by the Sil
3112/3112A controller. There is an existing NTFS partition on the
striped set.

Also reference bug #258500, Installer fails to recognise SiI3112 hw
RAID array.

-------------------------------
Checklist Error 1 (not serious)

During 'Detect and mount CD-ROM', reports "Error while running
'modprobe -v medley'". The only choice displayed is 'continue', and
the installation proceeds despite the error.

I think the error happens because the siimage module needed for the
Sil 3112/3112A controller isn't loaded yet. See Appendix 1, 'Modules
section of debian-installer/messages file', below.

Here's the entry from /usr/share/discover/pci.lst:
     10953112        ide     medley  Silicon Image Serial ATARaid Controller [ CMD/Sil 3112/3112A ]

The medley.o module is for the BIOS-assisted software RAID on the Sil
3112/3112A, while siimage.o is the ide driver for the chip.

One way to resolve this error would be to replace 'medley' with
'siimage' in the pci.lst entry (only siimage is needed for CD-ROMs and
non-RAIDed drives on the controller) AS LONG AS medley.o is modprobed
later during hardware detection in order to detect a possible RAID
configured on the controller. I'm not sure where this other modprobe
of medley.o should happen for a CD install (if the CD used a cramfs
initrd like an installed system does then a line would get added to
the loadmodules file in the initrd.img).

Alternatively, another way to resolve this error would be edit
modules.dep to make medley.o depend on siimage.o so the dependency
would get handled by modprobe.

--------------------------------------------
Checklist Error 2 (dangerous default choice)

Partition hard drives: besides manually editing the partition table,
the only choices offered by the first partition dialog are three to
erase entire disks -- one each for the RAID set and the two individual
drives making up the RAID. (This is also what is displayed when
selecting "Guided Partitioning" from the manual partition screen. Does
guided partitioning ignore dual boots? That's some guide which steers
one towards deleting valuable partitions! The word "guided" is a poor
choice and may mislead people into thinking that the guide is looking
out for them and won't do anything destructive.)

It's not until manual partitioning is selected that existing
partitions on the RAID are displayed (in the case of the test system,
an NTFS partition containing Windows XP).

Given that a dual-boot from the RAID is the main reason to use the
BIOS-assisted software RAID via the medley module instead of normal
Linux software RAID, this is a particularly bad default choice for
this configuration.

However I can't say if it's any worse than a dual-boot install using
single drive.

-----------------
Checklist Error 3

Bootloader installation.

3.a: GRUB installation fails.

Displays "Unable to configure GRUB. Executing 'update-grub'
failed. This is a fatal error."

See Appendix 2, 'Grub section of debian-installer/messages file',
below. Note the line

/dev/ataraid/d0p3 does not have any corresponding BIOS drive.

compared to the line

(hd2) /dev/ataraid/d0

But according to <http://www.infowares.com/linux/#medley_bootloader>,
GRUB can't boot from a medley RAID, and Lilo should be used instead.

3.b: Lilo succeeds, as near as I can tell.

The lilo dialog correctly offers these installation targets:

/dev/ataraid/d0: Master Boot Record
/dev/ataraid/d0p3: new Debian partition
Other choice (Advanced)

Lilo was installed to /dev/ataraid/d0 (MBR).

-------------------------
Checklist Error 4 (fatal)

Reboot fails -- mkinitrd omits the medley module necessary to mount the
root filesystem.

The pertinent line displayed on the console seems to be

pivot_root: No such file or directory

Note that siimage is present but medley is missing from
initrd/loadmodules (see Appendix 3, 'loadmodules file from
initrd.img-2.4.26-1-386').

Is there an easier workaround to load medley than patching
sarge-i386-netinst.iso? Like from the boot prompt? Man mkinitrd says:

  When the system boots using an initrd image created by mkinitrd(8),
  the linuxrc will wait for an amount of time which is configured
  through mkinitrd.conf(5), during which it may be interrupted by
  pressing ENTER

It doesn't explain WHY one might want to press enter. Can one reach a
prompt where modules may be loaded manually? I tried holding enter
during boot to no effect.

-------------------------------------------------------------
Appendix 1, Modules section of debian-installer/messages file

Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/ide-core.o
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/raid/ataraid.o
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/raid/medley.o
insmod: init_module: medley: No such device
insmod    ide-core 
insmod    ataraid 
insmod    medley  
modprobe: failed to load module medley
Using /lib/modules/2.4.26-1-386/kernel/drivers/scsi/scsi_mod.o
Using /lib/modules/2.4.26-1-386/kernel/drivers/usb/storage/usb-storage.o

insmod    scsi_mod 

insmod    usb-storage  
Using /lib/modules/2.4.26-1-386/kernel/drivers/block/floppy.o
insmod    floppy  
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/pci/via82cxxx.o

insmod    via82cxxx  
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/pci/trm290.o

insmod    trm290  
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/pci/triflex.o

insmod    triflex  
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/pci/slc90e66.o

insmod    slc90e66  
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/pci/sis5513.o

insmod    sis5513  
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/pci/siimage.o

insmod    siimage  
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/pci/serverworks.o

insmod    serverworks  
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/pci/sc1200.o

insmod    sc1200  
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/pci/rz1000.o

insmod    rz1000  
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/pci/piix.o

insmod    piix  
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/pci/pdc202xx_old.o

insmod    pdc202xx_old  
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/pci/opti621.o

insmod    opti621  
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/pci/ns87415.o

insmod    ns87415  
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/ide-disk.o
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/pci/hpt366.o

insmod    ide-disk 
insmod    hpt366  
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/pci/hpt34x.o

insmod    hpt34x  
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/pci/generic.o

insmod    generic  
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/pci/cy82c693.o

insmod    cy82c693  
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/pci/cs5530.o

insmod    cs5530  
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/pci/cmd64x.o

insmod    cmd64x  
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/pci/cmd640.o

insmod    cmd640  
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/pci/amd74xx.o

insmod    amd74xx  
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/pci/alim15x3.o

insmod    alim15x3  
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/pci/aec62xx.o

insmod    aec62xx  
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/pci/adma100.o

insmod    adma100  
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/pci/pdc202xx_new.o

insmod    pdc202xx_new  
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/ide-detect.o

insmod    ide-detect  
Using /lib/modules/2.4.26-1-386/kernel/drivers/cdrom/cdrom.o
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/ide-cd.o

insmod    cdrom 
insmod    ide-cd  
Using /lib/modules/2.4.26-1-386/kernel/fs/isofs/isofs.o
insmod    isofs  
Using /lib/modules/2.4.26-1-386/kernel/drivers/net/forcedeth.o
insmod    forcedeth  
Using /lib/modules/2.4.26-1-386/kernel/drivers/ide/raid/medley.o


insmod    medley  
  /dev/ataraid/disc0/disc: ioctl BLKBSZGET failed: Invalid argument
  /dev/ataraid/disc0/part1: ioctl BLKBSZGET failed: Invalid argument
  /dev/ataraid/disc0/part2: ioctl BLKBSZGET failed: Invalid argument
  /dev/ataraid/disc0/part3: ioctl BLKBSZGET failed: Invalid argument
  /dev/ataraid/disc0/part5: ioctl BLKBSZGET failed: Invalid argument
  No matching physical volumes found
  /dev/ataraid/disc0/disc: ioctl BLKBSZGET failed: Invalid argument
  /dev/ataraid/disc0/part1: ioctl BLKBSZGET failed: Invalid argument
  /dev/ataraid/disc0/part2: ioctl BLKBSZGET failed: Invalid argument
  /dev/ataraid/disc0/part3: ioctl BLKBSZGET failed: Invalid argument
  /dev/ataraid/disc0/part5: ioctl BLKBSZGET failed: Invalid argument
  No volume groups found
  Reading all physical volumes.  This may take a while...
Selecting previously deselected package base-files.

----------------------------------------------------------
Appendix 2, Grub section of debian-installer/messages file

Setting up grub (0.95+cvs20040624-3) ...
Probing devices to guess BIOS drives. This may take a long time.
Installation finished. No error reported.
This is the contents of the device map /boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.

(hd0)	/dev/hde
(hd1)	/dev/hdg
(hd2)	/dev/ataraid/d0
Searching for GRUB installation directory ... found: /boot/grub .
/dev/ataraid/d0p3 does not have any corresponding BIOS drive.

---------------------------------------------------------
Appendix 3, loadmodules file from initrd.img-2.4.26-1-386

modprobe -k  vesafb > /dev/null 2>&1
modprobe -k  fbcon 2> /dev/null
modprobe -k  unix 2> /dev/null
modprobe -k  pdc202xx_new > /dev/null 2>&1
modprobe -k  adma100 > /dev/null 2>&1
modprobe -k  aec62xx > /dev/null 2>&1
modprobe -k  alim15x3 > /dev/null 2>&1
modprobe -k  amd74xx > /dev/null 2>&1
modprobe -k  atiixp > /dev/null 2>&1
modprobe -k  cmd640 > /dev/null 2>&1
modprobe -k  cmd64x > /dev/null 2>&1
modprobe -k  cs5530 > /dev/null 2>&1
modprobe -k  cy82c693 > /dev/null 2>&1
modprobe -k  generic > /dev/null 2>&1
modprobe -k  hpt34x > /dev/null 2>&1
modprobe -k  hpt366 > /dev/null 2>&1
modprobe -k  ns87415 > /dev/null 2>&1
modprobe -k  opti621 > /dev/null 2>&1
modprobe -k  pdc202xx_old > /dev/null 2>&1
modprobe -k  piix > /dev/null 2>&1
modprobe -k  rz1000 > /dev/null 2>&1
modprobe -k  sc1200 > /dev/null 2>&1
modprobe -k  serverworks > /dev/null 2>&1
modprobe -k  siimage > /dev/null 2>&1
modprobe -k  sis5513 > /dev/null 2>&1
modprobe -k  slc90e66 > /dev/null 2>&1
modprobe -k  triflex > /dev/null 2>&1
modprobe -k  trm290 > /dev/null 2>&1
modprobe -k  via82cxxx > /dev/null 2>&1
modprobe -k  ide-detect
modprobe -k  ide-disk
modprobe -k  hptraid
modprobe -k  pdcraid

-- 
Tod Hagan
Concord, NH



Reply to: