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

Debian libata transition (bug in initramfs-tools?)



(I'm sending this email to debian-kernel because the Debian kernel
team is listed as the maintainer for initramfs-tools.)

I was testing the upgrade from lenny to squeeze on an old arm-based
device (the GLAN Tank). This system has a Acard ATP865-B IDE interface
chip, so the aec62xx driver was used with lenny. For squeeze, the
pata_artop driver will be used. Once I had upgraded the kernel and
udev, I rebooted the machine, and found that I was not able to access
the hard drive (see the relevant portion of the boot log below). The
hard drive is detected by pata_artop, but there is no block driver
loaded. I believe that this problem is because some of the required
modules (e.g., sd_mod.ko) were not included in the new initramfs.

[    2.330000] udev[45]: starting version 164
[    3.310000] SCSI subsystem initialized
[    3.660000] PCI: enabling device 0000:00:02.0 (0045 -> 0047)
[    3.670000] scsi0 : pata_artop
[    3.670000] scsi1 : pata_artop
[    3.680000] ata1: PATA max UDMA/100 cmd 0x900000c0 ctl 0x900000d0
bmdma 0x90000000 irq 28
[    3.690000] ata2: PATA max UDMA/100 cmd 0x900000c8 ctl 0x900000d4
bmdma 0x90000008 irq 28
[    3.880000] ata1.00: ATA-5: ST380021A, 3.05, max UDMA/100
[    3.880000] ata1.00: 156301488 sectors, multi 0: LBA
[    3.910000] ata1.00: configured for UDMA/100
[    3.910000] scsi 0:0:0:0: Direct-Access     ATA      ST380021A
 3.05 PQ: 0 ANSI: 5
Begin: Loading essential drivers ... [    4.500000] Uniform
Multi-Platform E-IDE driver
[    4.570000] ide-gd driver 1.18
done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Waiting for root file system ... done.
Gave up waiting for root device.  Common problems:
 - Boot args (cat /proc/cmdline)
  - Check rootdelay= (did the system wait long enough?)
  - Check root= (did the system wait for the right device?)
 - Missing modules (cat /proc/modules; ls /dev)
ALERT!  /dev/disk/by-uuid/36cfb6a0-b8bd-4097-9a48-ea1c113cd3c4 does
not exist.  Dropping to a shell!

(initramfs) cat /proc/modules
ide_gd_mod 20384 0 - Live 0xbf083000
ide_core 76559 1 ide_gd_mod, Live 0xbf062000
pata_artop 3906 0 - Live 0xbf05c000
libata 135592 1 pata_artop, Live 0xbf026000
scsi_mod 79418 1 libata, Live 0xbf000000

After doing upgrading the kernel and udev (and some other packages)
from lenny to squeeze, /conf/modules in the (squeeze) initramfs
contained:

(initramfs) cat conf/modules
pci:v00001191d00000009sv00001191sd00000009bc01sc80i00
ide_disk
aec62xx
pci:v00001191d00000009sv00001191sd00000009bc01sc80i00
unix

I imagine that initramfs-tools created this file when I upgraded the
kernel and udev, but I'm not sure why the aec62xx driver (the old IDE
driver) was listed in the file, although I suspect that
initramfs-tools found this module by walking through /sys because that
driver was loaded when the initramfs was created. However, even though
the aec62xx driver is listed in /conf/modules, it is not included in
the initramsfs, because is is not built with the squeeze kernel.

/lib/modules/2.6.32-5-iop32x/kernel/drivers/ata:
total 220
-rw-r--r--    1 0        0           212608 Nov 26 15:37 libata.ko
-rw-r--r--    1 0        0            10884 Nov 26 15:37 pata_artop.ko

/lib/modules/2.6.32-5-iop32x/kernel/drivers/ide:
total 208
-rw-r--r--    1 0        0            40564 Nov 26 15:37 ide-cd_mod.ko
-rw-r--r--    1 0        0           133576 Nov 26 15:37 ide-core.ko
-rw-r--r--    1 0        0            36424 Nov 26 15:37 ide-gd_mod.ko

The pata_artop module did get included in the initramfs. However, to
access the disk, one seems to needs some other modules including
sd_mod.ko, and these were not included in the initramfs. That the
modules weren't included seems like a bug in the upgrade process,
because the new initramfs that should obviously contain all the
necessary libata-based drivers required to access the disk. Does the
behavior I observed match what you would expect to happen with
initramfs-tools for the upgrade, and is it something that can be
fixed? Also, would this problem apply to all systems that only have
PATA hard drives?

Gordon

-- 
Gordon Farquharson
GnuPG Key ID: 32D6D676


Reply to: