Ubuntu18.04下Linux内核编译
架构配置
将架构环境改为arm:在内核源码目录下,执行
export ARCH=arm
设置交叉编译器
在内核源码目录下,执行
export CROSS_COMPILE={编译器路径}/bin/arm-none-linux-gnueabihf-
可以在脚本中写成
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf-
将交叉编译工具添加到环境变量
一次性:直接执行
export PATH=$PATH:{编译器路径}/bin
永久性: 在用户目录下修改.bashrc
文件,在最后一行添加export PATH=$PATH:{编译器路径}/bin
。添加完成后执行source .bashrc
使新的环境配置生效。
执行make menuconfig命令出现scripts/kconfig/Makefile:208: recipe for target 'scripts/kconfig/mconf-cfg' failed
错误
原因是:缺少libncurses5-dev库造成的。由于执行make menuconfig,需要显示一些彩色字符,需要依赖相应的库。
sudo apt-get install libncurses5-dev
执行make menuconfig命令出现scripts/Makefile.host:9: recipe for target 'scripts/kconfig/lexer.lex.c' failed
错误
原因是:缺少库造成的。安装:
sudo apt-get install flex
sudo apt-get install bison
编译过程出现scripts/extract-cert.c:21:10: fatal error: openssl/bio.h: No such file or directory
错误
原因是:缺少库造成的。安装:
sudo apt install openssl
sudo apt install libssl-dev