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

Kernel-2.4.27 mit SuSE-9.2 kompilieren?

WGz

Member
Hallo,

kann man den Kernel-2.4.27 mit dem System SuSE-9.2
kompilieren?

Kernel original von Kernel.org als *.tar.gz
in /usr/src/ entpackt, xconfig, dep, bzImage.

Ich bekomme irre Fehlermeldungen:

gcc -D__KERNEL__ -I/usr/src/linux-2.4.27/include -Wall -Wstrict-prototypes -Wno-trigraphs
-O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe
-mpreferred-stack-boundary=2 -march=i686 -nostdinc -iwithprefix include
-DKBUILD_BASENAME=sched -fno-omit-frame-pointer -c -o sched.o sched.c
sched.c:213: error: conflicting types for `reschedule_idle'
sched.c:210: error: previous declaration of `reschedule_idle'
sched.c:371: error: conflicting types for `wake_up_process'
/usr/src/linux-2.4.27/include/linux/sched.h:603: error: previous declaration of `wake_up_process'
sched.c:409: error: conflicting types for `schedule_timeout'
/usr/src/linux-2.4.27/include/linux/sched.h:148: error: previous declaration of `schedule_timeout'
sched.c:739: error: conflicting types for `__wake_up'
/usr/src/linux-2.4.27/include/linux/sched.h:595: error: previous declaration of `__wake_up'
sched.c:749: error: conflicting types for `__wake_up_sync'
/usr/src/linux-2.4.27/include/linux/sched.h:596: error: previous declaration of `__wake_up_sync'
sched.c:759: error: conflicting types for `complete'
/usr/src/linux-2.4.27/include/linux/completion.h:31: error: previous declaration of `complete'
sched.c:769: error: conflicting types for `wait_for_completion'
/usr/src/linux-2.4.27/include/linux/completion.h:30: error: previous declaration of `wait_for_completion'
sched.c:804: error: conflicting types for `interruptible_sleep_on'
/usr/src/linux-2.4.27/include/linux/sched.h:600: error: previous declaration of `interruptible_sleep_on'
sched.c:815: error: conflicting types for `interruptible_sleep_on_timeout'
/usr/src/linux-2.4.27/include/linux/sched.h:601: error: previous declaration of `interruptible_sleep_on_timeout'
sched.c:828: error: conflicting types for `sleep_on'
/usr/src/linux-2.4.27/include/linux/sched.h:597: error: previous declaration of `sleep_on'
sched.c:839: error: conflicting types for `sleep_on_timeout'
/usr/src/linux-2.4.27/include/linux/sched.h:598: error: previous declaration of `sleep_on_timeout'

Dank für Hilfe und Gruß,

Werner.
 
http://mandrakeusers.org/index.php?showtopic=13923&hl=fastcall

Seit GCC 3.3.3 (`gcc -v`) scheint dieser die attributes auch im Funktionsrumpf zu benötigen. In obiger URL hatte ich auch mal'n Patch geschrieben, ist aber lange her (2.4.21). Bei einem Update des Patches gegen 2.4.27 hatte ich auch irgendwann keine Lust mehr, denn 2.4 -- das stirbt doch aus...
 
WGz schrieb:
Hallo,

kann man den Kernel-2.4.27 mit dem System SuSE-9.2
kompilieren?

Suse selber spricht davon, dass 9.2 ganz auf Kernel 2.6 ausgerichtet ist. Keine Ahnung, was sich genau dahinter verbirgt, aber ich hatte auch schon gehört, dass es mit Kernel 2.4.x nicht mehr läuft. Ich habe ad hoc aber auch nichts bei Google zu dem Thema gefunden.
 
2.4 läuft unter anderem deswegen nicht:

2.6 hat geänderte Userspace-to-Kernelspace-Protokolle für PF_PACKET, ppp, isdn, installierst du also einen 2.4 musst du libpcap.rpm und ppp.rpm aus SuSE 8.2 (9.0?) installieren.

Netzwerkdevices werden nun über die Vendor-ID/PCI-ID statt direkt "eth0" angesprochen. Durch <dies und jenes> startet dann eth* nicht (timed out nach 20 s, per default) und du hast kein Netz. Da muss man dann hotplug*rpm und ws. sysconfig.rpm aus 8.2/9.0 installieren.

Also viel zu viel Aufwand
 
jengelh schrieb:
2.4 läuft unter anderem deswegen nicht:

2.6 hat geänderte Userspace-to-Kernelspace-Protokolle für PF_PACKET, ppp, isdn, installierst du also einen 2.4 musst du libpcap.rpm und ppp.rpm aus SuSE 8.2 (9.0?) installieren.

Netzwerkdevices werden nun über die Vendor-ID/PCI-ID statt direkt "eth0" angesprochen. Durch <dies und jenes> startet dann eth* nicht (timed out nach 20 s, per default) und du hast kein Netz. Da muss man dann hotplug*rpm und ws. sysconfig.rpm aus 8.2/9.0 installieren.

Also viel zu viel Aufwand

Eindeutig :) Danke für die Details.

Die letzte Version mit Kernel 2.4 müßte 9.0 gewesen sein.
 
Oben