Где источник ядра для стандартного ядра Raspbian 3.1.9+?

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 очень нестабильно для меня, поэтому это обновление не вариант.

asalamon74
источник

Ответы:

9

Мне кажется, в репозитории Raspbian нет исходного пакета deb для ядра 3.1.9+. По словам Алекса Брэдбери (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. Если вам действительно нужна точно такая же версия ядра, тогда эта более старая версия может быть лучше.

  • Я также перекомпилировал все ядро, чтобы быть уверенным. Не делайте этого, если вам нужно только скомпилировать внешний модуль, так как это занимает часы.

  • Мне пришлось немного изменить Makefile внешнего модуля (8192cu) (установив ARCH на arm вместо armv6l).
asalamon74
источник
3
+1 Отличная работа. Они действительно должны получить заголовки в репозитории.
Jivings
1

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/

Возможно, один из пакетов заголовков в этом каталоге будет для ядра, которое вам нужно.

К сожалению, это вся информация, которую я сейчас могу предложить, поскольку я еще не установил Raspbian, хотя она есть в моем списке TODO.

Jivings
источник
Если подумать, это все еще не та версия, которую вы хотите, не так ли?
Jivings
Это также для ядра 3.2. Номер версии (3.2.21-1 + rpi1) одинаков для пакетов, которые я упомянул в вопросе (например, linux-headers-3.2.0-3-all_3.2.21-1 + rpi1_armhf.deb)
asalamon74