[gelöst] Probleme mit Upgrade von Lenny-> Squeeze, initramfs

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
SimonMoon
Beiträge: 7
Registriert: 30.12.2011 16:00:20

[gelöst] Probleme mit Upgrade von Lenny-> Squeeze, initramfs

Beitrag von SimonMoon » 30.12.2011 16:20:58

Hallo Forum,

gestern habe ich unseren Server von Etch auf Lenny upgedated, das lief problemlos.
Heute wollte ich das Upgrade von Lenny auf Squeeze durchführen, streng nach den Vorgaben der Debian Seite (http://www.debian.org/releases/stable/i ... ng.de.html).

Alle geschilderten Vorbereitungen liefen problemlos und mit den erwarteten Ergebnissen. An Punkt 4.4.4 "Minimales System Update" mit sudo apt-get upgrade startete, brach dies nach einiger Zeit mit den folgenden Meldungen ab:

Code: Alles auswählen

Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-2.6.26-2-486
cp: `/lib/firmware/aic94xx-seq.fw' and `/tmp/mkinitramfs_llqk38/lib/firmware/aic94xx-seq.fw' are the same file
E: /usr/share/initramfs-tools/hooks/firmware_aic94xx failed with return 1.
update-initramfs: failed for /boot/initrd.img-2.6.26-2-486
dpkg: subprocess post-installation script returned error exit status 1
E: Sub-process /usr/bin/dpkg returned an error code (2)
Ein erneuter Start von sudo apt-get upgrade ergab nur "E: dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem. " was vermutlich normal ist.
Google hat zu dem aufgetretenen Fehler leider nicht viel zu sagen.

Der Server läuft (oberflächlich getestet) noch weiter, die verschiedenen Services (smb, http, mysql, dns, ssh, etc.) scheinen alle unbeeindruckt, aber natürlich will ich nur sehr ungern am Montag auf einem System in diesem "Zwischen-Status" weiter arbeiten.

Kann mir jemand einen Tip geben, wie ich
a) das Problem in den Griff bekomme und das Upgrade erfolgreich zum Abschluss bekomme (das wär natürlich die bevorzugte Variante)
oder zur Not:
b) die bisher getätigten Upgrades / Updates so weit rückgängig mache, das wir wieder auf einem stabilen System arbeiten können.

Oder ist das auch bei einem abgebrochenen Upgrade sowieso der Fall???

P.S.:
Der einzige Unterschied zur Anleitung auf debian.org ist, das ich eine leicht andere sources.list (des Sever-Herstellers) verwendet habe:

Code: Alles auswählen

 # Standard Debian Mirrors
 deb http://ftp.de.debian.org/debian/ squeeze main contrib non-free
 deb http://security.debian.org/ squeeze/updates main contrib non-free
 deb-src http://security.debian.org/ squeeze/updates main contrib non-free
 deb-src http://ftp2.de.debian.org/debian/ squeeze main contrib non-free

 # Thomas-Krenn.AG repository
 deb http://debian.tk-dns.de/ squeeze tks 
Natürlich bin ich sehr dankbar für Hilfe oder jeden erdenkliche Hinweis!

Viele Grüße und einen guten Rutsch!
S.
Zuletzt geändert von SimonMoon am 31.12.2011 13:10:52, insgesamt 1-mal geändert.

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

Re: Probleme mit Upgrade von Lenny auf Squeeze, initramfs

Beitrag von rendegast » 30.12.2011 17:40:26

E: /usr/share/initramfs-tools/hooks/firmware_aic94xx failed with return 1.
Den hook erstamal verschieben, das Upgrade durchführen.

Die initrd kontrollieren, sie dürften nun wohl nicht mehr die benötigte Firmware enthalten.
-> NICHT neu starten, da eventuell dein Festplattenkontroller nicht mehr funktionieren würde.


Den hook /usr/share/initramfs-tools/hooks/firmware_aic94xx untersuchen,
stammt wohl noch aus den etch-Zeiten und müßte angepaßt werden.
Vielleicht gibt es auch andere Wege, die firmware mit Pfad in die initrd zu bekommen,
eventuell müßte sie nur in einer Konfigurationsdatei oder einem Verzeichnis in
/etc/initramfs-tools/ untergebracht werden.
(Was hat das Ding in /usr/share/initramfs-tools/hooks/ zu suchen?
Keine debian-Datei?
Treiberinstallation? Sollte dann besser in /etc/initramfs-tools/ sitzen.)


Zur einfacheren Untersuchung:
Die initrd ist mittlerweile ein *.cpio.gz.
Also zur /boot/initrd einen Link /boot/initrd.cpio[.gz] erstellen,
ermöglicht vielen Dateisystemmanagern die Archivdatei wie einen Ordner zu besichtigen,
zBsp. mit mc auch Ansicht mit F3.

Die initrd können abschließend mit

Code: Alles auswählen

update-initramfs -u -k all
neu erstellt werden.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

SimonMoon
Beiträge: 7
Registriert: 30.12.2011 16:00:20

Re: Probleme mit Upgrade von Lenny auf Squeeze, initramfs

Beitrag von SimonMoon » 30.12.2011 20:59:23

Hallo rendegast,

erst mal vielen Dank für Deine Antwort so spät noch am Freitag vor Silvester.
Leider bin ich kein totaler Linux / Debian Crack und verstehe daher Deine Antwort nur zur Hälfte. Google und Wikipedia haben mir zwar weiter geholfen, trotzdem sind bei mir leider noch einige Fragen offen, die ich gern klären würde bevor ich mir ein nicht-bootfähiges System erstelle ;) (Oder hab ich das schon?)

D.h. im aktuellen Status habe ich nur gesucht, aber noch nichts weiter installiert.
Die initrd kontrollieren, sie dürften nun wohl nicht mehr die benötigte Firmware enthalten.
Das hab ich schon mal im Vorfeld getan. Das mit dem cpio.gz Link hat prima funktioniert, ich kann im mc in das img wechseln und mich da umsehen. Nachdem bei mir ein

Code: Alles auswählen

uname -r
"2.6.24.4-tks" ergibt, gehe ich davon aus, das ich aktuell die /boot/initrd.img-2.6.24.4-tks untersuchen müsste. Nur leider hab ich ehrlich gesagt nicht den geringsten Schimmer, nach was ;)
Den hook /usr/share/initramfs-tools/hooks/firmware_aic94xx untersuchen,
stammt wohl noch aus den etch-Zeiten und müßte angepaßt werden.
Wenn ich davon ausgehe, das der hook das shellscript /usr/share/initramfs-tools/hooks/firmware_aic94xx ist, dann steht da

Code: Alles auswählen

#!/bin/sh

PREREQ="udev"

prereqs()
{
 echo "$PREREQ"
}

case $1 in
prereqs)
 prereqs
 exit 0
 ;;
esac

. /usr/share/initramfs-tools/hook-functions

copy_exec /lib/udev/firmware.agent /lib/udev/

mkdir -p $DESTDIR/lib/firmware
cp /lib/firmware/aic94xx-seq.fw $DESTDIR/lib/firmware
leider bin ich auch nicht gerade der Erfinder der Shellscripte, aber immerhin finde ich darin ein PREREQ="udev". Kann das ein Hinweis sein, das das Script udev zur Ausführung benötigt, das vorhandene (alte) aber bereits inkompatibel ist?
Nun könnte ich nun natürlich folgendes vermuten:

1.) ich verschiebe wie vorgeschlagen den hook und kann so (hoffentlich) den Punkt 4.4.4 "Minimales System-Upgrade" mittels apt-get upgrade abschliessen.
2.) danach upgrade ich nach Punkt 4.4.5. Kernel und udev
3.) So der große Pinguin will kann ich danach den hook wieder an seine ursprüngliche Stelle kopieren,

Code: Alles auswählen

update-initramfs -u -k all
laufen lassen und alles ist gut.
4.) Dann upgrade ich die gesamte distrubution mittels

Code: Alles auswählen

apt-get dist-upgrade
, reboote das System und gehe glücklich und zufrieden ins Bett.

Nur: was mache ich, wenn das so nicht klappt?
Mit
Den hook /usr/share/initramfs-tools/hooks/firmware_aic94xx untersuchen,
stammt wohl noch aus den etch-Zeiten und müßte angepaßt werden.
bin ich leider völlig überfordert. Ich wüsste nicht, was ich da wie anpassen müsste.

Zu
(Was hat das Ding in /usr/share/initramfs-tools/hooks/ zu suchen?
Keine debian-Datei?
Treiberinstallation? Sollte dann besser in /etc/initramfs-tools/ sitzen.)
kann ich leider nicht viel sagen. Die Maschine kam vorinstalliert von einem Server-Hersteller / -Vertrieb, der eigentlich n ganz kompetenten Eindruck macht und wie im OP geschrieben auch seine eigenen Pakete beisteuert.
So völlig ins Blaue würde ich raten, das es sich bei der Datei um einen / den Treiber für den RAID Controller handelt, kann das sein?

Weiterhin vielen Dank für Eure Hilfe.

S.


Edit: ich habe in der aktuellen initrd die folgenden Einträge bzgl. aic94xx gefunden:

Code: Alles auswählen

lib/firmware/aic94xx-seq.fw
.....
lib/modules/2.6.24.4-tks/kernel/drivers/scsi/aic94xx
lib/modules/2.6.24.4-tks/kernel/drivers/scsi/aic94xx/aic94xx.ko
zumindest die erste Zeile ist ja vermutlich durch das beim Upgrade nicht mehr funktionierende hook Script erstellt worden. Jetzt ist eigtl. nur noch die Frage, wie ich die nach dem Upgrade da wieder rein bekommen bzw. was das ist (brauch ich das überthaupt? ;)).
SCSI Geräte gibt's meines Wissens nach nicht in der Maschine, nur halt eben jenen RAID Controller.

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

Re: Probleme mit Upgrade von Lenny auf Squeeze, initramfs

Beitrag von rendegast » 31.12.2011 04:49:18

Kann das ein Hinweis sein, das das Script udev zur Ausführung benötigt, das vorhandene (alte) aber bereits inkompatibel ist?
Nein, die Fehlermeldung
cp: `/lib/firmware/aic94xx-seq.fw' and `/tmp/mkinitramfs_llqk38/lib/firmware/aic94xx-seq.fw' are the same file
kommt aus der letzten Zeile

Code: Alles auswählen

cp /lib/firmware/aic94xx-seq.fw $DESTDIR/lib/firmware
Ich frage mich jedoch, warum überhaupt.
Ich kann ein
$ cp datei kopie
beliebig wiederholen ohne Fehler. Vielleicht ein etwas andere dash-Version des Programms o.ä.?
Vielleicht hilft ein abschließendes 'exit 0' in dem shell-Skript?

Code: Alles auswählen

...
mkdir -p $DESTDIR/lib/firmware
cp /lib/firmware/aic94xx-seq.fw $DESTDIR/lib/firmware
exit 0
Aber vielleicht liegt der Fehler ja auch am Kernelpaket 2.6.26-2-486 von debian,
da sollten wohl sowieso die kernel von tk verwendet werden.
Da das nach dem uname der Fall ist, kannst Du den debian-kernel auch purgen.




'2.6.24.4-tks',
http://debian.tk-dns.de/dists/lenny/tks ... 6/Packages
Package: linux-image-2.6-tks
Depends: linux-image-2.6.24.2-tks (>=1)
wobei es in der Packages nur zwei
Package: linux-image-2.6.24.4-tklb
Package: linux-image-2.6.24.2-tklb
gibt, dazu jedoch auch noch 2.6.32...
?
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

SimonMoon
Beiträge: 7
Registriert: 30.12.2011 16:00:20

Re: Probleme mit Upgrade von Lenny auf Squeeze, initramfs

Beitrag von SimonMoon » 31.12.2011 13:09:57

Hallo,

die gute Nachricht: nachdem ich gestern noch bei TK nachgefragt habe, hat sich herausgestellt, das der problematische hook Treiber für einen Raid Controller lädt, der in der Maschine gar nicht verbaut ist und somit wohl ziemlich überflüssig ist (dazu habe ich für den Fall der Fälle noch den Link auf ein aktuelles Paket für diese Treiber bekommen).

Also habe ich wie vorgeschlagen den hook verschoben und wie erwartet lief danach ein

Code: Alles auswählen

sudo dpkg --configure -a
problemlos durch, mit folgendem Ergebnis:

Code: Alles auswählen

 Setting up initramfs-tools (0.98.8) ...
update-initramfs: deferring update (trigger activated)
Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-2.6.26-2-486
Allerdings ergibt sich damit für mich ein neues Problem, das ich aber besser extra poste, glaub ich.

Vielen Dank an rendegast für die rege Anteilnahme!

Grüße und einen guten Rutsch!
S.

Antworten