Re: Kernel 3.7.3 compilieren
Am Freitag, 18. Januar 2013 schrieb Daniel Schulz:
> Hallo,
Hi Daniel,
> wie schon oft vorher wollte ich mir den aktuellen Kernel 3.7.3
> compilieren. System ist ein Debian Sid 32bit, aktuell gehalten.
>
> Ein make oldconfig klappt noch, aber ein make bzImage modules klappt
> nicht mehr, komplette Log: http://paste.debian.net/226224/
>
> Die Datei string.h ist sowohl in /usr/include/linux/ als auch in
> /usr/include/linux/ vorhanden.
Hä? Das sind beidesmal dieselben Verzeichnisse! Meintest Du das
include/linux im Verzeichnis mit deinem ausgepackten Kernel-Quelltext als
Zweites?
> Hat jemand eine Idee, warum es fehl schlägt und was ich tun kann?
Du kompilierst den Kernel in /usr/src? Davon raten sowohl das README im
Kernel-Quelltext-Verzeichnis als auch Kernel-Entwickler wie beispielsweise
Greg Kroah-Hartman in seinem Buch Linux Kernel in a Nutshell ab.
Meine Empfehlung:
Entpacke Dir den Kernel in ein Unterverzeichnis in Deinem Homeverzeichnis
und versuche es von da.
Ich habe auch im Kernel-Quelltext-Verzeichnis selbst ein string.h:
martin@merkaba:~/Computer/Merkaba/Kernel/linux-2.6> ls -l
include/linux/string.h
-rw-r--r-- 1 martin martin 4442 Jan 15 14:48 include/linux/string.h
Ich bin da etwas verwirrt, falls da bei Dir Zeug auf /usr/include zum
Kompilieren zum Einsatz kommt. Das könnte natürlich für den 3.7er Kernel-
Quelltext einfach zu alt sein, falls Du Squeeze verwendest. Ich glaube aber,
dass hier das include-Verzeichnis in dem Verzeichnis mit dem ausgepackten
Kernel-Quelltext zum Einsatz kommt.
Ebenso wie ein:
martin@merkaba:~/Computer/Merkaba/Kernel/linux-2.6> find -name "page_types.h"
./arch/x86/include/asm/page_types.h
das ich in /usr/include/linux gar nicht finde.
Und da ist ebenfalls phys_addr_t mit drinnen.
das
martin@merkaba:~> gcc --version | head -1
gcc (Debian 4.7.2-5) 4.7.2
auch einwandfrei übersetzt. Hab halt hier ein Debian Sid.
Das hier mit einem via git clone heruntergeladenen Linux 3.8-rc4, den ich
mit:
make oldconfig
und ggf.
make nconfig
konfiguriere und mit
make-kpkg -j4 --rootcmd fakeroot --initrd --append-to-version -tp520 --
revision 1 linux_image
in ein Paket kompilieren lasse. make-kpkg kommt aus dem Debian-Paket kernel-
package.
Und das alles mit Benutzer-Rechten. Nur das finale dpkg -i bekommt ein sudo
davor.
Das hat mit verschiedenen 3.7-rc, 3.7 final und verschiedenen 3.8-rc nett
funktioniert. 3.7.3 habe ich nicht probiert.
Ciao,
--
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA B82F 991B EAAC A599 84C7
Reply to: