Abbruch beim Kernel kompilieren (2.6.20.1)

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Bensen
Beiträge: 15
Registriert: 21.02.2007 11:16:54

Abbruch beim Kernel kompilieren (2.6.20.1)

Beitrag von Bensen » 24.02.2007 00:00:24

Hey Leute,

bin noch recht neu, was Kernelkompilierung angeht, wollte nun aber gern den 2.6.20.1 auf mein Debian 3.1 sarge backen.
Soweit auch alles ganz gut. Erfängt für ca. eine Sekunde an zu kompilieren und bricht dann schlagartig ab. Hier sind mal die letzten Zeilen:

Code: Alles auswählen

#
# configuration written to .config
#
make[1]: Leaving directory `/usr/src/linux-2.6.20.1'
/usr/bin/make    \
                                ARCH=i386 prepare
make[1]: Entering directory `/usr/src/linux-2.6.20.1'
scripts/kconfig/conf -s arch/i386/Kconfig
make[1]: Leaving directory `/usr/src/linux-2.6.20.1'
make[1]: Entering directory `/usr/src/linux-2.6.20.1'
  CHK     include/linux/version.h
  UPD     include/linux/version.h
  CHK     include/linux/utsrelease.h
  UPD     include/linux/utsrelease.h
  SYMLINK include/asm -> include/asm-i386
  CC      arch/i386/kernel/asm-offsets.s
cc1: error: invalid option `tune=i686'
make[2]: *** [arch/i386/kernel/asm-offsets.s] Error 1
make[1]: *** [prepare0] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.20.1'
make: *** [stamp-kernel-configure] Error 2
R218175:/usr/src/linux-2.6.20.1#
Könnt Ihr daraus was schließen?
Ich weiß leider nicht, wo der Fehler liegen könnte.
Habe die CPU in der menuconfig als "Core2" ausgewählt, weil ein Core2Duo drin steckt.
Gruß
Bensen

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 24.02.2007 00:46:00

welche gcc Version verwendest du ?

Code: Alles auswählen

root@gms1:/usr/src/linux-2.6.20.1# gcc --version
gcc (GCC) 3.3.6 (Debian 1:3.3.6-15)
mit dem gcc-3.3 läßt sich dieser Fehler leicht reproduzieren:

Code: Alles auswählen

root@gms1:/usr/src/linux-2.6.20.1# make
scripts/kconfig/conf -s arch/i386/Kconfig
  CHK     include/linux/version.h
  UPD     include/linux/version.h
  CHK     include/linux/utsrelease.h
  UPD     include/linux/utsrelease.h
  SYMLINK include/asm -> include/asm-i386
  CC      arch/i386/kernel/asm-offsets.s
cc1: error: invalid option `tune=i686'
make[1]: *** [arch/i386/kernel/asm-offsets.s] Fehler 1
make: *** [prepare0] Fehler 2
mit dem gcc-3.4 habe ich dieses Problem nicht

Gruß
gms

[edit]
eine Sache hat mich noch interessiert: ob dieser Fehler auch reproduzierbar ist, wenn 686 als Prozessor ausgewählt wird, war aber bei mir nicht der Fall.
das wäre also auch noch eine Alternative
Documentation/Changes hat geschrieben: The gcc version requirements may vary depending on the type of CPU in your
computer.
[/edit]

Bensen
Beiträge: 15
Registriert: 21.02.2007 11:16:54

Beitrag von Bensen » 24.02.2007 09:33:13

Guten Morgen,

Code: Alles auswählen

R218175:~# gcc --version
gcc (GCC) 3.3.5 (Debian 1:3.3.5-13)
Habe als der 2.6.20 draußen war es versucht zu kompilieren. Da ging es auch nur, wenn ich einen PIV als CPU ausgewählt habe. Bei der Auswahl eines Core2 kam wieder der Fehler wie oben im Post zu sehen.
Gruß
Bensen

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 24.02.2007 15:50:31

und warum glaubst du, daß das beim 2.6.20.1 anderst sein sollte ?
den gcc-3.4 gibt es auch bei Sarge, wenn du diesen installierst und den Link "/usr/bin/gcc" auf den "/usr/bin/gcc-3.4" legst, sollte es auch mit Core2 funktionieren

Gruß
gms

Bensen
Beiträge: 15
Registriert: 21.02.2007 11:16:54

Beitrag von Bensen » 24.02.2007 19:16:09

gms hat geschrieben:und warum glaubst du, daß das beim 2.6.20.1 anderst sein sollte ?
den gcc-3.4 gibt es auch bei Sarge, wenn du diesen installierst und den Link "/usr/bin/gcc" auf den "/usr/bin/gcc-3.4" legst, sollte es auch mit Core2 funktionieren

Gruß
gms
Kannst du mir sagen, wie man gcc-3.4 installiert? Bin noch net ganz so weit in Linux.
Habe gelesen, dass das eine recht aufwendige und kompliziertere Angelegenheit sein soll. Stimmt das?
Gruß
Bensen

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 24.02.2007 19:22:18

Bensen hat geschrieben:Habe gelesen, dass das eine recht aufwendige und kompliziertere Angelegenheit sein soll. Stimmt das?
ja :)
du mußt als "root" das folgende komplexe Kommando aufrufen:

Code: Alles auswählen

aptitude install gcc-3.4
Gruß
gms

Bensen
Beiträge: 15
Registriert: 21.02.2007 11:16:54

Beitrag von Bensen » 24.02.2007 19:34:40

:D
Das habe ich schon gemacht. Muss ich danach noch was machen?
Weil es läuft nach dem aptitude immer noch die gcc (GCC) 3.3.5 (Debian 1:3.3.5-13)
Gruß
Bensen

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 24.02.2007 19:40:20

den Symlink /usr/bin/gcc abändern:

Code: Alles auswählen

root@gms1:~# rm /usr/bin/gcc
root@gms1:~# ln -s /usr/bin/gcc-3.4 /usr/bin/gcc
es gibt zwar auch andere Methoden, um die Kernelcompilierung mit einem bestimmten gcc anzustoßen, aber diese ist die einfachste und sicherste

Bensen
Beiträge: 15
Registriert: 21.02.2007 11:16:54

Beitrag von Bensen » 24.02.2007 19:44:18

Ajoi...hat geklappt!
Sehe schon, muss noch einiges lernen... 8O :)

Danke Dir erstmal so weit. Wenn ich jetzt noch Probleme habe, den neuen Kernel zu backen, dann melde ich mich hier nochmal.
Gruß
Bensen

Bensen
Beiträge: 15
Registriert: 21.02.2007 11:16:54

Beitrag von Bensen » 25.02.2007 11:37:58

Bin jetzt am überlegen, ob ich noch auf Etch upgrade.
Schon Erfahrungen, ob mit Etch der 2.6.20.1 läuft?
Und kann man auf den 2.6.20.1 auch noch den cks-Patch anwenden?
Gruß
Bensen

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 25.02.2007 18:07:38

Etch lauft auch mit dem 2.6.20.1er Kernel, ich habe derzeit den 2.6.21-rc1 im Einsatz.
Standardmäßig wird jedoch bei Etch der Kernel mit dem gcc-4.1 erstellt, den nächsten Kernel solltest du daher mit dieser gcc Version bauen.
Wenn du nachträglich zu deinem jetzt (mit dem gcc 3.4) erstellten Kernel, zusätzliche Module bauen möchtest, müßtest du jedoch wieder den gcc-3.4 verwenden.
Mit dem cks-Patch sollte es eigentlich keine Probleme geben, ansonsten melde dich einfach wieder :wink:

Gruß
gms

Topspeed
Beiträge: 34
Registriert: 10.02.2006 14:08:18

Beitrag von Topspeed » 27.02.2007 16:09:42

Hi
Ich hätte da auch noch eine Anfänger-Frage:
Wenn ich einen Kernel mit gcc3.4 compiliert habe und ich diesen auf einem anderen System verwenden möchte, muss dann auf jenem System auch gcc3.4 installiert sein oder kanns auch eine andere Version sein?

Vielen Dank für die Antwort!

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 27.02.2007 16:30:14

es muß überhaupt kein gcc installiert sein, bzw es können beliebige gcc Versionen installiert sein
den gcc 3.4 würdest du auf dem neuen System nur benötigen, wenn du für diesen Kernel zusätzliche Kernelmodule bauchen möchtest

Gruß
gms

Topspeed
Beiträge: 34
Registriert: 10.02.2006 14:08:18

Beitrag von Topspeed » 27.02.2007 16:36:34

hi gms

Vielen Dank für die Antwort!
Würdest du empfehlen die Kernel mit gcc4.1 zu kompilieren anstatt mit 3.4? Bringt das irgendwelche Vorteile?

Gruss Topspeed

Bensen
Beiträge: 15
Registriert: 21.02.2007 11:16:54

Beitrag von Bensen » 27.02.2007 17:09:03

Hmm...bin ja selber nicht der Pro.
Aber ich würde sagen, entweder läuft der Kernel oder nicht ^^
In meinem Fall lief er nicht, allerdings ja auch mit gcc-3.3.5
Gruß
Bensen

Antworten