Problem mit fremdem Kernel nach apt-get upgrade

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
ombre
Beiträge: 5
Registriert: 07.07.2005 20:31:31

Problem mit fremdem Kernel nach apt-get upgrade

Beitrag von ombre » 07.07.2005 21:44:55

Hallo,

auf meinem Debian Sarge System tritt seit dem Upgrade mittels apt-get upgrade jeweils der folgende Fehler auf:

Code: Alles auswählen

server:~# apt-get install 
Reading Package Lists... Done 
Building Dependency Tree... Done 
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 
1 not fully installed or removed. 
Need to get 0B of archives. 
After unpacking 0B of additional disk space will be used. 
Setting up kernel-image-2.6.8-2-386 (2.6.8-16) ... 
/usr/sbin/mkinitrd: Cannot determine SCSI module 
Failed to create initrd image. 
dpkg: error processing kernel-image-2.6.8-2-386 (--configure): 
 subprocess post-installation script returned error exit status 9 
Errors were encountered while processing: 
 kernel-image-2.6.8-2-386 
E: Sub-process /usr/bin/dpkg returned an error code (1) 
server:~# 
Der Grund dafür ist, dass der Betreiber der Server-Hardware (es handelt sich um eine Blade mit SCSI/RAID) einen eigenen Kernel verwendet, diesen aber vermutlich nicht in der für Debian empfohlenen Art als Paket gebaut und installiert, sondern lediglich die Files hinein kopiert hat. Ich bin mir nicht einmal sicher, ob der Kernel auf meinem Server gebaut wurde. Jedenfalls ist das Verzeichnis /usr/src leer und ich finde nirgends Dateien, welche zu dem im kern.log ausgewiesenen Kernel 2.6.11.11 passen würden. Was mich besonders irritiert ist die Tatsache, dass sich unter /lib/modules nur ein einziges Verzeichnis "2.6.8-2-386" findet. Müsste hier nicht auch ein Verzeichnis "2.6.11-11-368" (oder ähnlich) vorhanden sein?

Der verantwortliche Sysadmin hat mir nun empfohlen, das Paket kernel-image-2.6.8-2-386 zu entfernen, um die Fehlermeldung von apt los zu werden. Ich bin aber nicht sicher, ob ich dadurch nicht mein noch funktionierendes System ruinieren würde.

Code: Alles auswählen

server:/proc/sys/kernel# apt-get remove kernel-image-2.6.8-2-386
Reading Package Lists... Done
Building Dependency Tree... Done
The following packages will be REMOVED:
  kernel-image-2.6.8-2-386
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
1 not fully installed or removed.
Need to get 0B of archives.
After unpacking 42.2MB disk space will be freed.
Do you want to continue? [Y/n]
Soll ich es wagen?

Was müsste ich allenfalls danach überprüfen resp. vorkehren, um sicherzustellen dass das System nach einem Restart wieder hochkommt?

Leider habe ich etwas wenig Erfahrung und nicht viel Spielraum zum experimentieren, da ich keinen physischen Zugang zum Rechner habe und ich mich nicht "aussperren" möchte. Kann mir jemand einen Rat geben, wie ich vorgehen soll?

Vielen Dank im Voraus,

Peter

Benutzeravatar
knecht
Beiträge: 1214
Registriert: 08.01.2004 15:33:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von knecht » 10.07.2005 20:53:58

Code: Alles auswählen

Was müsste ich allenfalls danach überprüfen resp. vorkehren, um sicherzustellen dass das System nach einem Restart wieder hochkommt? 
mach einmal ein

Code: Alles auswählen

dpkg -l | grep kernel-image
Damit siehst du was für kernel installiert sind. Ist da nur der zu sehen den du deinstallieren willst, fehlt dir was nach dem deinstallieren !!!

Was da sein muß damit du starten kannst ist ein Kernel unter /boot (vmlinuz-2.x.x), eben die Module für diesen Kernel in /lib/modules/2.x.x und eventuell eine initrd dafür.

Wäre halt interessant was von dennen für ein Kernel drauf ist und ob das ein eigenes Debian paket war . ..
_________________________________________________
Linux HowTo's, Programmierung, Wallpapers und 3D:
http://www.neoBerserker.de

Benutzeravatar
Silke
Beiträge: 559
Registriert: 17.05.2005 15:58:20
Wohnort: Hannover
Kontaktdaten:

Beitrag von Silke » 10.07.2005 21:05:18

Moin,
knecht hat geschrieben:mach einmal ein

Code: Alles auswählen

dpkg -l | grep kernel-image
Damit siehst du was für kernel installiert sind. Ist da nur der zu sehen den du deinstallieren willst, fehlt dir was nach dem deinstallieren !!!
Das ist so nicht ganz richtig. Wenn der laufende Kernel nicht ueber das Paketmanagementsystem
installiert wurde (und danach sieht es aus), taucht er hier nicht auf und ist trotzdem da.

@Peter: welche Kerneleintraege stehen denn in der Bootmanagerkonfiguration? Ich
gehe mal davon aus, dass der 2.6.11er standardmaessig gebootet und der 2.6.8er
gar nicht benutzt wird. Debian wird es aber trotzdem nicht so einfach zulassen, dass
du den - aus seiner Sicht einzigen - Kernel entfernst, fuerchte ich.

Gruss,
- Silke -
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann. Das Gegenteil ist schon schwieriger.
- Kurt Tucholsky -

ombre
Beiträge: 5
Registriert: 07.07.2005 20:31:31

Beitrag von ombre » 11.07.2005 09:41:11

Guten Tag,

danke für die Hinweise.

@knecht: hier das Resultat

Code: Alles auswählen

server:~# dpkg -l | grep kernel-image
iF  kernel-image-2 2.6.8-16       Linux kernel image for version 2.6.8 on 386.
server:~#
Es ist wie vermutet nur der eine Kernel auf dem System. Der "Custom-Kernel" wurde wohl einfach rein kopiert - daher auch meine Probleme mit dem Upgrade.
Das richtige wäre wohl gewesen, das Kernel-Image vor dem Upgrade auf "HOLD" zu setzen - aber eben: nachher ist man gescheiter.

@Silke: hier die Einträge in den Bootmanagern. Vermutlich wird LILO verwendet (kann man dies in einem Logfile sehen - oder gibt es ein Tool, mit welchem man sichtbar machen kann, welcher Bootmanager aktiviert ist?)

/etc/lilo.conf

Code: Alles auswählen

...
#
# Boot up Linux by default.
#
default=Linux

image=/vmlinuz
        label=Linux
        read-only
#       restricted
#       alias=1

        #initrd=/initrd.img

image=/vmlinuz.old
        label=LinuxOLD
        read-only
        optional
#       restricted
#       alias=2

        #initrd=/initrd.img.old
...
Dazu muss noch sagen, dass /vmlinuz ein symbolischer Link auf /boot/bzImage darstellt

/boot/grup/menu.lst

Code: Alles auswählen

...
## ## End Default Options ##

title           Custom Kernel
root            (hd0,0)
kernel          /boot/bzImage root=/dev/sda3 ro
savedefault
boot

title           Debian GNU/Linux, kernel 2.6.8-2-386
root            (hd0,0)
kernel          /vmlinuz-2.6.8-2-386 root=/dev/sda3 ro
initrd          /initrd.img-2.6.8-2-386
savedefault
boot

title           Debian GNU/Linux, kernel 2.6.8-2-386 (recovery mode)
root            (hd0,0)
kernel          /vmlinuz-2.6.8-2-386 root=/dev/sda3 ro single
initrd          /initrd.img-2.6.8-2-386
savedefault
boot

### END DEBIAN AUTOMAGIC KERNELS LIST
...
Gemäss Auskunft des Server-Betreibers wurde der Custom-Kernel aus den Sourcen von kernel.org selber gebaut.

Ich habe also nach wie vor die beiden folgenden Probleme:

1. Wie bringe ich den Fehler in APT bedingt durch den missglückten Kernel-Upgrade weg? (Ein Vorschlag war die Deinstallation des Kernel-Images)

2. Wie kann ich mich vergewissern, dass durch den auf halbem Weg stecken gebliebenen Upgrade nicht Teile des Custom-Kernels überschrieben wurden (im Verzeichnis /lib/modules/2.6.8-2-386 scheint mir ein rechtes Durcheinander zu herrschen, wenn ich die Datum-Einträge der Files anschaue)

Peter

Antworten