步骤一、下载源码及交叉编译器后解压
linux kernel官网
ARM GCC交叉编译器
步骤二、安装软件
sudo apt-get install ncurses-dev
sudo apt-get install flex
sudo apt-get install bison
sudo apt install libgtk2.0-dev libglib2.0-dev libglade2-dev
sudo apt install libssl-dev
步骤三、配置
清理工程
make ARCH=arm CROSS_COMPILE=…/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf- distclean
配置文件选择:./arch/arm/configs/vexpress_defconfig
make ARCH=arm CROSS_COMPILE=…/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf- vexpress_defconfig
步骤四、编译
make ARCH=arm CROSS_COMPILE=…/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf- -j8
成功后如下图
注:…/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf对应交叉编译器中的相对位置
常见问题
问题1
解决:源码中找到dtc-lexer.l文件,搜索“YYLTYPE”,并在前面加上extern,然后重新编译