Сбой компиляции 32-битного ядра с использованием make-kpkg на 64-битной Ubuntu 16.04 - PullRequest
0 голосов
/ 09 января 2020

Я попытался скомпилировать 32-битное ядро, используя make-kpkg для атома на 64-битном сервере Ubuntu, но это не удалось, и я получил следующее сообщение об ошибке:

====== making target debian/stamp/conf/kernel-conf [new prereqs: ]======
make   CROSS_COMPILE=i686-linux-gnu- ARCH=i386 \
                    oldconfig;
make[2]: Entering directory '/home/huangmianbo/src/linux_3.18.20-rtai-5.2'
scripts/kconfig/conf --oldconfig Kconfig
#
# configuration written to .config
#
make[2]: Leaving directory '/home/huangmianbo/src/linux_3.18.20-rtai-5.2'
make   CROSS_COMPILE=i686-linux-gnu- ARCH=i386 prepare
make[2]: Entering directory '/home/huangmianbo/src/linux_3.18.20-rtai-5.2'
./scripts/gcc-version.sh: line 25: i686-linux-gnu-gcc: command not found
./scripts/gcc-version.sh: line 26: i686-linux-gnu-gcc: command not found
make[2]: i686-linux-gnu-gcc: Command not found
scripts/kconfig/conf --silentoldconfig Kconfig
./scripts/gcc-version.sh: line 25: i686-linux-gnu-gcc: command not found
./scripts/gcc-version.sh: line 26: i686-linux-gnu-gcc: command not found
make[2]: i686-linux-gnu-gcc: Command not found
  CHK     include/config/kernel.release
  CHK     include/generated/uapi/linux/version.h
  CHK     include/generated/utsrelease.h
  CC      kernel/bounds.s
/bin/sh: 1: i686-linux-gnu-gcc: not found
Kbuild:35: recipe for target 'kernel/bounds.s' failed
make[3]: *** [kernel/bounds.s] Error 127
Makefile:980: recipe for target 'prepare0' failed
make[2]: *** [prepare0] Error 2
make[2]: Leaving directory '/home/huangmianbo/src/linux_3.18.20-rtai-5.2'
debian/ruleset/targets/common.mk:194: recipe for target 'debian/stamp/conf/kernel-conf' failed
make[1]: *** [debian/stamp/conf/kernel-conf] Error 2
make[1]: Leaving directory '/home/huangmianbo/src/linux_3.18.20-rtai-5.2'
/usr/share/kernel-package/ruleset/minimal.mk:93: recipe for target 'debian/stamp/conf/minimal_debian' failed
make: *** [debian/stamp/conf/minimal_debian] Error 2
Failed to create a ./debian directory:  at /usr/bin/make-kpkg line 970.

Я использовал для компиляции 32-битное ядро ​​на моей 32-битной виртуальной машине успешно. но время компиляции на виртуальной машине стоит дорого. поэтому я решил скомпилировать его на 64-битной машине. И я установил параметр make-kpkg следующим образом:

sudo make-kpkg --initrd kernel_image -j10 --arch i386 --cross-compile ""

, но он все равно получил указанное выше сообщение об ошибке, и "i686- linux -gnu-g cc" не может быть найден Удачно.

...