Di mana sumber kernel untuk default Raspbian 3.1.9+?

13

Versi kernel default dari Raspbian adalah 3.1.9+. Ketika saya mencoba mengkompilasi modul kernel tambahan, saya memiliki banyak pesan kesalahan karena file header kernel tidak ada. Saya telah memeriksa repositori Raspbian , tetapi saya tidak dapat menemukan header kernel dan sumber kernel 3.1.9+.

Jika saya mencari 3.2.0 saya dapat menginstal kernel baru (linux-image-3.2.0-3-rpi), header (linux-headers-3.2.0-3-rpi), dan sumbernya (linux-source -3.2) dan saya dapat mengkompilasi modul tambahan. Sayangnya kernel 3.2 sangat tidak stabil untuk saya, jadi upgrade ini bukan opsi.

asalamon74
sumber

Jawaban:

9

Sepertinya saya, tidak ada paket source source kernel 3.1.9+ di repositori Raspbian. Menurut Alex Bradbury (asb) mereka membangun kernel Raspbian berdasarkan https://github.com/raspberrypi/linux . Berdasarkan dokumentasi kompilasi kernel ini saya melakukan hal berikut (sebagai 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

Setelah itu saya dapat mengkompilasi ulang modul eksternal.

Beberapa catatan:

  • Saya telah mengkloning versi terbaru dari sumber kernel, yang lebih baru daripada gambar kernel Raspbian. Jika Anda benar-benar membutuhkan versi kernel yang sama persis maka versi yang lebih lama ini mungkin lebih baik.

  • Saya juga mengkompilasi ulang seluruh kernel hanya untuk memastikan. Jangan lakukan itu jika Anda hanya perlu mengompilasi modul eksternal, karena itu membutuhkan waktu berjam-jam.

  • Saya harus memodifikasi Makefile dari modul eksternal (8192cu) sedikit (pengaturan ARCH ke lengan bukan armv6l).
asalamon74
sumber
3
+1 Kerja bagus. Mereka harus benar-benar memasukkan header ke dalam repositori.
Jivings
4

Anda dapat menggunakan rpi-source untuk secara otomatis menemukan dan menginstal sumber kernel untuk menjalankan kernel Anda.

Lihat juga kompilasi silang dari Linux , untuk menghindari menunggu berjam-jam untuk mengkompilasi kernel baru Anda.

Mauro Lacy
sumber
1

Aneh bagaimana itu sangat sulit ... Yang bisa saya temukan adalah paket ini dalam daftar sumber:

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.

Tampaknya menyediakan alat yang Anda butuhkan, tetapi saya tidak tahu mengapa tidak ada paket yang disebut linux-kernel-headers.

Namun, jika Anda melihat di arsip paket Anda dapat menemukan ini:

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

Mungkin salah satu paket header di direktori itu adalah untuk kernel yang Anda butuhkan.

Sayangnya itu semua informasi yang saya dapat saat ini menawarkan, karena saya belum menginstal Raspbian sendiri, meskipun itu ada di daftar TODO saya.

Jivings
sumber
Pada pikiran kedua, ini masih versi yang salah dengan yang Anda inginkan bukan?
Jivings
Ini juga untuk kernel 3.2. Nomor versi (3.2.21-1 + rpi1) adalah sama untuk paket yang saya sebutkan dalam pertanyaan (misalnya linux-headers-3.2.0-3-all_3.2.21-1 + rpi1_armhf.deb)
asalamon74