最初只是想试一下交叉编译树莓派4的内核模块,结果
pi@raspberrypi:~/Proj$ sudo insmod hello.ko
insmod: ERROR: could not insert module hello.ko: Invalid module format
该问题是由于内核版本不一致造成的。所以就先看一下树莓派内核升级的问题。
目录
准备工作
在Host机器上安装必要的工具
sudo apt install git bc bison flex libssl-dev make
在Host机器上下载ToolChain
从Raspberry的官方Git下载toolchain。
git clone https://github.com/raspberrypi/tools ~/tools
更新PATH环境变量,使系统可以找到toolchain
echo PATH=\$PATH:~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin >> ~/.bashrc
source ~/.bashrc
在Host机器上下载源代码
git clone --depth=1 https://github.com/raspberrypi/linux
在Host机器上交叉编译
配置内核
在内核代码目录运行以下命