Я попытался скомпилировать ядро Linux 3.10.31 на Ubuntu 16.04 LTS. Я использовал для компиляции то же самое ядро на Ubuntu 12.04 LTS, и все работает хорошо.Компилировать старое ядро Linux на Ubuntu 16.04 LTS
На Ubuntu 16.04 версия gcc - gcc-5
; На Ubuntu 12.04, версия gcc - gcc-4.6
.
Кажется, что ядро ядра ядра до 3.18 не может скомпилироваться с gcc-5
. Ядро 3.10.31 сообщает следующее сообщение об ошибке при компиляции с помощью make
fatal error: linux/compiler-gcc5.h: No such file or directory
Я попытался установить НКУ-4,7 на Ubuntu 16.04 и изменить /usr/bin/gcc
, чтобы указать на GCC-4.7. Это может решить вышеупомянутую ошибку. Тем не менее, это приводит к новым проблемам после бегаю make
$linux/arch/x86/Makefile:98: stack protector enabled but no compiler support
make[1]: Nothing to be done for 'all'.
make[1]: Nothing to be done for 'relocs'.
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
CC kernel/bounds.s
gcc-4.7.real: error: unrecognized command line option ‘-no-pie’
linux/./Kbuild:35: recipe for target 'kernel/bounds.s' failed
make[1]: *** [kernel/bounds.s] Error 1
Makefile:835: recipe for target 'prepare0' failed
make: *** [prepare0] Error 2
Мой вопрос:
Есть отличный способ, чтобы использовать старую цепочку затрудняет установка скомпилировать старое ядро 3.10.31 на Ubuntu 16.04 ?
Большое вам спасибо за помощь! Любые советы действительно оценены.
эта ссылка мертва, однако - вот еще один: [https://raw.githubusercontent.com/siemens/u-boot/master/include/linux/compiler-gcc5.h] –