Nguồn kernel cho kernel 3.1.9+ mặc định của Raspbian ở đâu?


13

Phiên bản kernel mặc định của Raspbian là 3.1.9+. Khi tôi cố gắng biên dịch một mô-đun hạt nhân bổ sung, tôi có rất nhiều thông báo lỗi do các tệp tiêu đề kernel bị thiếu. Tôi đã kiểm tra kho lưu trữ Raspbian , nhưng tôi không thể tìm thấy tiêu đề kernel 3.1.9+ và nguồn kernel.

Nếu tôi tìm kiếm 3.2.0, tôi có thể cài đặt kernel mới (linux-image-3.2.0-3-rpi), các tiêu đề (linux-headers-3.2.0-3-rpi) và nguồn (linux-source -3.2) và tôi có thể biên dịch mô-đun bổ sung. Thật không may, kernel 3.2 rất không ổn định đối với tôi, vì vậy bản nâng cấp này không phải là một tùy chọn.

Câu trả lời:


9

Dường như với tôi, không có gói gỡ lỗi nguồn 3.1.9+ trong kho Raspbian. Theo Alex Bradbury (asb), họ đã xây dựng nhân Raspbian dựa trên https://github.com/raspberrypi/linux . Dựa trên tài liệu biên dịch kernel này, tôi đã làm như sau (với quyền 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

Sau đó tôi đã có thể biên dịch lại mô-đun bên ngoài.

Một vài lưu ý:

  • Tôi đã nhân bản phiên bản mới nhất của nguồn kernel, phiên bản mới hơn so với hình ảnh kernel Raspbian. Nếu bạn thực sự cần cùng một phiên bản kernel thì phiên bản cũ hơn này có thể tốt hơn.

  • Tôi cũng đã biên dịch lại toàn bộ kernel chỉ để đảm bảo. Đừng làm điều đó nếu bạn chỉ cần biên dịch một mô-đun bên ngoài, vì phải mất hàng giờ.

  • Tôi đã phải sửa đổi Makefile của mô-đun bên ngoài (8192cu) một chút (đặt ARCH thành arm thay vì armv6l).

3
+1 Công việc tốt. Họ nên thực sự có được các tiêu đề vào kho.
Jivings

4

Bạn có thể sử dụng rpi-source để tự động tìm và cài đặt nguồn kernel cho kernel đang chạy của bạn.

Đồng thời xem biên dịch chéo từ Linux , để tránh phải chờ hàng giờ để biên dịch kernel mới của bạn.


1

Thay đổi làm thế nào là rất khó khăn ... Tất cả những gì tôi có thể tìm thấy là gói này trong danh sách nguồn:

Package: linux-libc-dev
Source: linux
Version: 3.2.21-1+rpi1
Architecture: armhf
Maintainer: Debian Kernel Team <debian-kernel@lists.debian.org>
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.

Nó dường như cung cấp các công cụ bạn cần, nhưng tôi không biết tại sao không có một gói được gọi linux-kernel-headers.

Tuy nhiên, nếu bạn xem trong kho lưu trữ gói, bạn có thể tìm thấy điều này:

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

Có lẽ một trong các gói tiêu đề trong thư mục đó sẽ dành cho kernel bạn cần.

Thật không may, đó là tất cả thông tin tôi hiện có thể cung cấp, vì tôi chưa tự cài đặt Raspbian, mặc dù nó nằm trong danh sách TODO của tôi.


Suy nghĩ thứ hai, đây vẫn là phiên bản sai với phiên bản bạn muốn phải không?
Jivings

Điều này cũng dành cho kernel 3.2. Số phiên bản (3.2.21-1 + rpi1) giống với các gói tôi đã đề cập trong câu hỏi (ví dụ: linux-headers-3.2.0-3-all_3.2.21-1 + rpi1_armhf.deb)
asalamon74

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.