kernel kompilieren nach dist-upgrade (sarge)
Hallo,
ich habe seit einigen Monaten Sarge auf meinem Laptop mit einem
selbstkompilierten 2.4.21 Kernel am laufen. Um den Kernel meiner neuen
WLAN-karte anzupassen, wollte ich diesen nun (wieder mal ;-) neu
kompilieren. Also make menuconfig / Einstellungen wählen / make dep
clean bzImage modules modules_install.
Anschließend Kernel nach /boot kopiert, lilo.conf angepasst lilo laufen
lassen und Neustart.
Doch jetzt hängt sich der Kernel, unerwartet und nie zuvor erlebt,
offenbar in dem Moment, wo er auf das IDE-SCSI Modul zugreifen will mit
dem Fehler, dass er eine ungültige Zahl an Bytes vom scsi laufwerk
erhält, auf. (...256 expeted, get 352...)
Dieses geschieht sowohl beim fest Einkompilierten IDE_SCSI als auch bei
Modulbauweise.
Ich kann dem Aufhängen nur entgehen, wenn ich das DVD-Laufwerk aus dem
Laptop entferne.
Dem Kompilieren des alten (bei dem ide_scsi einwandfrei lief und den ich
versehentlich gelöscht habe) und des neuen 2.4.21 Kernels lagen die
gleichen Kernelsourcen von kernel.org zugrunde. Ich vermutete zunächst
einen Hardwaredefekt; doch beim Booten von einem älteren 2.4.19 Kernel,
den ich im März kompiliert hatte, lief die Erkennung/Einbindung des
DVD-Laufwerks einwandfrei.
Nun versuchte ich diesen 2.4.19 Kernel der WLAN-Karte anzupassen, doch
das Kompilieren endete mit folgender Fehlermeldung (selbst ohne
Änderungen an der .config vom März):
gcc -D__KERNEL__ -I/usr/src/linux-2.4.19/include -Wall
-Wstrict-prototypes -Wno-
trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer
-pipe -mpref
erred-stack-boundary=2 -march=i686 -nostdinc -I
/usr/lib/gcc-lib/i486-linux/3.
3.2/include -DKBUILD_BASENAME=ide_geometry -c -o ide-geometry.o
ide-geometry.c
ld -m elf_i386 -r -o ide-probe-mod.o ide-probe.o ide-geometry.o
gcc -D__KERNEL__ -I/usr/src/linux-2.4.19/include -Wall
-Wstrict-prototypes -Wno-
trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer
-pipe -mpref
erred-stack-boundary=2 -march=i686 -nostdinc -I
/usr/lib/gcc-lib/i486-linux/3.
3.2/include -DKBUILD_BASENAME=ide_disk -c -o ide-disk.o ide-disk.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.19/include -Wall
-Wstrict-prototypes -Wno-
trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer
-pipe -mpref
erred-stack-boundary=2 -march=i686 -nostdinc -I
/usr/lib/gcc-lib/i486-linux/3.
3.2/include -DKBUILD_BASENAME=ide_cd -c -o ide-cd.o ide-cd.c
In file included from ide-cd.c:318:
ide-cd.h:440: error: long, short, signed or unsigned used invalidly for
`slot_ta
blelen'
make[3]: *** [ide-cd.o] Fehler 1
make[3]: Leaving directory `/usr/src/linux-2.4.19/drivers/ide'
make[2]: *** [first_rule] Fehler 2
make[2]: Leaving directory `/usr/src/linux-2.4.19/drivers/ide'
make[1]: *** [_subdir_ide] Fehler 2
make[1]: Leaving directory `/usr/src/linux-2.4.19/drivers'
make: *** [_dir_drivers] Fehler 2
Die Folge ist, dass ich einen 2.4.19 Kernel derzeit nicht kompilieren
kann und beim Kompilieren eines 2.4.21 Kernel das ide_scsi (ide-cd)
fehlerhaft kompiliert wird, so dass er sich beim Booten aufhängt.
Der Versuch mit 2.4.22 führt zu den gleichen Problemen wie bei 2.4.21,
nur das der Kernel nicht stehenbleibt. Damit habe ich aber natürlich
keinen Zugriff auf das DVD-CDRW Laufwerk.
Die Probleme mit dem Kompilieren bestehen seit ich vor wenigen Tagen ein
apt-get dist-upgrade (ohne Wechsel der Version: Sarge auf Sarge) gemacht
hatte, nachdem mir bei einem einfachen upgrade mitlerweile zu viele
Pakete zurückgehalten wurden.
In meiner /usr/lib/gcc-lib/i386-linux stehen
2.95.4 3.0.4 3.2.3
Compilerversionen zur Verfügung.
Wie kann ich dieses Problem lösen und wo liegt die Ursache?
(Ich nehme an in der gcc-Version, oder)
MfG
Andreas
Reply to: