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

Вы можете легко сделать это с помощью пакета winusb:

sudo add-apt-repository ppa:colingille/freshlight

sudo apt-get update

sudo apt-get install winusb

1
задан 30 June 2013 в 18:29

3 ответа

apt-get source linux

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

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

apt-cache showsrc linux

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

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

7
ответ дан 25 May 2018 в 09:00
  • 1
    Это требует, чтобы машина, которую вы загружаете, соответствовала целевой машине. Действительно работает только в том случае, если у вас есть сеть. У большинства читателей, приземляющихся на этой странице, не будет сети (следовательно, почему они внезапно нуждаются в источнике). Мне нужно это как tarball на флэш-накопителе, и у меня нет работы. – mckenzm 16 May 2016 в 23:01
  • 2
    Это только загрузило linux-заголовки в /usr/src - не полный источник ядра - на Ubuntu 16.04 – Pierz 8 January 2018 в 19:24

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

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/ (например).
3
ответ дан 25 May 2018 в 09:00
  • 1
    Не работает для меня (но и версия apt-get). Я запускаю Ubuntu 16.04.4, ядро ​​4.4.0-98-generic. В нем говорится: «Вы должны поместить некоторые« исходные »URI в ваши sources.list». Я не знаю, как это сделать. – Andrew Bainbridge 9 January 2018 в 16:08
  • 2
    @AndrewBainbridge Я добавил информацию об этом. Это нормально для вас сейчас? – Tim 11 January 2018 в 03:03
  • 3
    Да, спасибо. Это был глупый комментарий от меня. Мне нужно было только сообщить об ошибке. Во всяком случае, имейте upvote для ваших усилий. – Andrew Bainbridge 11 January 2018 в 15:03

Загрузите источник непосредственно с 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) Получите исходный код прямо с панели запуска:

Сайт Google: launchpad.net «linux-image-3.19.0-58-generic» Это должно дать вам страницу пакета Launchpad для этой версии. Прокрутите вниз, нажмите ссылку «Источник:», теперь вы находитесь на странице источника пакета. Прокрутите вниз и загрузите файлы .tar.gz, .diff.gz, .dsc:

Сайт Google: launchpad.net "linux-image-3.19.0-58 -генерический "

Примечания:

Должен быть лучший способ. Это даст вам страницу пакета Launchpad для этой версии.
2
ответ дан 25 May 2018 в 09:00

Другие вопросы по тегам:

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