内核版本3.18.6,编译目标架构为x86_64,硬件实际架构为x86_64
1、error: code model kernel does not support PIC mode
修改
${kernel_path}/arch/x86/Makefile
文件中的
BITS := 64
脚本代码块,添加一行来修改gcc的编译参数,
KBUILD_CFLAGS += -fno-pic
2、fatal error: linux/compiler-gcc7.h: No such file or directory
问题原因是Ubuntu18.04安装build-essential时,默认安装的是gcc-7,但是在${kernel_path}目录下,我们查看支持的gcc文件头,
find ./ -name compiler-gcc*
得到如下结果:
./include/linux/compiler-gcc5.h
./include/linux/compiler-gcc3.h
./include/linux/compiler-gcc.h
./include/linux/compiler-gcc4.h
结果显示,只支持gcc-3,gcc-4,gcc-5,所以再安装一个gcc-5.
sudo apt install gcc-5
然后用update-alternatives重新建立一个gcc链接文件。
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 1
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 2
再用
sudo update-alternatives --config gcc
选择gcc的版本为gcc-5,选择完成后,查看gcc版本号
gcc --version
(这里好像不能补全了)确认一下。
3、fatal error: curses.h: No such file or directory
sudo apt-get install libncurses5-dev libncursesw5-dev