树莓派 3B 更换 4.9.80 内核(64bit)
·
1. 安装系统

默认内核版本 5.15.32。
2. 备份工作
cd /boot/
sudo mv kernel8.img kernel8.img.bak
3. 下载编译源码
git clone --depth=1 --branch rpi-4.9.y https://github.com/raspberrypi/linux
sudo apt-get install gcc git bc bison flex libssl-dev make libc6-dev libncurses5-dev
cd linux/
cp arch/arm64/configs/bcmrpi3_defconfig .config
make menuconfig
make -j$(nproc)
make dtbs
make modules
sudo make modules_install
sudo cp arch/arm64/boot/dts/broadcom/*.dtb /boot/
sudo cp arch/arm64/boot/dts/broadcom/*.dtb* /boot/overlays/
sudo cp arch/arm64/boot/Image.gz /boot/kernel8.img
重启即可。
编译出现错误: /usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition of `yylloc’; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here
解决方法:https://blog.csdn.net/qq_36393978/article/details/117695708
4. 出现问题
cp arch/arm64/configs/bcmrpi3_defconfig .config,后直接make,显示如下提示:

原因是 bcmrpi3_defconfig 配置文件与本机配置文件有出入,解决办法是使用 make menuconfig 命令,load bcmrpi3_defconfig,然后保存为 .config。
查看当前内核的配置信息:
1. 把内核的配置信息编译进内核中,以后可以通过scripts/extract-ikconfig脚本从内核镜像中提取这些信息
CONFIG_IKCONFIG=y
2. 允许通过 /proc/config.gz 文件访问内核的配置信息
CONFIG_IKCONFIG_PROC=y
3. (内核源码路径)scripts/extract-ikconfig (内核映像路径) > (你要保存配置的文件名)
4. zcat /proc/config.gz
make menuconfig
对板子的默认配置选项,存放在 arch/$ARCH/configs 下,对于 arm 来说就是arch/arm/configs目录,make menuconfig 系统会读取 arch/$ARCH/ 目录下的 Kconfig 文件生成整个配置界面选项(Kconfig是整个linux配置机制的核心),得到配置的默认选项。一般通常利用 make xxxx_defconfig,重命名为 .config ,然后,make menuconfig。
更多推荐
所有评论(0)