Я планирую написать несколько драйверов устройств, и мне нужно получить исходный код ядра Linux. Моя версия ядра Linux - 3.2.0-23-generic-pae, и я скачал образ из этого . Во многих прочитанных мною статьях говорится, что мне нужно иметь все дерево ядра, чтобы начать вставлять новые модули.
Достаточно ли того, чтобы я скачал это изображение и вставил его в папку usr/src/
, или мне нужно что-то еще сделать?
Это приведет к исходному коду стандартного ядра:
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
apt-get source linux
- самый простой способ. Он загрузит исходный код из вашего репозитория - и он будет такой же, как и версия, которую вы используете (при условии, что вы еще не настроили ее).
Но если вы хотите узнать, где хранится источник, вы можете run:
apt-cache showsrc linux
Найдите атрибут «Vcs-» (система контроля версий). Обычно это репозиторий git (Vcs-Git) или mercurial.
Примечание - эти команды работают с любым пакетом. Просто замените 'linux' на интересующий вас пакет. Также обратите внимание, что 'apt-get source' не требует доступа sudo и будет выгружать исходный код в ваш текущий каталог.
Загрузите исходный код прямо с 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) Получить исходный код напрямую с панели запуска:
Это должно дать вам страницу пакета Launchpad для этой версии.
Прокрутите вниз, нажмите ссылку "Источник:", вы на Исходная страница пакета сейчас.
Прокрутите вниз и загрузите файлы .tar.gz
, .diff.gz
, .dsc
:
dpkg-source -x * .dsc
Примечания:
Просто выберите один из:
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
, например (если вы работаете 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/
(например).