代码已经下载,解压完如下图:
代码在github使用zip下载,下载完成后用rar解压,后来在wsl里面用rar/unzip解压.
在这个目录下面打开Cmder,这里需要做配置:
树莓派开发—内核源码配置、编译_^不加糖^的博客-CSDN博客_树莓派内核源码
然后配置完毕,过程中会报错,那就安装缺失的软件包。
譬如我缺了flex,bison包。
配置完成之后,出现如下输出
zhangmin@DC1-ZhangMin:/mnt/d/Raspberry/kernel_rasp/raspberry_kernel$ ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make bcm2709_defconfig
YACC scripts/kconfig/parser.tab.[ch]
HOSTCC scripts/kconfig/lexer.lex.o
HOSTCC scripts/kconfig/menu.o
HOSTCC scripts/kconfig/parser.tab.o
HOSTCC scripts/kconfig/preprocess.o
HOSTCC scripts/kconfig/symbol.o
HOSTCC scripts/kconfig/util.o
HOSTLD scripts/kconfig/conf
configuration written to .config
代码编译
编译命令:
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make -j4 zImage modules dtbs
如果没做上一步的配置,直接编译,报错如下:
zhangmin@DC1-ZhangMin:/mnt/d/Raspberry/kernel_rasp/raspberry_kernel$ ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make -j4 zImage modules dtbs
*** Configuration file “.config” not found!
*** Please run some configurator (e.g. “make oldconfig” or
*** “make menuconfig” or “make xconfig”).
make: *** [Makefile:715: .config] Error 1
编译过程
即使上面都配好了,我在编译的时候还是出了各种头文件找不到的错误,莫名其妙。
搜到一个第二个头文件找不到是缺少软件包?
sudo apt-get install libssl-dev
转完之后 果然不少这个包了,但又出来了新的
接着编译出了一票头文件找不到的问题,使用下列解决方法:
https://blog.csdn.net/g_r_u_b/article/details/8644745
我将所有的相关头文件从大写改成小写了,后面又出了软链接丢失的问题,满头包。
搜了一圈,最后发现是WSL存储文件的问题,所以只要你的代码是存在windows系统里面的,那么就有问题,一定要放在linux系统下面,我使用Ubuntu 20.04 LTS
,然后代码重新塞到Ubuntu里面,解压
unzip linux-rpi-5.15.y.zip
重新make deconfig,重新编译,结果,成功。