• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Kernelupdate initrd nicht erstellt (gelöst)

ukuarcor

Newbie
Hallo zusammen,

ich habe beim update auf Kernel 2.6.27.23-0.1 unter Suse 11.1 keine gültige initrd erhalten. Grub meldet Error 15 (die Datei existiert nicht => stimmt)

Kann man nach solch einem Update-Misserfolg die initrd im Rescue-Modus oder per Knoppix erneut erzeugen?

Per DVD und Repair will es nicht gelingen. Es mag daran liegen, dass ich aus historischen Gründen (seit 10.x) /boot auf einer eigenen Partition habe und / auf einem RAID1 liegt. Seitdem konnte ich mit der Knoppix CD einiges bügeln, aber bei diesem Update stehe ich im Wald.

Sehr Grober Systemdatenüberblick zum Verständnis der Partitionierung:

/dev/sda1 => /boot (1GB) => die initrd zeigt auf eine datei, die nicht existiert, wie sinnig :D (eben Error 15)
/dev/sda5 und /dev/sdb5 => RAID1 auf /dev/md0 (wird auch erkannt, will jedoch unter Install-DVD - Repair jedesmal einen neuen fstab Eintrag erzeugen ... :???: und zerstört mir dann den GRUB, den ich dann per install von Knoppix wieder reparieren kann. Meldet ausserdem, dass alle relevanten Dateien zum Erstellen der initrd nicht zu finden sind und bricht dann ab. Falscher symlink ist die Folge)

Ausgaben gestalten sich hier etwas schwierig, ich komme ja nicht wirklich an das System.... ;) Verzeiht mir.
 

josef-wien

Ultimate Guru
ukuarcor schrieb:
Meldet ausserdem, dass alle relevanten Dateien zum Erstellen der initrd nicht zu finden sind und bricht dann ab.
Da taucht die Vermutung auf, daß bei Dir der Kernel unvollständig installiert wurde. Da wirst Du mit chroot und rpm die 3 Kernel-rpm-Dateien neu installieren müssen (initrd wird dabei automatisch erstellt). Betreffend chroot hat robi kürzlich einige Hilfestellung geleistet, suche bei Bedarf einmal nach "chroot mkinitrd" des Autors "robi".

ukuarcor schrieb:
Es mag daran liegen, dass ich aus historischen Gründen (seit 10.x) /boot auf einer eigenen Partition habe und / auf einem RAID1 liegt.
Ich habe unter anderem sowohl / als auch /boot als RAID1, und das Update des pae-Kernel einschließlich Erstellung von initrd funktionierte problemlos.
 
OP
U

ukuarcor

Newbie
Hallo josef-wien,

sehr guter Hinweis, bin also exakt nach den Anleitungen von robi vorgegangen. Hier die Ausgabe.....

Code:
root@Knoppix:/ramdisk/home/knoppix# cd /
root@Knoppix:/# mount /dev/sda5 /mnt
root@Knoppix:/# mount /dev/sda1 /mnt/boot
root@Knoppix:/# mount --bind /dev /mnt/dev
root@Knoppix:/# chroot /mnt
Knoppix:/> mount /proc
Knoppix:/> mount /sys
Knoppix:/> mkinitrd

Kernel image:   /boot/vmlinuz-2.6.27.23-0.1-pae
Initrd image:   /boot/initrd-2.6.27.23-0.1-pae
node name not found
Root device:    /dev/sda5 (mounted on / as ext3)
Kernel Modules: dock scsi_mod libata pata_amd sata_nv ata_generic ide-core amd74xx ide-pci-generic jbd mbcache ext3 raid1 aacraid crc-t10dif sd_mod usbcore ohci-hcd uhci-hcd ehci-hcd ff-memless hid usbhid
Features:       block usb resume.userspace resume.kernel
Bootsplash:     No bootsplash for kernel flavor pae
cp: Schreiben von ª/dev/shm/mkinitramfs.aChvN1/mnt/lib/libgcrypt.so.11.4.4´: Auf dem Ger‰t ist kein Speicherplatz mehr verf¸gbar
cp: Schreiben von ª/dev/shm/mkinitramfs.aChvN1/mnt/lib/libgpg-error.so.0.4.0´: Auf dem Ger‰t ist kein Speicherplatz mehr verf¸gbar
cp: Schreiben von ª/dev/shm/mkinitramfs.aChvN1/mnt/lib/liblzo2.so.2.0.0´: Auf dem Ger‰t ist kein Speicherplatz mehr verf¸gbar
cp: Schreiben von ª/dev/shm/mkinitramfs.aChvN1/mnt/lib/libncurses.so.5.6´: Auf dem Ger‰t ist kein Speicherplatz mehr verf¸gbar
cp: Schreiben von ª/dev/shm/mkinitramfs.aChvN1/mnt/lib/libpthread-2.9.so´: Auf dem Ger‰t ist kein Speicherplatz mehr verf¸gbar
cp: Schreiben von ª/dev/shm/mkinitramfs.aChvN1/mnt/lib/libreadline.so.5.2´: Auf dem Ger‰t ist kein Speicherplatz mehr verf¸gbar
cp: Schreiben von ª/dev/shm/mkinitramfs.aChvN1/mnt/lib/librt-2.9.so´: Auf dem Ger‰t ist kein Speicherplatz mehr verf¸gbar
cp: Schreiben von ª/dev/shm/mkinitramfs.aChvN1/mnt/lib/libselinux.so.1´: Auf dem Ger‰t ist kein Speicherplatz mehr verf¸gbar
cp: Schreiben von ª/dev/shm/mkinitramfs.aChvN1/mnt/lib/libsepol.so.1´: Auf dem Ger‰t ist kein Speicherplatz mehr verf¸gbar
cp: Schreiben von ª/dev/shm/mkinitramfs.aChvN1/mnt/lib/libutil-2.9.so´: Auf dem Ger‰t ist kein Speicherplatz mehr verf¸gbar
cp: Schreiben von ª/dev/shm/mkinitramfs.aChvN1/mnt/lib/libuuid.so.1.2´: Auf dem Ger‰t ist kein Speicherplatz mehr verf¸gbar
cp: Schreiben von ª/dev/shm/mkinitramfs.aChvN1/mnt/lib/libvolume_id.so.1.0.1´: Auf dem Ger‰t ist kein Speicherplatz mehr verf¸gbar
cp: Schreiben von ª/dev/shm/mkinitramfs.aChvN1/mnt/usr/lib/libpcre.so.0.0.1´: Auf dem Ger‰t ist kein Speicherplatz mehr verf¸gbar
cp: Schreiben von ª/dev/shm/mkinitramfs.aChvN1/mnt/lib/libnss_dns-2.9.so´: Auf dem Ger‰t ist kein Speicherplatz mehr verf¸gbar
cp: Schreiben von ª/dev/shm/mkinitramfs.aChvN1/mnt/lib/libnss_files-2.9.so´: Auf dem Ger‰t ist kein Speicherplatz mehr verf¸gbar

gzip: stdout: No space left on device
gzip: stdout: No space left on device
2009-07-16 22:53:01 WARNING: GRUB::GrubDev2UnixDev: No partition found for /dev/disk/by-id/ata-SAMSUNG_HD501LJ_S0MUJFWQ363035 with 1.
2009-07-16 22:53:01 WARNING: GRUB::GrubDev2UnixDev: No partition found for /dev/disk/by-id/ata-SAMSUNG_HD501LJ_S0MUJFWQ363035 with 1.
2009-07-16 22:53:01 WARNING: GRUB::GrubDev2UnixDev: No partition found for /dev/disk/by-id/ata-SAMSUNG_HD501LJ_S0MUJFWQ363035 with 1.
2009-07-16 22:53:01 WARNING: GRUB::GrubDev2UnixDev: No partition found for /dev/disk/by-id/ata-SAMSUNG_HD501LJ_S0MUJFWQ363035 with 1.
2009-07-16 22:53:01 WARNING: GRUB::GrubDev2UnixDev: No partition found for /dev/disk/by-id/ata-SAMSUNG_HD501LJ_S0MUJFWQ363035 with 1.
2009-07-16 22:53:01 ERROR: Core::SplitDevPath: Cannot get device for /, no root mount point set

Die Partitionen sind alle als (rw) eingehängt, das sollte also passen. Oder muss ich die Partitionen explizit als /dev/disk/by-id/ata-SAMSUNG......-PART5 einhängen?
Die letzte Meldung deutet darauf hin, dass die Büchse "/" verloren hat.

Na ja, wer lesen kann, ist klar im Vorteil. Nachdem ich auch /dev/shm gemountet habe, klappte es zumindest soweit, dass er mir eine initrd für den pae-Kernel gebaut hat. Starte ich das System, bootet er auch, findet allerdings das raid1 nicht mehr, hat also das root filesystem verloren.

Die Ausgabe lautet dann etwa wie folgt:
.......Could not find /dev/md0
Want to fall back to /dev/sda5? (Y/n) => "Y"
fsck: fsck.linux_raid_member: not found
.....

Und nun? Ich denke, ich werde erstmal eine Nacht darüber schlafen......

Danke für Eure Hilfe
uku
 

josef-wien

Ultimate Guru
ukuarcor schrieb:
...
root@Knoppix:/# mount /dev/sda5 /mnt
...
Root device: /dev/sda5 (mounted on / as ext3)
...
/ ist bei Dir ja ein RAID1-Verbund, also geht es so nicht. Versuche einmal:
Code:
mkinitrd -f md -d /dev/md0
Falls das nicht reichen sollte, muß vorher auch der RAID1-Verbund aktiviert werden, dazu kann ich aber im Zusammenhang mit "chroot" nichts sagen.
 
A

Anonymous

Gast
Nimm mal kein Knoppix dazu, sondern eine Suse CD/DVD die "Miniboot" sollte reichen. (Warum weiter unten)
Dann überprüf mal nach dem chroot die Filesystemauslastung, eventuell ist Rootfilesystem voll und der Rechner kann nicht genug auf /tmp auslagern. Solche Fehlermeldungen sollten jedenfalls nicht auftreten
Code:
...... Auf dem Ger‰t ist kein Speicherplatz mehr verf¸gbar

Ich kenne Knoppix nicht, aber die Fehlermeldungen unten würde ich darhin deuten, das die disk-by-id Auflösung im /proc Verzeichnis bei Knopix fehlt oder eine andere ist, als bei Suse. Da du /proc per "bind" in die chrootUmgebung gemountet werden musst, fehlen wohl da die notwendigen Informationen in Knoppix für die Einträge der fstab in Suse

PS: bist du sicher das du alle diese konfigurierten Module in der initrd wirklich brauchst ? Da muss nur so viel rein, das die Module in der initrd geladen werden die für den Zugriff auf das Rootfilesystem benötigt werden. Alle anderen Module kann er dann ja vom /lib/modules/..... beim booten laden wie er sich braucht. Monsterinitrds werden nur selten wirklich benötigt und dann muss man eventuell auch noch mit Optionen nachhelfen damit das Ramdisk für die initrd beim booten auch dafür groß genug wird.

robi
 
OP
U

ukuarcor

Newbie
besten Dank. Das hört sich nach einem guten Plan an. Komme allerdings erst morgen abend dazu, es umzusetzen.

schon mal vielen Dank für die porfessionelle Hilfe. ;)
 

josef-wien

Ultimate Guru
josef-wien schrieb:
dazu kann ich aber im Zusammenhang mit "chroot" nichts sagen
Mir ist doch etwas auf- und eingefallen: Da Knoppix den RAID1-Verbund offenbar nicht erkennt und daher das Einhängen der Partition zuläßt, nimm das Rettungssystem von der openSUSE-DVD, hier wird ein RAID automatisch erkannt und aktiviert, sodaß nach der Anmeldung als root (ohne Paßwort) "mount /dev/md0 /mnt" ausgeführt werden kann.

robi schrieb:
bist du sicher das du alle diese konfigurierten Module in der initrd wirklich brauchst
Diese Menge ist normal (bei mir sind es noch mehr), die meisten davon kommen nicht aus /etc/sysconfig/kernel, sondern werden von openSUSE dazugegeben.
 
OP
U

ukuarcor

Newbie
Exakt:

1. DVD 11.1 rein
2. RESCUE

Code:
Rescue:root
Rescue:/> mount /dev/md0 /mnt          #wenn es ein raid1 ist
Rescue:/> mount /dev/sda1 /mnt         #wenn es eine ata Platte ist
Rescue:/> mount /dev/sda1 /mnt/boot # optional, wenn /boot auf einer eigenen Partition liegt wie bei mir
Rescue:/> mount --bind /dev /mnt/dev
Rescue:/> chroot /mnt
Rescue:/> mkinitrd
Rescue:/> reboot

Wenn der Grub jetzt noch schief steht, ggf. den betreffenden Eintrag auf den Kernel stellen

:D

Ich verneige mich. Alleine wäre ich da nie drauf gekommen.
 
Oben