Wo ist die Kernelquelle für Raspbians Standardkernel 3.1.9+?

13

Die Standard-Kernel-Version von Raspbian ist 3.1.9+. Wenn ich versuche, ein zusätzliches Kernel-Modul zu kompilieren, erhalte ich viele Fehlermeldungen, da die Kernel-Header-Dateien fehlen. Ich habe das Raspbian-Repository überprüft , konnte aber die Kernel-Header und die Kernel-Quelle 3.1.9+ nicht finden.

Wenn ich nach 3.2.0 suche, kann ich den neuen Kernel (linux-image-3.2.0-3-rpi), die Header (linux-headers-3.2.0-3-rpi) und die Quelle (linux-source) installieren -3.2) und ich kann das Zusatzmodul kompilieren. Leider ist Kernel 3.2 für mich sehr instabil, so dass dieses Upgrade keine Option ist.

asalamon74
quelle

Antworten:

9

Mir scheint, es gibt kein Kernel 3.1.9+ Source-Deb-Paket im Raspbian-Repository. Laut Alex Bradbury (asb) haben sie den Raspbian-Kernel basierend auf https://github.com/raspberrypi/linux erstellt . Basierend auf dieser Kernel-Kompilierungsdokumentation habe ich folgendes getan (als root):

cd /usr/src
git clone --depth 1 https://github.com/raspberrypi/linux.git
ln -s linux linux-3.1.9+
cd linux
zcat /proc/config.gz > .config
ln -s /usr/src/linux /lib/modules/3.1.9+/build

Danach konnte ich das externe Modul neu kompilieren.

Ein paar Anmerkungen:

  • Ich habe die neueste Version der Kernel-Quelle geklont, die neuer ist als das Raspbian-Kernel-Image. Wenn Sie wirklich genau dieselbe Kernelversion benötigen, ist diese ältere Version möglicherweise besser.

  • Ich habe auch den ganzen Kernel neu kompiliert, nur um sicherzugehen. Tun Sie dies nicht, wenn Sie nur ein externes Modul kompilieren müssen, da dies Stunden in Anspruch nimmt.

  • Ich musste das Makefile des externen Moduls (8192cu) etwas modifizieren (ARCH auf Arm statt auf Armv6l setzen).
asalamon74
quelle
3
+1 Gute Arbeit. Sie sollten wirklich die Header in die Repositories bekommen.
Jivings
1

Merkwürdig, wie schwierig das ist ... Alles, was ich finden kann, ist dieses Paket in der Quellenliste:

Package: linux-libc-dev
Source: linux
Version: 3.2.21-1+rpi1
Architecture: armhf
Maintainer: Debian Kernel Team <[email protected]>
Installed-Size: 2790
Conflicts: linux-kernel-headers
Replaces: linux-kernel-headers
Provides: linux-kernel-headers
Multi-Arch: same
Priority: optional
Section: devel
Filename: pool/main/l/linux/linux-libc-dev_3.2.21-1+rpi1_armhf.deb
Size: 764146
SHA256: b75b35ccf8e7fbac582ad08af9579a23095f9dbbc9e7369430e43d584afc48fd
SHA1: e8c3bb2a30483c51ee39b525becd6e213ae9c2c7
MD5sum: 840e28237198aa137dfcdb558ef1cbf5
Description: Linux support headers for userspace development
 This package provides userspaces headers from the Linux kernel.  These
 headers are used by the installed headers for GNU glibc and other system
 libraries.

Es scheint die Tools bereitzustellen, die Sie benötigen, aber ich habe keine Ahnung, warum es kein Paket mit dem Namen gibt linux-kernel-headers.

Wenn Sie sich jedoch das Paketarchiv ansehen, finden Sie Folgendes:

http://archive.raspbian.org/raspbian/pool/main/l/linux-latest/

Vielleicht ist eines der Header-Pakete in diesem Verzeichnis für den Kernel, den Sie benötigen.

Leider sind dies alle Informationen, die ich derzeit anbieten kann, da ich Raspbian selbst noch nicht installiert habe, obwohl es auf meiner TODO-Liste steht.

Jivings
quelle
Im zweiten Gedanken ist dies immer noch die falsche Version zu der, die Sie wollen, nicht wahr?
Jivings
Dies gilt auch für Kernel 3.2. Die Versionsnummer (3.2.21-1 + rpi1) ist dieselbe für die Pakete, die ich in der Frage erwähnt habe (z. B. linux-headers-3.2.0-3-all_3.2.21-1 + rpi1_armhf.deb)
asalamon74