แหล่งเคอร์เนลของเคอร์เนลเริ่มต้น 3.1.9+ ของ Raspbian อยู่ที่ไหน


13

Raspbian รุ่นเคอร์เนลเริ่มต้นคือ 3.1.9+ เมื่อฉันพยายามคอมไพล์โมดูลเคอร์เนลพิเศษฉันมีข้อความแสดงข้อผิดพลาดมากมายเนื่องจากไฟล์ส่วนหัวเคอร์เนลหายไป ฉันตรวจสอบที่เก็บ Raspbianแล้ว แต่ฉันไม่พบส่วนหัวเคอร์เนลและแหล่งเคอร์เนล 3.1.9+

ถ้าฉันค้นหา 3.2.0 ฉันสามารถติดตั้งเคอร์เนลใหม่ (linux-image-3.2.0-3-rpi), ส่วนหัว (linux-headers-3.2.0-3-rpi) และแหล่งที่มา (linux-source -3.2) และฉันสามารถรวบรวมโมดุลพิเศษ น่าเสียดายที่เคอร์เนล 3.2 ไม่เสถียรสำหรับฉันดังนั้นการอัปเกรดนี้ไม่ใช่ตัวเลือก

คำตอบ:


9

ดูเหมือนว่าฉันไม่มีเคอร์เนลแพ็กเกจ deb 3.1.9+ แหล่งในพื้นที่เก็บข้อมูล Raspbian ตามที่อเล็กซ์แบรดบูรี่ (ASB) พวกเขาสร้างเคอร์เนล Raspbian ขึ้นอยู่กับhttps://github.com/raspberrypi/linux ตามเอกสารการรวบรวมเคอร์เนลนี้ฉันทำต่อไปนี้ (เป็น 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

หลังจากนั้นฉันก็สามารถคอมไพล์โมดูลภายนอกอีกครั้ง

หมายเหตุเล็กน้อย:

  • ฉันได้โคลนแหล่งเคอร์เนลเวอร์ชันล่าสุดซึ่งใหม่กว่า Raspbian kernel อิมเมจ หากคุณต้องการเวอร์ชั่นเคอร์เนลที่เหมือนกันจริง ๆ เวอร์ชั่นที่เก่ากว่านี้อาจจะดีกว่า

  • ฉันได้คอมไพล์เคอร์เนลทั้งหมดอีกครั้งเพื่อให้แน่ใจ อย่าทำเช่นนั้นหากคุณต้องการรวบรวมโมดูลภายนอกเนื่องจากใช้เวลาหลายชั่วโมง

  • ฉันต้องแก้ไข Makefile ของโมดูลภายนอก (8192cu) สักหน่อย (ตั้งค่า ARCH เป็น arm แทนที่จะเป็น armv6l)

3
+1 ทำได้ดีมาก พวกเขาควรนำส่วนหัวไปไว้ในแหล่งเก็บข้อมูลจริงๆ
Jivings

4

คุณสามารถใช้rpi-sourceเพื่อค้นหาและติดตั้งเคอร์เนลซอร์สสำหรับเคอร์เนลที่ใช้งานอยู่โดยอัตโนมัติ

ดูการคอมไพล์ข้ามจาก Linuxเพื่อหลีกเลี่ยงการรอเป็นเวลาหลายชั่วโมงเพื่อคอมไพล์เคอร์เนลใหม่ของคุณ


1

แสดงให้เห็นว่ามันยากอย่างไร ... สิ่งที่ฉันสามารถหาได้คือแพ็คเกจนี้ในรายการแหล่งข้อมูล:

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.

มันดูเหมือนว่าจะให้เครื่องมือที่คุณต้องการ linux-kernel-headersแต่ฉันมีความคิดว่าทำไมมีไม่ได้เป็นแพคเกจที่เรียกว่า

อย่างไรก็ตามถ้าคุณดูในไฟล์เก็บถาวรของแพ็คเกจคุณสามารถค้นหาสิ่งนี้ได้:

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

บางทีหนึ่งในแพคเกจส่วนหัวในไดเรกทอรีนั้นอาจเป็นเคอร์เนลที่คุณต้องการ

น่าเสียดายที่ข้อมูลทั้งหมดที่ฉันสามารถนำเสนอได้ในขณะนี้เนื่องจากฉันยังไม่ได้ติดตั้ง Raspbian ด้วยตนเองแม้ว่าจะอยู่ในรายการสิ่งที่ต้องทำ


ในความคิดที่สองนี่ยังเป็นเวอร์ชั่นที่ผิดกับเวอร์ชั่นที่คุณต้องการใช่ไหม
Jivings

สิ่งนี้ใช้สำหรับเคอร์เนล 3.2 หมายเลขเวอร์ชัน (3.2.21-1 + rpi1) เหมือนกันสำหรับแพ็คเกจที่ฉันได้กล่าวถึงในคำถาม (เช่น linux-headers-3.2.0-3-all_3.2.21-1 + rpi1_armhf.deb)
asalamon74

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.