Kernel shipped in 7.0 (2.2.16-22) won't detect my AIC7880 scsi card. When it boots, it says something like (not exactly): .. scanning scsi hosts... 0 scsi hosts found .. The same symptom is with 2.2.16-21 (did not tried 2.2.16-24 yet). What's interesting is that this is a problem related to particular releases of 2.2.16 kernel. 2.2.16-3 will boot just fine (and display a lot of messages about found disks between above lines), and 2.2.17 (vanilla) will too. Something between -3 and -21 was broken. This problem is reproduceable on many my machines with different hardware (but all have some variants of aic7... adapters). When it won't detect my adapter, it will ask about block-major-8 module when accessing scsi devices. This is also just funny, as this "module" (sd.o) is built-in to kernel (not a module really). For now, I have a workaround (a hack really) -- I placed "alias block-major-8 aic7xxx" to modules.conf, and aic loads when scsi device accessed first time. This is really a hack, but it works... :)
Moving this to the installer. The fact that loading the module by hand works says that the kernel is fine but the installer is perhaps missing a specific PCI id. Can you provide an lspci -v of the problem box and attach it to the bug ?
I don't think that this belongs to installer. I didn't used it at all! -- what I really did when setted up my machines is attached empty disk, cfdisk it, mke2fs, mkdir ../var/lib/rpm, rpm --initdb, and then rpm -i --root=.. many packages. This way _all_ my machines was set up, and this was _faster_ than using installer (i didn't tried 7.0, and probably will newer try it). Thus, I ever don't have pcitools (pciutils?), kudzu etc -- only the bare minimum of software that is really ised (all machines are servers, and stability& security is a high requirement). Also, it seemed to be irrelevant -- I have scsi_hostadapter=aic7xxx in modules.conf, and kernel always tried to load this pseudomodule when detecting scsi cards. And this works fine win 2.2.16-3 kernel, and with vanilla 2.2.17. There is no "missing" PCI id -- that id isn't used at all (or should be), line in modules.conf is sufficient. If redhat changed the kernel so that it ignores line in modules.conf, than again it is bug in kernel, now introduced by redhat. But I don't think that this was made by design. So -- excuse me please but I move this back to kernel bugs... BTW, probably I should not report this as rh7.0 bug, as I does not use "vanilla" rh release -- maybe this should belong to rawhide (that _is_ used here...).
To be honest. Here are `lspci -v' output from two machines (I installed just pciutils package). One is small (here in full) and one is large, attached. 00:00.0 Host bridge: Intel Corporation 440LX/EX - 82443LX/EX Host bridge (rev 03) Flags: bus master, medium devsel, latency 64 Memory at e4000000 (32-bit, prefetchable) Capabilities: [a0] AGP version 1.0 00:01.0 PCI bridge: Intel Corporation 440LX/EX - 82443LX/EX AGP bridge (rev 03) (prog-if 00 [Normal decode]) Flags: bus master, 66Mhz, medium devsel, latency 64 Bus: primary=00, secondary=01, subordinate=01, sec-latency=64 00:04.0 ISA bridge: Intel Corporation 82371AB PIIX4 ISA (rev 02) Flags: bus master, medium devsel, latency 0 00:04.1 IDE interface: Intel Corporation 82371AB PIIX4 IDE (rev 01) (prog-if 80 [Master]) Flags: bus master, medium devsel, latency 32 I/O ports at d800 00:04.2 USB Controller: Intel Corporation 82371AB PIIX4 USB (rev 01) (prog-if 00 [UHCI]) Flags: bus master, medium devsel, latency 32 I/O ports at d400 00:04.3 Bridge: Intel Corporation 82371AB PIIX4 ACPI (rev 02) Flags: medium devsel 00:0a.0 Ethernet controller: 3Com Corporation 3c590 10BaseT [Vortex] Flags: bus master, medium devsel, latency 248, IRQ 3 I/O ports at d000 00:0b.0 SCSI storage controller: Adaptec AIC-7881U Flags: bus master, medium devsel, latency 32, IRQ 12 I/O ports at b800 Memory at e3000000 (32-bit, non-prefetchable) 00:0c.0 VGA compatible controller: S3 Inc. ViRGE/DX or /GX (rev 01) (prog-if 00 [VGA]) Subsystem: S3 Inc. ViRGE/DX Flags: bus master, medium devsel, latency 32, IRQ 11 Memory at dc000000 (32-bit, non-prefetchable) Expansion ROM at 000c0000 [disabled]
Created attachment 4165 [details] `lspci -v' output (big)
BTW, how kernel can depend on some pci id that is missing from some place? I'm curious. Normally kernel detects this controllers (both machines from that those two lspci outputs provided wont boot with 2.2.16-2{1,2} kernels) when booted, _before_ it ever tried to mount root, before autodetecting (possible) raid arrays etc. One of the machines (never one with big lspci output) boots from ide disk now, so there is no ever initrd used. Where _kernel_ can look to some pci id that was missing from installer _before_ it ever tried to mount root filesystem?!?! (And how it can look to some user-space place?)
Oops, my great sorry. Kernel can't load any module if root isn't mounted... My bad. So it will try to detect/load that module after it has root mounted. But still before executing init. Anyway, if I set up say floppy disk with initrd, it should boot. Without missing pci ids...
My apologizes to everyone. I'm bad. The kernels I used that detects this controllers have aic7xxx driver compiled in. Thus, controller was detected by the driver on boot before any initializing. Standard kernels if used with initrd also detects this when explicitly loading the driver from within initrd. I'm sorry.