[Linux 2.4] Kernel panic met 3ware kaart

Pagina: 1
Acties:

  • arcadis
  • Registratie: Februari 2002
  • Laatst online: 16-02-2009

arcadis

Gele Stip

Topicstarter
Ola allemaal,

ik heb het volgende probleem. Ik heb een 3ware 7210 kaartje in een servertje gezet en daar redhat 7.3 op geinstalleerd. Werkt prima, ik kan booten van de raid array en de 3ware driver werkte meteen. Ik heb nu wat software geinstalleerd waarbij ook een nieuwe kernel zit (nl een 2.4.16). Redhat 7.3 heeft een 2.4.18. Bij het opstarten met de nieuwe kernel krijg ik nu een kernel panic:

code:
1
2
3
4
5
6
...
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0
request_module[block_major-8]: Root fs is mounted
VFS: Cannot open root device "sda1" or 08:01
Please append a correct "root=" boot option
Kernel panic: VFS: Unable to mount root fs on 08:01


Ik gebruik grub als bootloader en de grub.conf ziet er zo uit:

code:
1
2
3
4
5
6
7
8
9
10
11
#boot=/dev/sda
default=1
timeout=10
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title Red Hat Linux (2.4.18-3)
           root (hd0,0)
           kernel /boot/vmlinuz-2.4.18-3 ro root=/dev/sda1
           initrd /boot/initrd-2.4.18-3.img
title Linux
           root (hd0,0)
           kernel /boot/vmlinuz-2.4.16-010 ro root=/dev/sda1



Ik heb in eerste instantie geprobeerd om de 3ware drivers naar de /lib/modules/2.4.16-010/kernel/drivers/scsi dir te kopieren en daarna de modules.dep file aan te passen, maar hij blijft deze fout geven.
Heeft iemand een idee wat de melding die linux geeft precies inhoudt en wat ik zou moeten doen om dit op te lossen?
Alvast bedankt.

  • MikeN
  • Registratie: April 2001
  • Laatst online: 10-05 18:33
Je root FS kan niet dependen op modules hoor.
De 3ware driver moet echt in de kernel zitten, blijkbaar zit hij dat neit bij jouw 2.4.18 kernel.

  • arcadis
  • Registratie: Februari 2002
  • Laatst online: 16-02-2009

arcadis

Gele Stip

Topicstarter
MikeN: Die 2.4.18 kernel draait als een zonnetje, maar die 2.4.16 kernel geeft die vage errors. Het zijn in principe beide redhat kernels, maar die 2.4.16 heeft wat patches ingecompileerd zitten.

Bij die 2.4.18 kernel werk ik ook met een losse module en die werkt wel. Ik vraag me dus vooral af waar zo'n kernel panic vandaag komt.

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 23:57

deadinspace

The what goes where now?

Als je de driver voor je root fs als module hebt, en die driver staat op je harddisk, dan krijg je een panic. De kernel wil namelijk het root fs mounten, maar daarvoor heeft hij die module nodig, maar daarvoor moet hij het root fs mounten, etc.

De driver voor je root fs als module is wel mogelijk als je initrd (initial ramdrive) gebruikt. Dit is een soort mini-root-fsje in de vorm van een ramdisk. Je bootloader (LILO of GRUB meestal) laadt de kernel en de initrd image in het geheugen en voert de kernel uit. De kernel mount de initrt, plukt daar de benodigde modules af (een 3ware driver module bv), en mount dan je eigenlijke root fs.

En wat zien we in je grub config? Je 2.4.18 gebruikt initrd, en je 2.4.16 niet. Als je geen initrd voor die 2.4.16 hebt dan zul je die moeten maken (geen idee hoe dat gaat), of zorgen dat die driver vast in de kernel belandt (hercompilen dus).

Verwijderd

offtopic:
DeadInSpace was me voor :)

[ Voor 92% gewijzigd door Verwijderd op 02-02-2003 15:59 ]


  • arcadis
  • Registratie: Februari 2002
  • Laatst online: 16-02-2009

arcadis

Gele Stip

Topicstarter
D*mn, dat wil dus ook niet werken. Ik heb dus een mooie nieuwe initrd (met 3ware drivers, want hij gaf aan die ie die erin verpakte), maar hij geeft nog steeds die kernel panic met exact dezelfde foutmelding. Waziger kan gewoon niet, het lijkt wel alsof die initrd helemaal geen effect heeft, want alles ziet er nog precies hetzelfde uit. :(

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 23:57

deadinspace

The what goes where now?

Je hebt ook in je grub config gezegd dat hij die initrd image moet gebruiken (net zoals bij 2.4.18 gebeurt) ?

Verwijderd

Waarom compile je niet 2.4.20 zelf ff met alle required packages^H^H^H^H^H^Htches en 3ware support? heb je die vage initrd ook niet meer nodig...

[ Voor 7% gewijzigd door Verwijderd op 02-02-2003 17:53 ]


  • arcadis
  • Registratie: Februari 2002
  • Laatst online: 16-02-2009

arcadis

Gele Stip

Topicstarter
deadinspace: ja, grub.conf heb ik aangepast. Daarom is het juist zo wazig.

Felix: Het punt is dat die kernel alleen als rpm wordt geleverd en ik kan 'm dus niet hercompileren anders had ik dit probleem natuurlijk niet. ;) Nevertheless, is het een goede suggestie.

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 23:57

deadinspace

The what goes where now?

Er is vast wel documentatie (zoals een leuke howto ofzo) te vinden over initrds, zoek daar eens naar, of heb je er al een geraadpleegd? Misschien vergeet je wat, of zie je wat over het hoofd.

Ik gok btw ook dat de kernel support voor initrd moet hebben, misschien heeft hij dat niet?

Btw, RH levert toch ook kernel-sources met de patches die zij gebruikt hebben? En anders moet een vanilla kernel ook nog wel werken.

  • arcadis
  • Registratie: Februari 2002
  • Laatst online: 16-02-2009

arcadis

Gele Stip

Topicstarter
Nog even een herhaling van het bericht uit de [rml][ Linux] boot log[/rml] thread:

Het gaat om een 2.4.16 kernel die precompiled is aangeleverd. Die heb ik dus vervangen ipv de 2.4.18 versie van redhat zelf. Ik heb gisteren ook al een topic hierover gepost, en toen werd me aangeraden om een nieuwe initrd img te maken. Maar ook dit werkte niet.
Het gaat erom dat ik een 3ware 7210 kaartje heb. De originele redhat kernel kan zonder problemen booten van de raid array, maar de nieuwe kernel dus niet.
De error die ik krijg is:

code:
--------------------------------------------------------------------------------
...
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0
request_module[block_major-8]: Root fs is mounted
VFS: Cannot open root device "sda1" or 08:01
Please append a correct "root=" boot option
Kernel panic: VFS: Unable to mount root fs on 08:01

--------------------------------------------------------------------------------


Die 08:01 slaat op scsi device nr 1 en dat klopt.
De root= boot option waar ie naar vraagt is al aanwezig in de vorm van /dev/sda1.

Juist omdat de kernel geen support heeft ingebakken voor ide/scsi controllers in redhat, omdat redhat bijna alle drivers modulair heeft is er dus een initrd nodig. Ik heb daarom dus de nodige drivers naar de /lib/modules/2.4.16.../kernel/drivers/scsi gekopieerd

Ik gebruik grub als bootloader en heb gewoon de instellingen van de 2.4.18 kernel overgenomen.

Een korte toevoeging:
Na de regel: NET4: Unix domain sockets 1.0/SMP for Linux NET4.0
zie ik via dmesg | less staan dat bij een boot met de werkende 2.4.18 kernel er dit staat: RAMDISK: Compressed image found at block 0.
Dus het lijkt erop dat bij de 2.4.16 kernel de initrd niet gedecompressed wordt.

[ Voor 11% gewijzigd door arcadis op 03-02-2003 15:31 ]


  • Coen Rosdorff
  • Registratie: Januari 2000
  • Niet online
De stock redhat kernel kan prima van een 3ware booten met de drivers als module.
Ik heb zelf een 6410 en dat werkte met installeren gewoon prima.

Ik snap alleen niet helemaal waarom je 2.4.16 wil gaan draaien als je al 2.4.18 hebt, en 2.4.20 al geruime tijd uit is.

Redhat heeft vandaag trouwens een announcement de deur uitgedaan voor nieuwe kernel packages met een paar security dingen gefixed.

Als je de kernel-source rpm installeerd kan je gewoon zelf een kernel compileren.
Pagina: 1