# [gelöst] Probleme mit einem RAID-Controller (kernel panic)

## 3PO

Hallo Zusammen,

ich habe ein seltsames Problem mit einem Adaptec RAID 5805.

Ich habe ein laufendes, aktuelles Gentoo auf einer SSD installiert. Nun wollte ich o.g. RAID-Controller  einbauen, was soweit auch funktionieret hat.

Wenn ich nun eine Platte im RAID anlege, kommt beim nächsten Start des Systems folgende Meldung:

```
kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block (8.3)
```

Lösche ich die HDD wieder im Menü des Controllers, bootet das System wieder anstandslos.

Hat Jemand eine Idee, wie man das Problem lösen kann?Last edited by 3PO on Sun Jan 19, 2014 5:15 pm; edited 1 time in total

----------

## bbgermany

Hi,

das hört sich nach der Ladereihenfolge der Kernelmodule an. Wo hängt denn deine SSD dran? Am internen Controller (AHCI) oder auch am RAID Controller? Wie hast du deinen Kernel gebaut (genkernel oder per Hand)?

MfG. Stefan

EDIT: Wenn du anstatt von "root=/dev/sdaX" die UUID deiner Rootpartion auf der SSD angibst, passiert dann das gleiche?

----------

## 3PO

Die SSD hängt am internen Controller.

Das mit der UUID werde ich mal testen. THX für den TIPP.  :Wink: 

----------

## 3PO

Funktioniert leider auch mit "UUID" nicht.  :Sad: 

----------

## bbgermany

Hast du zufällig noch die Antworten für die anderen Fragen aus meinem ersten Post?  :Smile: 

MfG. Stefan

----------

## 3PO

 *bbgermany wrote:*   

> [...] Wo hängt denn deine SSD dran? Am internen Controller (AHCI) oder auch am RAID Controller? ...

 

Die SSD hängt am internen Controller. 

 *bbgermany wrote:*   

> [...]Wie hast du deinen Kernel gebaut (genkernel oder per Hand)? ...

 

Von Hand.

 *bbgermany wrote:*   

> [...]Wenn du anstatt von "root=/dev/sdaX" die UUID deiner Rootpartion auf der SSD angibst, passiert dann das gleiche?

 

Die Frage lässt so einfach garnicht beantworten, da es bei grub2 - zumindest mal bei gentoo - das klassische Config-File ja gar nicht mehr gibt. Das ist jetzt ein Script. 

Soweit ich die grub.cfg verstehe, wird doch automatisch die UUID genommen?

Die fstab habe ich angepasst:

```
UUID=db5db523-e1a6-4630-ae53-6a11c6ffe042   /boot        ext2    defaults,noatime     1 2

UUID=d6d23b1a-2b17-4169-bc1b-c2f199e435f3   none       swap    sw                    0 0

UUID=b1dd1368-9260-4145-97ed-0125cfa80c67   /        ext4    noatime,discard      1 1

# /dev/sda1   /boot        ext2    defaults,noatime     1 2

# /dev/sda2   none       swap    sw                   0 0

# /dev/sda3   /        ext4    noatime,discard      1 1
```

----------

## bbgermany

Hi,

hast du den Treiber für den RAID Controller auch fest im Kernel eingebaut? Falls ja, versuch den mal als Modul und lad den dann über die /etc/conf.d/modules.

MfG. Stefan

EDIT:

 *Quote:*   

> 
> 
> linux	/kernel-3.12.8-gentoo root=/dev/sda3 ro HOME=/root video=uvesafb:off quiet splash=silent,theme:emerge-world video=uvesafb:off
> 
> 

 

Da steht noch sda3 drin. Ich hab da so etwas stehen:

```

linux   /boot/kernel-genkernel-x86_64-3.12.7-gentoo root=UUID=c66d66c4-5f3c-4e95-9e5f-01f2773e8202 ro

```

----------

## frostschutz

nimm halt statt root=/dev/sdax eine /dev/sdbx oder /dev/sdcx 

wenn du kein uuid fähiges initramfs hast

----------

## 3PO

@ bbgermany,

in meiner "/etc/default/grub" steht,

```
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to kernel

#GRUB_DISABLE_LINUX_UUID=true
```

das bedeutet doch, dass die UUID genommen wird, oder nicht?

Das mit dem Laden des Kernelmoduls, kann ich mal versuchen, im Moment habe ich den Treiber fest einbaut.  :Wink: 

----------

## bbgermany

Da bin ich mir nicht sicher, da ja hartkodiert sda3 als Rootdev bei dir drin steht.

MfG. Stefan

----------

## 3PO

Und genau das ist die 64€ Frage.  :Wink: 

Wo wird das "hardcodiert"?

Ich habe an den Configs für grub2 nichts verändert.

----------

## bbgermany

Du kannst ja mal einfach versuchen es per Hand in deine vorhandene grub.cfg einzutragen.

MfG. Stefan

----------

## 3PO

Na ja, von Hand eintragen will ich das eigentlich nicht, da es spätestens beim nächsten "grub2-mkconfig" wieder rausfliegt.

Ich habe das jetzt mal so gelöst:

- Das Modul mit <M> gebaut.

- Dann muss das Modul geblacklistet werden, da udev meint, es automatisch laden zu müssen.   :Rolling Eyes: 

- In local.d ein Script angelegt, dass dann das Modul läd und mountet.

So funktioniert das erstmal, allerdings wäre mir die Lösung mit UUID lieber gewesen.

Da aber der RAID nur als Datengrab dient, kann erstmal mit dieser Bastellösung leben.  :Smile: 

----------

## firefly

blacklisting brauchst du doch net, da ja der kernel ja zu dem zeitpunkt das root-fs schon gemounted und init gestartet hat.

Und wegen root=UUID (UUID des dateisystems). Der kernel selbst kennt diese syntax nicht. Hierfür ist eine UUID fähige initramfs von nöten.

Was der kernel ohne initramfs kann ist die syntax root=PARTUUID. Diese UUID funktioniert nur wenn die Partitionene der Festplatte mit durch eine GPT dargestellt werden.

----------

## 3PO

hmm,

ohne blacklisting hat es aber nicht funktioniert.

----------

## 3PO

Ich habe es nochmal ohne blacklisting versucht und seltsamer Weise geht es nun auch so.   :Surprised: 

THX @ firefly für die Erklärungen,  :Wink: 

----------

