Hard Disks Not Found Issue with OpenSUSE 11

I have been using Mandriva/Mandrake on my server since 2001 just because this was the first Linux distro I was introduced to but it has been pretty stable until recently when I started to get problems with updates, the RPM package manager and KDE 4 (stay with 3.5 or GNOME). I therefore decided to try out OpenSUSE.

My server is an old CPU with an AMD Athlon 1500+ processor and IDE hard drives. I detached all drives except for a single drive where OpenSUSE was to be installed. The harddisk is set up to be master and the DVD-drive is slave on the same IDE bus. The BIOS finds both when the CPU boots but when the installation program probes for a harddisk it comes up with the “no hard disks were found”-error. Had the same error with OpenSUSE 10.3 but I have not tried older versions.

After some search I found that the problem seems to be quite common with certain types of hardware although their seems to be no pattern that I could recognize. After some digging I was able to get the installer to work with the insmod=ide-generic option but now the installed OS won’t boot because it can not find the disk again even with this boot option set. I also tried failsafe boot without success.

My server runs daily with the same HW setup using Mandriva so I presume the hardware must basically be OK. I also tried installing OpenSUSE on other harddisks but with the same outcome.

Hope that somebody could help me figure this out because otherwise my adventures with OpenSUSE are going to end too soon. Any help is appreciated. Cheers.

Hmm… can you post your motherboard and system specs, and also boot to rescue mode (or any LiveCD) and post the output of lspci -v and lspci -n?

PS - any specific reason why you have KDE4 hogging all that memory on a server? If you absolutely need X, how about FVWM, Fluxbox, or something else lightweight?

It’s been a while (and my 64-year-old memory fades).
But, I think I recall that it’s preferable to put a CD/DVD drive
on its own IDE controller, and the hard-drives(s) on separate
one. So, if you’ve got the cables for using both IDE controllers,
make each device master on respective controllers and see
if that fixes it.

I have the same problem on an old PC with a Gigabyte GA-7ZX-1 ATX motherboard (Chipset Type: VIA Apollo KT133).
I could install openSuse by giving the installer the kernel option “insmod=ide-generic”, but after everything was installed, the system no longer finds the disk (Linux does not find the disk. I still get the grub bootloader menu) and can not boot - even if I explicitely give the same kernel option (which I have seen is already present in menu.lst)
I can boot from the installation CD in the rescue system but only when I give the kernel param.

lspci output for the IDE interface:
0000:00:07.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE (rev 10)
(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: 32
Region 4: I/O ports at ffa0 [size=16]
Capabilities: [c0] 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-

The disk (hdparm)
/dev/hda:

Model=Maxtor 6E040L0, FwRev=NAR61590, SerialNo=E13A61CE
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57
BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=16
CurCHS=17475/15/63, CurSects=16513875, LBA=yes, LBAsects=80293248
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 *udma4 udma5 udma6
AdvancedPM=yes: disabled (255) WriteCache=enabled
Drive conforms to: (null):[/size]

Every time I’ve encountered this issue it has been because the disk controller was not detected and hence the necessary kernel module not loaded and/or the kernel module for that controller was not subsequently added to the initrd. You can tackle this a couple of ways.

First, you need to know which module is required. If you per chance still have that Mandriva image, you can find it there; I’m pretty sure that like openSUSE it will be on the initrd modules line in the text file /etc/sysconfig/kernel. Or if you have a live-CD, maybe openSUSE’s but particularly a Knoppix or Kanotix, boot with it and there is a very high probability you’ll see the module being loaded; if you miss it, once booted do a #lsmod in a terminal and you should be able to figure out which module. Or you can boot from the installation DVD into “Rescue Mode”, do an #lspci which will give you the controller hardware device, and google for the module to match that.

Once you know, or at least have an idea of what the device controller is . . . boot again into the installation. On the license screen, Abort it. That will drop you into the linuxrc. On the menu, select “Kernel Modules (Hardware Drivers)”, and on the next list, select “IDE/RAID/SCSC”. You’ll see a long list of module names and the corresponding controller devices. You can load whichever ones you think needed (ide-generic, ide-disk, and pata-legacy are there, too). Then go back to the linuxrc top menu and select “Start Installation or System”. You will be looped back into the installation GUI. Except this time the modules loaded will be added to /etc/sysconfig/kernel and built into the initrd when the boot loader is installed. Or . . .

If in the first step you did verify the module(s) required, and you don’t want to go through the re-install, boot the installation DVD into “Rescue Mode”. Then mount your root partition (#mount -t ext3 /dev/sdxx /mnt) and then chroot to that mount point. Navigate to /mnt/etc/sysconfig and edit the kernel file. Then do #/sbin/mkinitrd; that will regenerate the initrd with the module(s) you just added. Reboot.

I went thru this pretty fast, so if anything isn’t clear, just ask.:slight_smile: I’m pretty sure we can get you up.

@martinkoller -

I would offer essentially the same suggestion that I did above. My guess is that the kernel module you need is pata_via, but others could be needed, too. Your post shows the IDE interface; there is usually a controller (or two) also listed by lspci. In any event, google for the module on the chipset and/or controller ID. (There is actually one site with info on all the linux disk controller modules, but darn it, I can’t put my finger on it at the moment.) Then in the installation, Abort out and navigate to the modules list as described above, load it, and you’re on your way.

By the way, the disk itself is irrelevant. The kernel talks to the controller, not the disk.

OK, I got it running. Here’s what I did:

  • Bootet into rescue system with boot param: insmod=ide-generic
  • Checked what modules are needed and found “via82cxxx” (Note: the normal installation loaded pata_via but that was the problem!)
  • mounted /dev/hda2 /mnt
  • mount --bind /dev /mnt/dev
  • chroot /mnt
  • changed /etc/sysconfig/kernel and replaced pata_via with via82cxxx
  • mount /proc
  • mount /sys
  • mkinitrd
  • rebooted the system and - voila

Thanks for the help.

Congratulations - way to go! And good info for the next user with a similar problem!