[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: