Рейтинг:0

Ошибка сборки ядра 18.04.5

флаг us

Всем добрый день!

Не уверен, с чего начать.

Компилирую исходники 5.4.125 с kernel.org и получаю вот это

  CC [M] ядро/kheaders.o
debian/rules:6: рецепт для целевого 'сборки' не удался
make[2]: *** [сборка] Ошибка 2
dpkg-buildpackage: ошибка: подпроцесс сборки debian/rules вернул статус выхода 2
scripts/Makefile.package:73: рецепт для целевого 'deb-pkg' не выполнен
make[1]: *** [deb-pkg] Ошибка 2
Makefile: 1469: ошибка рецепта fpr target 'deb-pkg'
make: *** [deb-pkg] Ошибка 2 

вот команды, которые я использовал (обратите внимание на два источника различий, где последний не работает):

sudo apt build-dep linux linux-image-$(uname -r)
sudo apt установить libncurses-dev fakeroot

# текущая версия ядра работает нормально...
apt source linux-image-unsigned-$(uname -r)

# в последней версии 5.4.123 есть проблема ...
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.4.123.tar.gz
tar -xf linux-5.4.123.tar.gz

сделать старый конфиг

# просто проверить настройки... никаких изменений.
сделать менюконфигурации

make -j`nproc` deb-pkg
Рейтинг:0
флаг es

В отсутствие какой-либо полезной информации (какие команды вы вызывали? Какие шаги вы делали до этого?) можно только догадываться, что вы следовали этим инструкциям:

https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel

Что, конечно, работает только для сборки ядра из исходного пакета Debian или из Убунту git-репозиторий.

Если вы получили свои исходные коды с kernel.org, как вы написали, они, вероятно, не будут поставляться с частью упаковки Debian, поэтому вам нужно следовать стандартный инструкции по сборке ядра, например. здесь:

https://www.linux.com/topic/desktop/how-compile-linux-kernel-0/

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

Так что вы мог предотвратить это с помощью некоторых тактических удерживать метку команду, но тогда вы больше никогда не получите никаких обновлений безопасности; или вы можете сделать это обычным способом Ubuntu, получить исходники с kernel.ubuntu.org, собрать пакет .deb для этого ядра и установить его.


Обратите внимание, что попытка использовать ядро ​​5.x в Ubuntu 18.04, которое поставляется с ядром 4.x (сейчас 4.5.0-144), может взорваться вам в лицо, когда все виды других низкоуровневых пакетов несовместимы с этим. гораздо более новое ядро. Это может или не может работать. Если это не так, вы, вероятно, не хотите пересобирать большую часть дистрибутива, которая может оказаться необходимой.


Редактировать: Если ваши приоритеты заключаются в том, что вам нужно это последнее ядро ​​​​5.4, выберите более поздний выпуск Ubuntu; если вам нужен выпуск LTS, 20.04 LTS — гораздо лучшая отправная точка, а 21.04 (хотя и не выпуск LTS) — еще лучше.

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

Есть причина, по которой дистрибутив выпускается целиком через определенные промежутки времени; самое важное, что делает дистрибьютор Linux, — это интегрирует все различные подсистемы, чтобы они хорошо работали вместе. Дистрибутив Linux — это не просто куча кусочков, которые нужно собрать наугад, и все будет хорошо работать; есть много опыта и работы.

Вы можете увеличить свои шансы на хорошую работу, если возраст компонентов примерно одинаков; но недавнее ядро ​​​​с середины 2021 года и все остальное с начала 2018 года (то есть более чем на 3 года раньше!) напрашивается на неприятности.

Вам, конечно, может повезти, но это может подтолкнуть вашу удачу.

keith bradley avatar
флаг us
... Я отредактировал, чтобы добавить рецепт, который я использовал, слегка измененный из статьи, на которую вы ссылаетесь ... Ваши данные ответили на мой вопрос ... но мне интересно, как я могу обойти это ... Я должен использовать ядро ​​в семействе 5.4, которое имеет соответствующую версию патча PREEMPT-RT ... я не смог сопоставить патч ни с одним исходным кодом ubuntu ... я зашел в тупик?
keith bradley avatar
флаг us
Кроме того ... это тестовая платформа, поэтому я не боюсь рисковать ... я могу отказаться от обновлений во время тестирования.
keith bradley avatar
флаг us
Кроме того ... я использую 18.04.5 ... переход с 5.4.0 на 5.4.123 не кажется слишком большим, поскольку, когда я получаю исходный код ядра Ubuntu, он все равно обновляется до 5.4.114.
HuHa avatar
флаг es
Отредактировал мой ответ. У меня 18.04.05 ядро ​​4.15.0-144. Если у вас 5.4.0, это не обычный дистрибутив.
keith bradley avatar
флаг us
Спасибо ХуХа за всю вашу квалифицированную помощь ... единственное , что я хотел сообщить вам , это то , что я собирал свою тестовую машину несколько раз и делал соответствующие обновления / обновления , и 5.4.0 -- это ядро ​​, которое я получил до того , как сделал что - либо еще . .. Похоже, это тоже был недавний патч ... на kernel.ubuntu.com он датирован несколько дней назад ... Я воспользуюсь вашим советом и протестирую 21.04, так как патч PREEMPT-RT в любом случае будет лучше. .. еще раз спасибо.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.