Как получить исходный код ядра?

Я планирую написать некоторые драйверы устройств, и мне нужно получить исходный код ядра Linux. Моя версия ядра Linux - 3.2.0-23-generic-pae, и я загрузил изображение из это . Во многих статьях, которые я прочитал, он говорит мне, что мне нужно, чтобы все дерево ядра начало вставлять новые модули.

Достаточно ли этого, если я загружаю это изображение и вставляю его в папку usr/src/ или мне нужно что-то делать?

22 голоса | спросил Sab 5 J000000Thursday12 2012, 09:41:51

4 ответа


26

Это будет источник исходного ядра:

apt-get source linux-source

Вы можете проверить, какая версия ядра работает следующим образом:

uname -r

Что напечатает что-то вроде:

3.13.0-46-generic

Вы можете найти список версий исходного исходного кода, доступных в вашей системе, с помощью:

apt-cache search linux-source

Чтобы получить исходную версию ядра:

git clone git://kernel.ubuntu.com/ubuntu/ubuntu-trusty.git

В приведенной выше ссылке «trusty» является кодовым именем для версии Ubuntu. Вы можете узнать кодовое имя для версии Ubuntu, которую вы установили через:

cat /etc/lsb-release
ответил Bryce 5 J000000Thursday12 2012, 10:33:55
7
apt-get source linux

- самый простой способ. Он загрузит источник из вашего репозитория - и он будет таким же, как и версия, которую вы используете (если вы еще не настроили ее).

Но если вы хотите найти, где находится источник, вы можете запустить:

apt-cache showsrc linux

Найдите атрибут «Vcs-» (система управления версиями). Обычно это git (Vcs-Git) или ртутный репозиторий.

Примечание. Эти команды работают с любым пакетом. Просто замените «linux» на интересующий вас пакет. Также обратите внимание, что «apt-get source» не нужен sudo-доступ и выгрузит источник в вашем текущем каталоге.

ответил Brendan McGrath 26 FebruaryEurope/MoscowbThu, 26 Feb 2015 03:20:52 +0300000000amThu, 26 Feb 2015 03:20:52 +030015 2015, 03:20:52
3

Просто выберите один из:

sudo apt install linux-source  # downloads into system directory
sudo apt source linux-source  # downloads into working directory

Если вам предлагается указать некоторые «источники» URL-адресов в вашем sources.list, перейдите в свой /etc/apt/sources.list и раскомментируйте нужную строку deb-src, например (если вы хотите, re running Xenial):

deb http://fr.archive.ubuntu.com/ubuntu/ xenial main restricted
# deb-src http://fr.archive.ubuntu.com/ubuntu/ xenial main restricted

Удаление # в этой последней строке позволяет загружать исходные репозитории, включая источники ядра.

Примечания:

  • Используйте современные инструменты; избегать apt-get.
  • Эти команды загружают исходный код для вашего текущего ядра (в моем случае 4.4.0-75-generic).
  • При загрузке в системный каталог файлы хранятся в /usr/src/linux-source-4.4.0/ (например).
ответил Tim 19 J0000006Europe/Moscow 2017, 00:18:01
2

Источник загрузки непосредственно с Launchpad

Как ни странно, каждый рекомендует apt-get source, который не работает большую часть времени, если вы ищете конкретную версию ядра:

Скажем, что вам нужен исходный код ядра для 3.19.0-58:
apt-get source linux-image-3.19.0-58-generic получит источник для последнего ядра в серия: 3.19.0-80 в этом случае, что вы не просили.

Итак, у вас есть два варианта:

1) Откажитесь, установите ядро ​​3.19.0-80 и используйте apt-get source

2) Получить исходный код непосредственно с панели запуска:

links

  • Поместите их в новый каталог, распакуйте с помощью dpkg-source -x *.dsc

Примечания:

  • Должен быть лучший способ.
  • Вы можете получить версию, которую хотите от git, но у вас есть большая загрузка. См. «Получение исходных текстов ядра для выпуска Ubuntu с помощью git» в Исходный код ядра Vibuntu Wiki .
ответил lemonsqueeze 23 J000000Sunday17 2017, 17:39:53

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132