Raspbian의 기본 3.1.9+ 커널의 커널 소스는 어디에 있습니까? 커널 헤더

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는 매우 불안정하므로이 업그레이드는 옵션이 아닙니다.



답변

Raspbian 저장소에는 커널 3.1.9 + 소스 deb 패키지가없는 것 같습니다. Alex Bradbury (asb) 에 따르면 https://github.com/raspberrypi/linux 기반으로 Raspbian 커널을 구축했습니다 . 커널 컴파일 문서를 기반으로 다음을 루트로 수행했습니다.

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 커널 이미지보다 최신 인 최신 버전의 커널 소스를 복제했습니다. 정확히 동일한 커널 버전이 필요한 경우이 이전 버전 이 더 좋습니다.

  • 또한 전체 커널을 다시 컴파일하여 확인했습니다. 몇 시간이 걸리므로 외부 모듈 만 컴파일해야하는 경우에는 그렇게하지 마십시오.

  • 외부 모듈 (8192cu)의 Makefile을 약간 수정해야했습니다 (armv6l 대신 ARCH를 arm으로 설정).

답변

rpi-source 를 사용 하여 실행중인 커널에 대한 커널 소스 를 자동으로 찾아 설치할 수 있습니다 .

새로운 커널을 컴파일하기 위해 몇 시간을 기다리지 않기 위해 Linux에서 크로스 컴파일을 참조하십시오 .


답변

그게 얼마나 어려운지 Stange … 내가 찾을 수있는 것은 소스 목록 에서이 패키지입니다.

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/

아마도 해당 디렉토리의 헤더 패키지 중 하나가 필요한 커널을위한 것일 것입니다.

불행히도 그것은 내 TODO 목록에 있지만 Raspbian을 아직 설치하지 않았으므로 현재 제공 할 수있는 모든 정보입니다.


답변

커널 헤더 (컴파일 모듈 등)가 필요한 경우 다음과 같이 할 수도 있습니다.

sudo apt-get install raspberrypi-kernel-headers

출처 : https://www.raspberrypi.org/documentation/linux/kernel/headers.md