Не мог скомпилировать ядро с патчем

Я пытаюсь создать ядро человечности 5.3.0 с пользовательским патчем. Я загрузил источник и добавил использование патча

patch -p1 < patch_name.patch

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

make config

затем я скомпилировал его использование

make -j6

Это дало мне vmlinux и vmlinux.o файлы. Я не знал, как использовать их так, я пытался превратить ядро в .deb файл. Я использовал

make deb-pkg

fakeroot make-kpkg -j N --initrd --append-to-version=my-very-own-kernel kernel-image kernel-headers

make bindeb-pkg

но все они дают мне ту же ошибку после компиляции целого ядра.

/bin/sh: 1: lz4c: not found
arch/x86/boot/compressed/Makefile:146: recipe for target 'arch/x86/boot/compressed/vmlinux.bin.lz4' failed
make[3]: *** [arch/x86/boot/compressed/vmlinux.bin.lz4] Error 127
make[3]: *** Deleting file 'arch/x86/boot/compressed/vmlinux.bin.lz4'
make[3]: *** Waiting for unfinished jobs....
arch/x86/boot/Makefile:112: recipe for target 'arch/x86/boot/compressed/vmlinux' failed
make[2]: *** [arch/x86/boot/compressed/vmlinux] Error 2
arch/x86/Makefile:284: recipe for target 'bzImage' failed
make[1]: *** [bzImage] Error 2
make[1]: Leaving directory '/home/beebop/Downloads/linux-hwe-edge-5.3.0'
debian/ruleset/targets/common.mk:295: recipe for target 'debian/stamp/build/kernel' failed
make: *** [debian/stamp/build/kernel] Error 2

Как я компилирую the.deb пакет и если я не могу быть там чем-нибудь, чтобы сделать с vmlinux и vmlinux.o файлами?

1
задан 10 December 2019 в 20:25

2 ответа

Изменение в использовании сжатия LZ4 по умолчанию в конфигурациях ядра Ubuntu является относительно недавним. Мало того, что некоторые более старые версии Ubuntu не имеют LZ4, связал инструменты, установленные по умолчанию, но они на самом деле недоступны.

Возвращают метод сжатия для gzip: Метод 1:

scripts/config --disable KERNEL_LZ4
scripts/config --enable KERNEL_GZIP

Метод 2: Вручную внесите эти изменения в свою конфигурацию ядра:

Изменение это:

#
# General setup
#
CONFIG_INIT_ENV_ARG_LIMIT=32
# CONFIG_COMPILE_TEST is not set
# CONFIG_HEADER_TEST is not set
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_BUILD_SALT=""
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
# CONFIG_KERNEL_GZIP is not set
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
CONFIG_KERNEL_LZ4=y

К Этому:

#
# General setup
#
CONFIG_INIT_ENV_ARG_LIMIT=32
# CONFIG_COMPILE_TEST is not set
# CONFIG_HEADER_TEST is not set
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_BUILD_SALT=""
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set

Примечание: Это сопровождает дважды время компиляции для включения отладочной информации согласно настройкам ядра Ubuntu по умолчанию. Предложите отключить:

scripts/config --disable DEBUG_INFO

, Который должен сделать это:

doug@s15:~/temp-k-git/linux$ scripts/diffconfig .config-5.4.0-050400-lowlatency .config
 DEBUG_INFO y -> n
doug@s15:~/temp-k-git/linux$ diff .config-5.4.0-050400-lowlatency .config
10144c10144
< CONFIG_DEBUG_INFO=y
---
> # CONFIG_DEBUG_INFO is not set

Установка только получающиеся заголовки (~12 мегабайтов) и изображение (~60 мегабайтов) файлы.

4
ответ дан 21 December 2019 в 23:37
/bin/sh: 1: lz4c: not found
kernel/4.14/arch/x86/boot/compressed/Makefile:141: recipe for target 'arch/x86/boot/compressed/vmlinux.bin.lz4' failed 4:14

Решение : [все, что мне нужно было сделать, это установить недостающую библиотеку] sudo apt-get install liblz4-tool

1
ответ дан 30 January 2020 в 22:16

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

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