From Bugzilla Helper: User-Agent: Mozilla/4.61 [en] (OS/2; U) Description of problem: On a system with two SCSI cards, upgrade from 6.2 to 7.1 rearranged SCSI driver loading, causing drives to be renamed. sda became sdb, and so on. System wouldn't boot because it couldn't find anything. How reproducible: Didn't try Steps to Reproduce: 1.Install Adaptec 1520B ISA card in existing system running RH 6.2, where Main SCSI card is Adaptec 2940U2W PCI.(Exact cards probably don't matter) Attach scsi Zip drive to 1520B. 2.Set both cards to load their bios's. 3.Upgrade to or install RH 7.1 Actual Results: Installation program set aha152x driver to load before aic7xxx. This caused the Zip drive to be recognized as sda instead of sdc, and shifted sda to sdb and sdb to sdc. System failed to boot, since it couldn't find /boot or / (root). System wouldn't boot from the just-made boot floppy, unless a new root= option was set. Expected Results: It should have kept the scsi drivers loading in the same order as they were. That would have retained the existing drive assignments. ...And booted as installed, of course. Additional info: After the upgrade failed, I ran an install of 7.1, on the advice of RH tech support. During this, Disk Druid did not list the Zip drive at all, but it was still sda on the reboot, and the same problem still occurred. The system bios detects the 1520 before the 2940 on boot. This is the same regardless of the operating system. The fix was to boot to rescue mode from the CD, remove the aha152x line(s) from /etc/modules.conf, then: chroot /mnt/sysimage mkinitrd -f --with=aha152x /boot/initrd-2.4.2-2.img 2.4.2-2 /sbin/lilo
please give me the output of "lspci -vv" on your box.
[root@omnit /root]# lspci -vv 00:00.0 Host bridge: VIA Technologies, Inc. VT82C598 [Apollo MVP3] (rev 04) Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 16 Region 0: Memory at e0000000 (32-bit, prefetchable) [size=64M] Capabilities: [a0] AGP version 1.0 Status: RQ=7 SBA+ 64bit- FW- Rate=x1,x2 Command: RQ=0 SBA- AGP- 64bit- FW- Rate=<none> 00:01.0 PCI bridge: VIA Technologies, Inc. VT82C598/694x [Apollo MVP3/Pro133x AGP] (prog-if 00 [Normal decode]) Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR- Latency: 0 Bus: primary=00, secondary=01, subordinate=01, sec-latency=0 I/O behind bridge: 0000d000-0000dfff Memory behind bridge: e4000000-e7ffffff Prefetchable memory behind bridge: e8000000-e9ffffff BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B- 00:07.0 ISA bridge: VIA Technologies, Inc. VT82C586/A/B PCI-to-ISA [Apollo VP] (rev 47) Subsystem: VIA Technologies, Inc. MVP3 ISA Bridge Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 0 00:07.1 IDE interface: VIA Technologies, Inc. Bus Master IDE (rev 06) (prog-if 8a [Master SecP PriP]) Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 64 Region 4: I/O ports at e000 [size=16] 00:07.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 02) (prog-if 00 [UHCI]) Subsystem: Unknown device 0925:1234 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 64, cache line size 08 Interrupt: pin D routed to IRQ 5 Region 4: I/O ports at e400 [size=32] 00:07.3 Host bridge: VIA Technologies, Inc. VT82C586B ACPI (rev 10) Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- 00:11.0 SCSI storage controller: Adaptec AHA-2940U2/W Subsystem: Adaptec: Unknown device a180 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 64 (9750ns min, 6250ns max), cache line size 08 Interrupt: pin A routed to IRQ 10 BIST result: 00 Region 0: I/O ports at e800 [size=256] Region 1: Memory at ec100000 (64-bit, non-prefetchable) [size=4K] Expansion ROM at ea000000 [disabled] [size=128K] Capabilities: [dc] Power Management version 1 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- 00:12.0 Ethernet controller: 3Com Corporation 3c905B 100BaseTX [Cyclone] (rev 30) Subsystem: 3Com Corporation 3C905B Fast Etherlink XL 10/100 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 64 (2500ns min, 2500ns max), cache line size 08 Interrupt: pin A routed to IRQ 9 Region 0: I/O ports at ec00 [size=128] Region 1: Memory at ec102000 (32-bit, non-prefetchable) [size=128] Expansion ROM at eb000000 [disabled] [size=128K] Capabilities: [dc] Power Management version 1 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot+,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- 00:13.0 Multimedia audio controller: Cirrus Logic CS 4614/22/24 [CrystalClear SoundFusion Audio Accelerator] (rev 01) Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 64 (1000ns min, 6000ns max) Interrupt: pin A routed to IRQ 9 Region 0: Memory at ec101000 (32-bit, non-prefetchable) [size=4K] Region 1: Memory at ec000000 (32-bit, non-prefetchable) [size=1M] Capabilities: [40] Power Management version 2 Flags: PMEClk+ DSI+ D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- 01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G400 AGP (rev 04) (prog-if 00 [VGA]) Subsystem: Matrox Graphics, Inc.: Unknown device 0378 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 64 (4000ns min, 8000ns max), cache line size 08 Interrupt: pin A routed to IRQ 10 Region 0: Memory at e8000000 (32-bit, prefetchable) [size=32M] Region 1: Memory at e4000000 (32-bit, non-prefetchable) [size=16K] Region 2: Memory at e5000000 (32-bit, non-prefetchable) [size=8M] Expansion ROM at <unassigned> [disabled] [size=64K] Capabilities: [dc] Power Management version 2 Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Capabilities: [f0] AGP version 2.0 Status: RQ=31 SBA+ 64bit- FW- Rate=x1,x2 Command: RQ=31 SBA+ AGP+ 64bit- FW- Rate=x1
Bill, could this be kudzu?
no, because the one it set first was an ISA card. kudzu doesn't touch isa stuff.
Even so, when rewriting /etc/modules.conf for scsi controller device driver name changes, does it get the order right if one of the drives is ISA?
basically, anaconda does not touch /etc/{conf.modules,modules.conf} on an upgrade.
It doesn't change the order; it just replaces entries.
cbsled, do you know if /etc/conf.modules and/or /etc/modules.conf change between 6.2 to 7.1?
Yes, it changed. The 1520 ISA card was installed after 6.2. I had manually added an append=... statement to modules.conf to make it work. After the upgrade, modules.conf had been rewritten, and the previous one had been saved as *.old or similar by the installation program.
was it .old or .rpmsave? It will help us narrow down where this is happening.
Please post the before and after modules.conf, thanks!
current /etc/modules.conf Note: I removed the line for the 1520, which was the same as the one in *~, below. alias scsi_hostadapter aic7xxx alias eth0 3c59x alias parport_lowlevel parport_pc pre-install pcmcia_core /etc/rc.d/init.d/pcmcia start alias tty-ldisc-3 ppp_async alias tty-ldisc-14 ppp_synctty alias char-major-108 ppp_generic alias usb-controller usb-uhci alias sound-slot-0 cs46xx post-install sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -L >/dev/null 2>&1 || : pre-remove sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -S >/dev/null 2>&1 || : There is /etc/modules.conf~, mod. time-stamped 3 minutes earlier than the above: alias scsi_hostadapter aic7xxx alias scsi_hostadapter aha152x=0x340,11,7 alias eth0 3c59x alias parport_lowlevel parport_pc pre-install pcmcia_core /etc/rc.d/init.d/pcmcia start alias tty-ldisc-3 ppp_async alias tty-ldisc-14 ppp_synctty alias char-major-108 ppp_generic And /etc/modules.conf.bak alias scsi_hostadapter aic7xxx alias scsi_hostadapter aha152x =0x340,11,7 alias eth0 3c59x alias parport_lowlevel parport_pc pre-install pcmcia_core /etc/rc.d/init.d/pcmcia start alias tty-ldisc-3 ppp_async alias tty-ldisc-14 ppp_synctty alias char-major-108 ppp_generic alias usb-controller usb-uhci Sorry, the original 6.2 modules.conf file is gone.
the line: alias scsi_hostadapter aha152x=0x340,11,7 is invalid. it should have been: alias scsi_hostadapter1 aha152x options aha152x aha152x=0x340,11,7 You added this line to your 6.2 config, correct?
Yes, as append=... It worked.
were you compiling the driver into a custom kernel? append= doesn't work on modules.
I looked up the service request, #184788, BTW. In that, I wrote: An "append=aha152x..." line was added to the per-image section in lilo.conf.
OK, here's a summary of how we work (or fail to work) in upgrade cases with ISA SCSI cards: The only way to install to an ISA scsi card is to manually specify it in the loader during the initial install. If you do not also manually specify the ISA scsi card during the upgrade process then things get reordered. /etc/modules.conf is not modified by the installer during the upgrade process. kudzu might modify /etc/modules.conf if and only if a module changed names between kernel 2.2.x and 2.4.x.
Supporting ISA cards on upgrades is outside of our forward going focus.