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

21

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

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

    
задан Sab 05.07.2012 в 07:41
источник

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 05.07.2012 в 08:33
источник
7
apt-get source linux

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

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

apt-cache showsrc linux

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

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

    
ответ дан Brendan 26.02.2015 в 01:20
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 , например (если вы используете 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 18.06.2017 в 23:18
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) Получить исходный код непосредственно с панели запуска:

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

Примечания:

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