18.04.5 kernel build fails

Всем доброго дня!

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

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

  CC [M]  kernel/kheaders.o
debian/rules:6: recipe for target 'build' failed
make[2]: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
scripts/Makefile.package:73: recipe for target 'deb-pkg' failed
make[1]: *** [deb-pkg] Error 2
Makefile:1469: recipe fpr target 'deb-pkg' failed
make: *** [deb-pkg] Error 2 

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

sudo apt build-dep linux linux-image-$(uname -r)
sudo apt install libncurses-dev fakeroot

# the current kernel version works ok ...
apt source linux-image-unsigned-$(uname -r)

# the latest 5.4.123 has the issue ...
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 oldconfig

# just to check settings ... no changes.
make menuconfig

make -j`nproc` deb-pkg
0
задан 16 June 2021 в 04:30

1 ответ

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

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

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

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

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

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

Таким образом, вы можете предотвратить это с помощью некоторой тактической команды apt-mark hold , но тогда вы больше никогда не получите никаких обновлений безопасности; или вы можете сделать это обычным способом 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 года раньше!) вызывает проблемы.

Тебе, конечно, может повезти, но, может быть, тебе повезет.

0
ответ дан 28 July 2021 в 11:28

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

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