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

Booting probs with changing drive paths



Hello all,

Have recently compiled a new kernel in a slightly different way to what I'm used to - and am having problems with booting with a dual IDE controller.

I'm using an HP Omnibook 500, the design is that the CDROM and floppy drives are in the docking station. Hence, the laptop has 2 IDE controllers, one inside the laptop itself and one in the docking station. The laptop controller is an Intel PIIX4 controller and the one in the docking station is CMD684 controller.

Have compiled the 2.4.29 kernel and made an initrd image, and rebooted. When the laptop is undocked, it boots up fine (though when docking the laptop, the console start showing a large bullot dot instead of letters/numbers/symbols/spaces).

Anyway, when I boot docked, the laptop crashes on bootup saying kernel panic, and doing a little investiation and spotted that the kernel is loading the CMD684 driver first before the PIIX4 driver, so assigns /dev/hda to the CD drive, and /dev/hde to the hard drive - so the root location is now incorrect - normally it's /dev/hda4 but as the driver load order is different, it is now /dev/hde4 so the kernel can't find the root image and crashes.

Here's the dmesg output when booting up docked:

========================================
Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
ide: late registration of driver.
CMD648: IDE controller at PCI slot 00:11.0
PCI: Found IRQ 15 for device 00:11.0
CMD648: chipset revision 1
CMD648: 100% native mode on irq 15
    ide0: BM-DMA at 0x1010-0x1017, BIOS settings: hda:pio, hdb:pio
    ide1: BM-DMA at 0x1018-0x101f, BIOS settings: hdc:pio, hdd:pio
PIIX4: IDE controller at PCI slot 00:07.1
PIIX4: chipset revision 1
PIIX4: not 100% native mode: will probe irqs later
    ide2: BM-DMA at 0x1000-0x1007, BIOS settings: hde:DMA, hdf:pio
hda: UJDA330, ATAPI CD/DVD-ROM drive
hde: HITACHI_DK23CA-30, ATA DISK drive
blk: queue e0825308, I/O limit 4095Mb (mask 0xffffffff)
ide0 at 0x1128-0x112f,0x1122 on irq 15
ide2 at 0x1f0-0x1f7,0x3f6 on irq 14
hde: attached ide-disk driver.
hde: host protected area => 1
hde: 58605120 sectors (30006 MB) w/2048KiB Cache, CHS=58140/16/63, UDMA(33)
Partition check:
 /dev/ide/host2/bus0/target0/lun0: [PTBL] [3876/240/63] p1 p2 p3 p4
========================================

And here's the demsg output when booting undocked:

========================================
Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
ide: late registration of driver.
PIIX4: IDE controller at PCI slot 00:07.1
PIIX4: chipset revision 1
PIIX4: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0x1000-0x1007, BIOS settings: hda:DMA, hdb:pio
hda: HITACHI_DK23CA-30, ATA DISK drive
blk: queue e0824a60, I/O limit 4095Mb (mask 0xffffffff)
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: attached ide-disk driver.
hda: host protected area => 1
hda: 58605120 sectors (30006 MB) w/2048KiB Cache, CHS=58140/16/63, UDMA(33)
Partition check:
 /dev/ide/host0/bus0/target0/lun0: [PTBL] [3876/240/63] p1 p2 p3 p4
========================================

Any ideas on how to prevent this problem?

I've done a hack where I have 2 enteries in the lilo.conf file one entry points to /dev/hda4 and another points to /dev/hde4 but when booting docking, the fstab is rendered incorrect and have mount problems.

Thanks very much for your help in advance!

Cheers - Piers



Reply to: