Grub2 und raid findet initrd nicht

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
warhammer
Beiträge: 92
Registriert: 17.12.2008 07:51:40

Grub2 und raid findet initrd nicht

Beitrag von warhammer » 24.02.2011 13:59:09

Hallo,

trotz lesen von einigen Einträgen komme ich nicht weiter.

So siehts bei mir aus:
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this comment. Be careful not to change # the 'exec tail' line above.
menuentry 'XEN Raid /dev/sda' {
insmod raid
insmod mdraid
insmod ext3
set root='(md12)'
linux /vmlinuz-2.6.26-2-xen-686 root=/dev/md13 ro console=tty0 pciback.hide=(03:00.0)
/initrd.img-2.6.26-2-xen-686
}


root@ubuntu:~# mount -t ext3 /dev/md12 /mnt
root@ubuntu:~# ls -l /mnt insgesamt 41052
[...]
-rw-r--r-- 1 root root 7894422 2009-07-07 17:22 initrd.img-2.6.26-2-686
-rw-r--r-- 1 root root 7857240 2009-07-07 18:03 initrd.img-2.6.26-2-xen-686
[...]

... set root sollte doch dafür sorgen das sowohl der Kernel als auch die initrd unter /dev/md12 gesucht werden, oder?
Warum findet grub sie dann da nicht? :(

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Grub2 und raid findet initrd nicht

Beitrag von rendegast » 24.02.2011 14:12:24

insmod ext3
...
/initrd.img-2.6.26-2-xen-686
->

Code: Alles auswählen

insmod ext2                    # wobei ext2 wohl durch update-grub schon im Header der grub.cfg steht.
...
initrd /initrd.img-2.6.26-2-xen-686

Code: Alles auswählen

$ ll /boot/grub/*ext*
-rw-r--r-- 1 root root 5804 11. Feb 10:26 /boot/grub/ext2.mod
-rw-r--r-- 1 root root 3980 11. Feb 10:26 /boot/grub/extcmd.mod
-rw-r--r-- 1 root root 3984 11. Feb 10:26 /boot/grub/gettext.mod
-rw-r--r-- 1 root root 2288 11. Feb 10:26 /boot/grub/vga_text.mod


Falls nicht der linux-Kernel, sondern xen gestartet werden soll, dann ungefähr so
(ala /etc/grub.d/20_linux_xen)

Code: Alles auswählen

...
        echo    'Loading Linux 2.6.37-1-686-bigmem ...'
        multiboot       /boot/xen-4.0-i386.gz placeholder 
        module  /boot/vmlinuz-2.6.37-1-686-bigmem placeholder root=.....
        echo    'Loading initial ramdisk ...'
        module  /boot/initrd.img-2.6.37-1-686-bigmem
...
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

warhammer
Beiträge: 92
Registriert: 17.12.2008 07:51:40

Re: Grub2 und raid findet initrd nicht

Beitrag von warhammer » 24.02.2011 14:23:27

Hm, warum ext2 statt ext3?

... das mit dem xen verstehe ich gerade nicht. Dom0 ist doch eigentlich nix anderes wie ein "normales" Linux System?

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Grub2 und raid findet initrd nicht

Beitrag von rendegast » 24.02.2011 15:41:55

Hm, warum ext2 statt ext3?
Weil kein ext3.mod existiert:
rendegast hat geschrieben:

Code: Alles auswählen

$ ll /boot/grub/*ext*
-rw-r--r-- 1 root root 5804 11. Feb 10:26 /boot/grub/ext2.mod
-rw-r--r-- 1 root root 3980 11. Feb 10:26 /boot/grub/extcmd.mod
-rw-r--r-- 1 root root 3984 11. Feb 10:26 /boot/grub/gettext.mod
-rw-r--r-- 1 root root 2288 11. Feb 10:26 /boot/grub/vga_text.mod

Dom0 ist doch eigentlich nix anderes wie ein "normales" Linux System?
Nein.
Mittlerweile ist halt nur der xen-linux ein startbarer Kernel, der ohne den xen-hypervisor ein normales Linux bietet.
Erst über den hypervisor gestartet hast Du XEN-dom0.
Lese Dich da ein.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

warhammer
Beiträge: 92
Registriert: 17.12.2008 07:51:40

Re: Grub2 und raid findet initrd nicht

Beitrag von warhammer » 24.02.2011 18:46:39

Ok, xen mal aussen vorgelassen (Hab noch nen altes Xen3).

ext2 eingetragen, initrd auch eingetragen.
Nun bekomme ich als Meldung "No such disk" :(

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Grub2 und raid findet initrd nicht

Beitrag von rendegast » 25.02.2011 05:51:16

Ich habe das mal in einer VM nachgestellt, md0 /boot, md1 /, md2 /home, alle ext4,
grub.cfg:

Code: Alles auswählen

set root='(md/0)'
Beachte den slash.
Bei Dir ist das dann ein copy+paste-Fehler? und soll heißen
set root='(md/2)'
? (Du hast nicht zwölf md-Devices aufgesetzt?)

In der grub-shell beim Booten:

Code: Alles auswählen

grub> root
(md/0): Filesystem is ext2.
grub>
grub>
grub> root (m      <TAB>
Possible devices are:

 md/0 md/1 md/2
grub>
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

warhammer
Beiträge: 92
Registriert: 17.12.2008 07:51:40

Re: Grub2 und raid findet initrd nicht

Beitrag von warhammer » 25.02.2011 12:12:40

Hallo,

seit wann muss denn da ein / rein (also (md/2)?

Nein ich habe nicht zwölf md Devices. Aber um den Überblick zu behalten sind die immer passend zu /dev/sdXY benannt (also /dev/sdX2) gehört zu md2. Da md2 im alten System schon vorhanden war heisst das ganze jetzt md12 (Wie md-Raid1-2), ich habe auch noch md13 (für /), md15 (swap), md16 und md17. Wobei md17 mal ein md57 (Weil später Raid5) wird.

Ein root (m<Tab> liefert kein Ergebnis, ein root (<Tab> liefert hd0 und hd1.

root (hd0,<Tab> liefert hd0,msdos1 hd0,msdos2 und hd0,msdos3
-> Das verstehe ich noch. msdos1 ist sda1 -> Bootbares Ubuntu
msdos2 ist sda2 und damit ein Teil von md12
msdos3 ist sd3 und damit ein Teil von md13
-> Die Partitionen werden also als einzelne ext2 Partitionen erkannt, aber nicht als Raid.


/dev/sda1 : start= 56, size=104867784, Id=83
/dev/sda2 : start=104867840, size= 4202240, Id=fd, bootable
/dev/sda3 : start=109070080, size= 52446464, Id=fd
--> sda2 und sda3 sind aber als Raid markiert


... irgendwie scheint grub nicht mit dem Raid klarzukommen. Ich kann die Raids aber problemlos mounten und mdadm zeigt auch an das alles io ist...

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Grub2 und raid findet initrd nicht

Beitrag von rendegast » 25.02.2011 13:07:21

seit wann muss denn da ein / rein (also (md/2)?
Weiß ich nicht genau, seit heute?
EDIT Seitdem (hd0,1) zu (hd0,msdos1) wurde?
Ein root (m<Tab> liefert kein Ergebnis, ein root (<Tab> liefert hd0 und hd1.
Sind da die Module raid und mdraid geladen? (Werden bei mir vor den menuentry zweimal aufgerufen)

Code: Alles auswählen

cat /etc/mdadm.conf
blkid | sort
ls -l /dev/disk/by-uuid/
Eventuell Ungereimtheiten.

/dev/sda1 : start= 56, size=104867784, Id=83
ungewöhnlich?
Zuletzt geändert von rendegast am 25.02.2011 14:27:40, insgesamt 1-mal geändert.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

warhammer
Beiträge: 92
Registriert: 17.12.2008 07:51:40

Re: Grub2 und raid findet initrd nicht

Beitrag von warhammer » 25.02.2011 13:26:00

Hm, bei mir hat bis jetzt immer die Notation /dev/md2 funktioniert. /dev/md/2 ist mir neu. Werde ich aber mal überprüfen.

raid und mdraid stehen zumindest in der entsprechenden Konfigdatei (Siehe ganz oben). Wie kann ich ermitteln ob die wirklich geladen sind?

Der Startblock auf 56 ist den 4k Sektoren der 2TB Platte geschuldet. Da der ja von der ersten Partition problemlos startet und die auch findet als hd0,0 bzw hd0,msdos1 denke ich gibts hier auch keine Probleme.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Grub2 und raid findet initrd nicht

Beitrag von rendegast » 25.02.2011 14:25:09

/dev/md/2
Davon habe ich nichts geschrieben, sondern vom Syntax in der grub.cfg resp. der grub-shell:

Code: Alles auswählen

set root='(md/0)'

Code: Alles auswählen

grub>
grub> root (m      <TAB>
Possible devices are:

md/0 md/1 md/2
Wie kann ich ermitteln ob die wirklich geladen sind?
Wenn das Kommando zum Laden 'insmod' heißt?

Code: Alles auswählen

grub> help
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

warhammer
Beiträge: 92
Registriert: 17.12.2008 07:51:40

Re: Grub2 und raid findet initrd nicht

Beitrag von warhammer » 26.02.2011 19:53:13

... so, erstmal nen Stück weiter:
menuentry 'Raid /dev/sda' {
insmod raid
insmod mdraid
insmod ext2
set root='(md/12)'
linux /vmlinuz-2.6.26-2-686 root=/dev/md13 ro console=tty0 pciback.hide=(03:00.0)
initrd /initrd.img-2.6.26-2-686
}

funktioniert. Wobei das md/12 statt md12 mit der verwendeten Version der Metadaten zusammenhängt. Mit der neuen Version 1.2 heisst es halt md/12. Warum auch immer...

menuentry 'XEN Raid /dev/sda' {
insmod raid
insmod mdraid
insmod ext2
set root='(md/12)'
multiboot /xen-3.2-1-i386.gz
module /vmlinuz-2.6.26-2-xen-686 root=/dev/md13 ro console=tty0 pciback.hide=(03:00.0)
module /initrd.img-2.6.26-2-xen-686
}
funktioniert hingegen nicht. Beim starten bleibt das ganze mit einer Kernelpanik hängen. Da scheints ein Problem mit dem multiboot /xen-3,2,-1-i386.gz zu geben. Da hänge ich momentan. :(

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Grub2 und raid findet initrd nicht

Beitrag von rendegast » 26.02.2011 20:06:14

Beim starten bleibt das ganze mit einer Kernelpanik hängen.
Bitte genauer.

Da scheints ein Problem mit dem multiboot /xen-3,2,-1-i386.gz zu geben. Da hänge ich momentan.
Versuche andere Meldungen zu generieren, zBsp. durch auskommentieren

Code: Alles auswählen

multiboot ...
#module ...
#module ...
Eigentlich scheint der menuentry in Ordnung.


Den hypervisor xen-3.2-1 gibts in zwei Geschmäckern
Debianxen-hypervisor-3.2-1-i386
Debianxen-hypervisor-3.2-1-i386-nonpae.
Vielleicht mal den nonpae versuchen?
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

warhammer
Beiträge: 92
Registriert: 17.12.2008 07:51:40

Re: Grub2 und raid findet initrd nicht

Beitrag von warhammer » 27.02.2011 07:55:42

"Panic on CPU0: Cannot access memory beyond end of bootstrap direct-map area"
wenn einer der Einträge nicht vorhanden ist fängt er erst gar nicht an zu booten.
Scheint also am Multiboot Eintrag zu liegen.
Was ich mal wieder nicht verstehe, denn unter grub-legacy funktionierts damit ohne die geringsten Probleme...
This is because your version of GRUB2 dumps the dom0 kernel and initrd image to a memory region that Xen cannot access. Changing to different GRUB2 version fixes the problem. Another option is to switch to 64 bit Xen hypervisor. Note that you can still run 32bit dom0 on 64bit Xen hypervisor.
This problem has been fixed in Xen 4.0.0-rc8 and newer versions. You can use new enough 32bit PAE Xen hypervisor with GRUB2. See these changesets for patches: http://xenbits.xen.org/xen-unstable.hg?rev/bcc09eb7379f and http://xenbits.xen.org/xen-unstable.hg?rev/377433a77d70
-> Oh Mann. Einfach ist wirklich anders...

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Grub2 und raid findet initrd nicht

Beitrag von rendegast » 27.02.2011 10:19:13

Dann benutze doch weiterhin den grub1.

Oder steige um auf Squeeze (xen4 + kernel-2.6.32).


-> Oh Mann. Einfach ist wirklich anders...
Also xen an sich halte ich nicht wirklich für einfach.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

warhammer
Beiträge: 92
Registriert: 17.12.2008 07:51:40

Re: Grub2 und raid findet initrd nicht

Beitrag von warhammer » 27.02.2011 11:43:47

... grub verträgt sich ja nicht mit den neu angelegten Raids, weil Metaversion 1.2. Dafür brauchts wohl mindestens grub 1.98.
Deswegen hab ich ja überhaupt nur angefangen mich mit grub2 zu beschäftigen.

Aber nachdem ich das Problem von grub gefunden habe gibts ja auch ne Lösung (boot Raid einfach mit metaversion 0.9 anlegen).



... so schlimm ist xen nicht. Wenns einmal richtig konfiguriert ist läufts ohne Probleme stabil. Jedenfalls die 3.
Die 4er hab ich mal ausprobiert und gleich wieder beiseite gepackt. Vielleicht ists nun besser...




... schon spannend was passiert wenn man eigentlich "nur" 3x1TB Platten durch 3x2TB Platten ersetzen will und denkt dabei gäbe es keine Probleme. Danke jedenfalls für Deine Denkanstöße!

Antworten