Упаковка завершается неудачно при компиляции ядра 16.04 HWE

Краткое резюме:

Сценарий упаковки выглядит по неверному пути.

Подробное описание ошибки:

Для компиляции ядра я использовал инструкции по компиляции из здесь , которые включали в себя шаги:

  1. Извлечение источников git из:

    git clone git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/xenial -b hwe
    
  2. Измените конфиги, используя:

    fakeroot debian/rules clean
    fakeroot debian/rules editconfigs
    

    , где я изменил только одну опцию, эквивалентную CONFIG_DMA_CMA=y, перечисленных в разделе Драйверы устройств CMA . Как предполагается, я добавил собственное имя для нового ядра, установив его в menuconfig, что в итоге приводит к CONFIG_LOCALVERSION="-cma" в файле конфигурации.

    Я изменил его для конфигов x64 и x64lowlatency (я также попытался изменить его для i386 и armhf, но это не имело никакого значения).

  3. Постройте его с помощью:

    CONCURRENCY_LEVEL=4 fakeroot debian/rules binary-headers binary-generic binary-perarch
    

Вывод ошибки:

...[a seemingly succesful compile and lots of INSTALL]...
#
# Build module blacklists:
#  - blacklist all watchdog drivers (LP:1432837)
#
...[more output]...
ls: cannot access '/home/user/kernel/xenial/debian/linux-modules-4.15.0-65-generic/lib/modules/4.15.0-65-generic/kernel/drivers/watchdog/': No such file or directory
#
# Remove all modules not in the inclusion list.
#
...[more output]...
depmod: ERROR: could not open directory /home/user/kernel/xenial/debian/linux-modules-4.15.0-65-generic/lib/modules/4.15.0-65-generic: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
mv: cannot stat '/home/user/kernel/xenial/debian/linux-modules-4.15.0-65-generic/lib/modules/4.15.0-65-generic/kernel': No such file or directory
debian/rules.d/2-binary-arch.mk:89: recipe for target 'install-generic' failed
make: *** [install-generic] Error 1

Сообщение от ls действительно верное , поскольку этот заявленный каталог не существует:

/home/user/kernel/xenial/debian/linux-modules-4.15.0-65-generic/lib/modules/4.15.0-65-generic/kernel/drivers/watchdog/

Существует только этот каталог с добавлением -cma:

/home/user/kernel/xenial/debian/linux-modules-4.15.0-65-generic/lib/modules/4.15.0-65-generic-cma/kernel/drivers/watchdog/

, но он не ищется.

Я локализовал вывод черного списка всех драйверов сторожевых таймеров :

./xenial/debian/rules.d/2-binary-arch.mk

Но мне не удалось определить части в Makefile, какая переменная пути неверна и как я бы исправить это. Это превосходит мои знания Linux.

Кто-нибудь может мне помочь?

0
задан 26 September 2019 в 15:46

1 ответ

Кажется, что я действительно частично решал проблему.

инструкции содержат примечание, которое я, должно быть, пропустил, и это противоречит инструкциям, которые описывают, чтобы сделать это иначе:

ПРИМЕЧАНИЕ: не пытайтесь использовать CONFIG_LOCALVERSION, поскольку это будет повреждать сборку.

Теперь, по крайней мере, вышеупомянутая проблема решена. Однако сборка еще не успешна и перестала работать на более позднем этапе. Я открою другой вопрос, как продолжить пользовательское создание ядра, не имея необходимость создавать/компилировать все с нуля много раз.

Однако в этот вопрос способ следовать инструкциям буквой (редактируют файл журнала изменений) не работал. Мне любопытно, что я найду...

0
ответ дан 23 October 2019 в 10:25

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

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