From be1ec3f24f0d33429ded3d64c7c193989367be01 Mon Sep 17 00:00:00 2001 From: Yafen Date: Thu, 19 Dec 2024 14:47:27 +0800 Subject: [PATCH] compile kernel for RPi5 --- documents/raspberrypi/images/验证内核.jpg | Bin 56963 -> 0 bytes documents/raspberrypi/images/验证内核.png | Bin 0 -> 76868 bytes documents/raspberrypi/openEuler镜像的构建.md | 212 +++++-------------- documents/raspberrypi/交叉编译内核.md | 123 +---------- documents/raspberrypi/内核编译.md | 175 +++++++++++++++ 5 files changed, 231 insertions(+), 279 deletions(-) delete mode 100644 documents/raspberrypi/images/验证内核.jpg create mode 100644 documents/raspberrypi/images/验证内核.png create mode 100644 documents/raspberrypi/内核编译.md diff --git a/documents/raspberrypi/images/验证内核.jpg b/documents/raspberrypi/images/验证内核.jpg deleted file mode 100644 index 80a78e39b389a77357d4771d4c21de7afb332c0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56963 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%0Dwp>@hgooS}DX*Vr0 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 JFSYZH`3DBb_rd@G literal 0 HcmV?d00001 diff --git a/documents/raspberrypi/openEuler镜像的构建.md b/documents/raspberrypi/openEuler镜像的构建.md index 3309281..c3ba35f 100644 --- a/documents/raspberrypi/openEuler镜像的构建.md +++ b/documents/raspberrypi/openEuler镜像的构建.md @@ -1,25 +1,15 @@ - [环境需求](#环境需求) -- [树莓派相关](#树莓派相关) +- [树莓派相关内容准备](#树莓派相关内容准备) - [编译内核](#编译内核) - [准备环境](#准备环境) - - [下载源码](#下载源码) - - [进入内核目录](#进入内核目录) - - [切换分支](#切换分支) - - [载入默认配置](#载入默认配置) - - [编译](#编译) - - [创建编译内核模块目录](#创建编译内核模块目录) - - [编译内核模块](#编译内核模块) - - [收集编译结果](#收集编译结果) + - [内核编译](#内核编译) - [配置引导](#配置引导) - [下载引导](#下载引导) - [进入引导目录](#进入引导目录) - [删除没有必要的文件](#删除没有必要的文件) - [添加cmdline.txt](#添加cmdlinetxt) - - [boot 内容完善](#boot-内容完善) - - [将内核放进引导](#将内核放进引导) - - [将设备树文件放进引导](#将设备树文件放进引导) - [树莓派固件和应用](#树莓派固件和应用) - [下载固件和应用](#下载固件和应用) - [制作 openEuler 的 rootfs](#制作-openeuler-的-rootfs) @@ -34,7 +24,6 @@ - [网络相关](#网络相关) - [rootfs 内容完善](#rootfs-内容完善) - [将固件放进 rootfs](#将固件放进-rootfs) - - [将内核模块放进rootfs](#将内核模块放进rootfs) - [rootfs设置](#rootfs设置) - [制作镜像](#制作镜像) - [生成镜像并分区挂载](#生成镜像并分区挂载) @@ -48,8 +37,9 @@ - [挂载根目录和 boot 分区](#挂载根目录和-boot-分区) - [获取生成的 img 镜像的 blkid](#获取生成的-img-镜像的-blkid) - [修改 fstab](#修改-fstab) - - [rootfs 拷贝到镜像](#rootfs-拷贝到镜像) - - [boot 引导拷贝到镜像](#boot-引导拷贝到镜像) + - [rootfs 文件拷贝到镜像](#rootfs-文件拷贝到镜像) + - [boot 引导文件拷贝到镜像](#boot-引导文件拷贝到镜像) + - [内核更新](#内核更新) - [卸载镜像](#卸载镜像) - [同步到盘](#同步到盘) - [卸载](#卸载) @@ -73,7 +63,7 @@ - 使用 AArch64 架构的主机,例如树莓派 - 使用 [QEMU](https://www.qemu.org/) 模拟器搭建 AArch64 运行环境 -# 树莓派相关 +# 树莓派相关内容准备 操作目录:${WORKDIR} @@ -86,97 +76,11 @@ 除了使用 AArch64 架构的 openEuler 或 CentOS 7/8 运行环境,也可以采用交叉编译的方式编译内核,文档详见 [交叉编译内核](./交叉编译内核.md)。这里,我们在 AArch64 架构的服务器上编译内核。 -### 下载源码 +### 内核编译 -根据内核不同版本,需要下载不同仓库的不同分支: +编译时可能还需要 bison、flex、build-essential 等,根据提示安装即可。 -1. 6.6 内核 - - - openEuler 24.09:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b OLK-6.6 && cd raspberrypi-kernel` - - openEuler 24.03 LTS:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b OLK-6.6 && cd raspberrypi-kernel` - -2. 6.1 内核 - - - openEuler 23.03:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-23.03 && cd raspberrypi-kernel` - -3. 5.10 内核 - - - openEuler 22.03 LTS SP4:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b OLK-5.10 && cd raspberrypi-kernel` - - openEuler 22.03 LTS SP3:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b OLK-5.10 && cd raspberrypi-kernel` - - openEuler 22.03 LTS SP2:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-22.03-LTS-SP2 && cd raspberrypi-kernel` - - openEuler 22.03 LTS SP1:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-22.03-LTS-SP1 && cd raspberrypi-kernel` - - openEuler 22.09:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-22.09 && cd raspberrypi-kernel` - - openEuler 22.03 LTS:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-22.03-LTS && cd raspberrypi-kernel` - - openEuler 21.09:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-21.09 && cd raspberrypi-kernel` - - openEuler 21.03:`git clone git@gitee.com:openeuler/kernel.git -b openEuler-21.03 && cd kernel` - -4. 4.19 内核 - - - openEuler 20.03 LTS:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-20.03-LTS && cd raspberrypi-kernel` - - openEuler 20.09:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-20.09 && cd raspberrypi-kernel` - -下面编译时可能还需要 bison、flex、build-essential 等,根据提示安装即可。 - -### 载入默认配置 - -根据内核不同版本,需要载入不同的默认配置: - -1. 6.6 内核 - - - openEuler 24.09:`make bcm2711_defconfig` - - openEuler 24.03 LTS:`make bcm2711_defconfig` - -2. 6.1 内核 - - - openEuler 23.03:`make bcm2711_defconfig` - -3. 5.10 内核 - - - openEuler 22.03 LTS SP4:`make bcm2711_defconfig` - - openEuler 22.03 LTS SP3:`make bcm2711_defconfig` - - openEuler 22.03 LTS SP2:`make bcm2711_defconfig` - - openEuler 22.03 LTS SP1:`make bcm2711_defconfig` - - openEuler 22.09:`make bcm2711_defconfig` - - openEuler 22.03 LTS:`make bcm2711_defconfig` - - openEuler 21.09:`make bcm2711_defconfig` - - openEuler 21.03:`make bcm2711_defconfig` - -4. 4.19 内核 - - - openEuler 20.03 LTS:`make openeuler-raspi_defconfig` - - openEuler 20.09:`make openeuler-raspi_defconfig` - -对应的 defconfig 文件在 ./arch/arm64/configs 下。 - -### 编译 - -`make ARCH=arm64 -j4` - -### 创建编译内核模块目录 - -`mkdir ${WORKDIR}/output` - -### 编译内核模块 - -`make INSTALL_MOD_PATH=${WORKDIR}/output/ modules_install` - -在 ${WORKDIR}/output 文件夹下会生成 lib 文件夹。 - -### 收集编译结果 - -1. 内核 - - `cp ${WORKDIR}/raspberrypi-kernel/arch/arm64/boot/Image ${WORKDIR}/output/` - -2. 设备树文件等 - - `cp ${WORKDIR}/raspberrypi-kernel/arch/arm64/boot/dts/broadcom/*.dtb ${WORKDIR}/output/` - - `mkdir ${WORKDIR}/output/overlays` - - `cp ${WORKDIR}/raspberrypi-kernel/arch/arm64/boot/dts/overlays/*.dtb* ${WORKDIR}/output/overlays/` - -至此,所有内核及内核模块相关内容都在 ${WORKDIR}/output 下了。 +具体编译过程请参考文档 [内核编译](./内核编译.md#内核编译)。 ## 配置引导 @@ -186,7 +90,7 @@ `git clone --depth=1 https://github.com/raspberrypi/firmware` -得到文件 ${WORKDIR}/firmware 。 +得到文件 ${WORKDIR}/firmware。 ### 进入引导目录 @@ -202,19 +106,7 @@ 写入新系统的内核参数: -`console=serial0,115200 console=tty1 root=/dev/mmcblk0p3 rootfstype=ext4 elevator=deadline rootwait` - -### boot 内容完善 - -#### 将内核放进引导 - -`cp ${WORKDIR}/output/Image ${WORKDIR}/firmware/boot/kernel8.img` - -#### 将设备树文件放进引导 - -`cp ${WORKDIR}/output/*.dtb ${WORKDIR}/firmware/boot/` - -`cp ${WORKDIR}/output/overlays/* ${WORKDIR}/firmware/boot/overlays/` +`console=serial0,115200 console=tty1 root=/dev/mmcblk0p3 rootfstype=ext4 elevator=deadline rootwait net.ifnames=0` ## 树莓派固件和应用 @@ -248,11 +140,11 @@ ## 创建 RPM 数据库 -`mkdir ${WORKDIR}/rootfs` - -`mkdir -p ${WORKDIR}/rootfs/var/lib/rpm` - -`rpm --root ${WORKDIR}/rootfs/ --initdb` +``` +mkdir ${WORKDIR}/rootfs +mkdir -p ${WORKDIR}/rootfs/var/lib/rpm +rpm --root ${WORKDIR}/rootfs/ --initdb +``` ## 下载安装 openEuler 发布包 @@ -260,15 +152,16 @@ 会在 ${WORKDIR}/rootfs 下生成三个文件夹: -etc/ usr/ var/ +`etc/ usr/ var/` ## 安装 yum ### 添加 yum 源 -`mkdir ${WORKDIR}/rootfs/etc/yum.repos.d` - -`curl -o ${WORKDIR}/rootfs/etc/yum.repos.d/openEuler-20.03-LTS.repo https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-20.03-LTS/generic.repo` +``` +mkdir ${WORKDIR}/rootfs/etc/yum.repos.d +curl -o ${WORKDIR}/rootfs/etc/yum.repos.d/openEuler-20.03-LTS.repo https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-20.03-LTS/generic.repo +``` ### 安装 dnf @@ -276,9 +169,10 @@ etc/ usr/ var/ ### 安装必要软件 -`dnf --installroot=${WORKDIR}/rootfs/ makecache` - -`dnf --installroot=${WORKDIR}/rootfs/ install -y alsa-utils wpa_supplicant vim net-tools iproute iputils NetworkManager openssh-server passwd hostname ntp bluez pulseaudio-module-bluetooth` +``` +dnf --installroot=${WORKDIR}/rootfs/ makecache +dnf --installroot=${WORKDIR}/rootfs/ install -y alsa-utils wpa_supplicant vim net-tools iproute iputils NetworkManager openssh-server passwd hostname ntp bluez pulseaudio-module-bluetooth +``` ## 添加配置文件 @@ -350,19 +244,15 @@ mv ${WORKDIR}/rootfs/lib/firmware/BCM43430A1.hcd ${WORKDIR}/rootfs/lib/firmware/ mv ${WORKDIR}/rootfs/lib/firmware/BCM4345C0.hcd ${WORKDIR}/rootfs/lib/firmware/brcm/ ``` -### 将内核模块放进rootfs - -`cp -r ${WORKDIR}/output/lib/modules ${WORKDIR}/rootfs/lib/` - ## rootfs设置 1. 挂载必要的路径 - `mount --bind /dev ${WORKDIR}/rootfs/dev` - - `mount -t proc /proc ${WORKDIR}/rootfs/proc` - - `mount -t sysfs /sys ${WORKDIR}/rootfs/sys` + ``` + mount --bind /dev ${WORKDIR}/rootfs/dev + mount -t proc /proc ${WORKDIR}/rootfs/proc + mount -t sysfs /sys ${WORKDIR}/rootfs/sys + ``` 2. run chroot @@ -396,11 +286,11 @@ mv ${WORKDIR}/rootfs/lib/firmware/BCM4345C0.hcd ${WORKDIR}/rootfs/lib/firmware/b 9. 取消临时挂载的目录 - `umount -l ${WORKDIR}/rootfs/dev` - - `umount -l ${WORKDIR}/rootfs/proc` - - `umount -l ${WORKDIR}/rootfs/sys` + ``` + umount -l ${WORKDIR}/rootfs/dev + umount -l ${WORKDIR}/rootfs/proc + umount -l ${WORKDIR}/rootfs/sys + ``` # 制作镜像 @@ -408,11 +298,12 @@ mv ${WORKDIR}/rootfs/lib/firmware/BCM4345C0.hcd ${WORKDIR}/rootfs/lib/firmware/b ### 计算镜像大小 -`du -sh --block-size=1MiB ${WORKDIR}/rootfs` +``` +du -sh --block-size=1MiB ${WORKDIR}/rootfs +du -sh --block-size=1MiB ${WORKDIR}/firmware/boot +``` -`du -sh --block-size=1MiB ${WORKDIR}/firmware/boot` - -得到总大小后略加 1100MiB 即可,将该大小记为 `SIZE`。 +得到总大小后加 2000MiB 即可,将该大小记为 `SIZE`。 ### 创建空镜像 @@ -475,9 +366,7 @@ add map loop0p3 ... 运行 `ls /dev/mapper/loop0p*` 可以看到分区分别对应刚才为 openEuler_raspi.img 做的三个分区: -``` -/dev/mapper/loop0p1 /dev/mapper/loop0p2 /dev/mapper/loop0p3 -``` +`/dev/mapper/loop0p1 /dev/mapper/loop0p2 /dev/mapper/loop0p3` ### 格式化分区 @@ -499,9 +388,10 @@ add map loop0p3 ... ### 挂载根目录和 boot 分区 -`mount -t vfat -o uid=root,gid=root,umask=0000 /dev/mapper/loop0p1 ${WORKDIR}/boot/` - -`mount -t ext4 /dev/mapper/loop0p3 ${WORKDIR}/root/` +``` +mount -t vfat -o uid=root,gid=root,umask=0000 /dev/mapper/loop0p1 ${WORKDIR}/boot/ +mount -t ext4 /dev/mapper/loop0p3 ${WORKDIR}/root/ +``` ### 获取生成的 img 镜像的 blkid @@ -523,19 +413,17 @@ UUID=2785-C7C3 /boot vfat defaults,noatime 0 0 UUID=a451bee4-4384-48a2-8d5a-d09c2dd9a1a swap swap defaults,noatime 0 0 ``` -## rootfs 拷贝到镜像 +## rootfs 文件拷贝到镜像 `rsync -avHAXq ${WORKDIR}/rootfs/* ${WORKDIR}/root` -## boot 引导拷贝到镜像 +## boot 引导文件拷贝到镜像 -`cd ${WORKDIR}/firmware/boot` +`cp -a ${WORKDIR}/firmware/boot/* ${WORKDIR}/boot` -`tar cf ${WORKDIR}/boot.tar ./` +## 内核更新 -`cd ${WORKDIR}/boot` - -`tar xf ${WORKDIR}/boot.tar -C .` +内核更新过程请参考文档 [内核更新](./内核编译.md#内核更新)。该文档中 `${boot}` 和 `${rootfs}` 分别代表镜像文件的 `boot` 和 `root` 分区挂载路径 `${WORKDIR}/boot` 和 `${WORKDIR}/root`。 ## 卸载镜像 diff --git a/documents/raspberrypi/交叉编译内核.md b/documents/raspberrypi/交叉编译内核.md index 64da2e4..f44a516 100644 --- a/documents/raspberrypi/交叉编译内核.md +++ b/documents/raspberrypi/交叉编译内核.md @@ -4,19 +4,9 @@ - [实验环境](#实验环境) - [安装依赖软件](#安装依赖软件) - [编译](#编译) - - [下载内核源码](#下载内核源码) - - [进入内核源码](#进入内核源码) - - [切换分支](#切换分支) - [设置环境变量](#设置环境变量) - - [载入默认配置](#载入默认配置) - - [编译内核](#编译内核) - - [创建编译内核模块目录](#创建编译内核模块目录) - - [编译内核模块](#编译内核模块) - - [收集编译结果](#收集编译结果) + - [内核编译](#内核编译) - [验证内核可用性](#验证内核可用性) - - [将内核模块放进rootfs](#将内核模块放进rootfs) - - [将内核放进引导](#将内核放进引导) - - [将设备树文件放进引导](#将设备树文件放进引导) @@ -40,123 +30,22 @@ # 编译 -操作目录:${WORKDIR} - -## 下载内核源码 - -根据内核不同版本,需要下载不同仓库的不同分支: - -1. 6.6 内核 - - - openEuler 24.09:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b OLK-6.6 && cd raspberrypi-kernel` - - openEuler 24.03 LTS:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b OLK-6.6 && cd raspberrypi-kernel` - -2. 6.1 内核 - - - openEuler 23.03:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-23.03 && cd raspberrypi-kernel` - -3. 5.10 内核 - - - openEuler 22.03 LTS SP4:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b OLK-5.10 && cd raspberrypi-kernel` - - openEuler 22.03 LTS SP3:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b OLK-5.10 && cd raspberrypi-kernel` - - openEuler 22.03 LTS SP2:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-22.03-LTS-SP2 && cd raspberrypi-kernel` - - openEuler 22.03 LTS SP1:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-22.03-LTS-SP1 && cd raspberrypi-kernel` - - openEuler 22.09:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-22.09 && cd raspberrypi-kernel` - - openEuler 22.03 LTS:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-22.03-LTS && cd raspberrypi-kernel` - - openEuler 21.09:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-21.09 && cd raspberrypi-kernel` - - openEuler 21.03:`git clone git@gitee.com:openeuler/kernel.git -b openEuler-21.03 && cd kernel` - -4. 4.19 内核 - - - openEuler 20.03 LTS:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-20.03-LTS && cd raspberrypi-kernel` - - openEuler 20.09:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-20.09 && cd raspberrypi-kernel` - ## 设置环境变量 `export ARCH=arm64` `export CROSS_COMPILE=aarch64-linux-gnu-` -## 载入默认配置 - -根据内核不同版本,需要载入不同的默认配置: - -1. 6.6 内核 - - - openEuler 24.09:`make bcm2711_defconfig` - - openEuler 24.03 LTS:`make bcm2711_defconfig` - -2. 6.1 内核 - - - openEuler 23.03:`make bcm2711_defconfig` - -3. 5.10 内核 - - - openEuler 22.03 LTS SP4:`make bcm2711_defconfig` - - openEuler 22.03 LTS SP3:`make bcm2711_defconfig` - - openEuler 22.03 LTS SP2:`make bcm2711_defconfig` - - openEuler 22.03 LTS SP1:`make bcm2711_defconfig` - - openEuler 22.09:`make bcm2711_defconfig` - - openEuler 22.03 LTS:`make bcm2711_defconfig` - - openEuler 21.09:`make bcm2711_defconfig` - - openEuler 21.03:`make bcm2711_defconfig` - -4. 4.19 内核 - - - openEuler 20.03 LTS:`make openeuler-raspi_defconfig` - - openEuler 20.09:`make openeuler-raspi_defconfig` - -对应的 defconfig 文件在 ./arch/arm64/configs 下。 - -## 编译内核 - -`make -j9` - -## 创建编译内核模块目录 - -`mkdir ${WORKDIR}/output` - -## 编译内核模块 - -`make INSTALL_MOD_PATH=${WORKDIR}/output/ modules_install` - -在 ${WORKDIR}/output 文件夹下会生成 lib 文件夹。 - -## 收集编译结果 - -1. 内核 - - `cp ${WORKDIR}/raspberrypi-kernel/arch/arm64/boot/Image ${WORKDIR}/output/` - -2. 设备树文件等 - - `cp ${WORKDIR}/raspberrypi-kernel/arch/arm64/boot/dts/broadcom/*.dtb ${WORKDIR}/output/` - - `mkdir ${WORKDIR}/output/overlays` - - `cp ${WORKDIR}/raspberrypi-kernel/arch/arm64/boot/dts/overlays/*.dtb* ${WORKDIR}/output/overlays/` - -至此,所有内核及内核模块相关内容都在 ${WORKDIR}/output 下了。 +## 内核编译 +具体编译过程请参考文档 [内核编译](./内核编译.md#内核编译)。 # 验证内核可用性 -使用一个之前刷好 openEuler 树莓派镜像的 SD 卡,直接插到 Linux 主机上,SD 会默认挂载其 boot 分区和 根目录分区。这里其挂载路径分别表示为 ${boot} 和 ${rootfs},将上面编译好的内核放置到SD卡对应分区。 +使用一个之前刷好 openEuler 树莓派镜像的 SD 卡,直接插到 Linux 主机上,SD 会默认挂载其 `boot` 分区和 `root` 分区。这里其挂载路径分别表示为 `${boot}` 和 `${rootfs}`,将上面编译好的内核放置到SD卡对应分区。 -## 将内核模块放进rootfs - -`cp -r ${WORKDIR}/output/lib/modules ${rootfs}/lib/` - -## 将内核放进引导 - -`cp ${WORKDIR}/output/Image ${boot}/kernel8.img` - -## 将设备树文件放进引导 - -`cp ${WORKDIR}/output/*.dtb ${boot}/` - -`cp ${WORKDIR}/output/overlays/* ${boot}/overlays/` +内核更新过程请参考文档 [内核更新](./内核编译.md#内核更新)。 之后,参考 [树莓派使用](./树莓派使用.md) 使用该 SD 卡启用树莓派,验证功能: -![](images/验证内核.jpg) +![](images/验证内核.png) diff --git a/documents/raspberrypi/内核编译.md b/documents/raspberrypi/内核编译.md new file mode 100644 index 0000000..07afe38 --- /dev/null +++ b/documents/raspberrypi/内核编译.md @@ -0,0 +1,175 @@ + + +- [内核编译](#内核编译) + - [下载内核源码](#下载内核源码) + - [载入默认配置](#载入默认配置) + - [编译内核](#编译内核) + - [创建新内核收集目录](#创建新内核收集目录) + - [安装内核模块](#安装内核模块) + - [收集编译结果](#收集编译结果) +- [内核更新](#内核更新) + + + +# 内核编译 + +本文档介绍内核编译和更新的详细过程。操作目录:${WORKDIR} + +>![](../public_sys-resources/icon-notice.gif) **须知:** +>当前只有 6.6 版本的树莓派内核同时支持树莓派 5 和树莓派 3B/3B+/4B/400,其他内核版本只支持树莓派 3B/3B+/4B/400。 + +## 下载内核源码 + +根据内核不同版本,需要下载不同仓库的不同分支: + +1. 6.6 内核 + + - openEuler 24.09:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b OLK-6.6 && cd raspberrypi-kernel` + - openEuler 24.03 LTS:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b OLK-6.6 && cd raspberrypi-kernel` + +2. 6.1 内核 + + - openEuler 23.03:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-23.03 && cd raspberrypi-kernel` + +3. 5.10 内核 + + - openEuler 22.03 LTS SP4:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b OLK-5.10 && cd raspberrypi-kernel` + - openEuler 22.03 LTS SP3:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b OLK-5.10 && cd raspberrypi-kernel` + - openEuler 22.03 LTS SP2:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-22.03-LTS-SP2 && cd raspberrypi-kernel` + - openEuler 22.03 LTS SP1:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-22.03-LTS-SP1 && cd raspberrypi-kernel` + - openEuler 22.09:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-22.09 && cd raspberrypi-kernel` + - openEuler 22.03 LTS:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-22.03-LTS && cd raspberrypi-kernel` + - openEuler 21.09:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-21.09 && cd raspberrypi-kernel` + - openEuler 21.03:`git clone git@gitee.com:openeuler/kernel.git -b openEuler-21.03 && cd kernel` + +4. 4.19 内核 + + - openEuler 20.03 LTS:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-20.03-LTS && cd raspberrypi-kernel` + - openEuler 20.09:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-20.09 && cd raspberrypi-kernel` + +## 载入默认配置 + +根据内核不同版本,需要载入不同的默认配置: + +1. 6.6 内核 + + - openEuler 24.09:`make ARCH=arm64 bcm2711_defconfig` + - openEuler 24.03 LTS: + - 树莓派 5:`make ARCH=arm64 O=output/2712 bcm2712_defconfig` + - 树莓派 4B:`make ARCH=arm64 O=output/v8 bcm2711_defconfig` + +2. 6.1 内核 + + - openEuler 23.03:`make ARCH=arm64 bcm2711_defconfig` + +3. 5.10 内核 + + `make ARCH=arm64 bcm2711_defconfig` + +4. 4.19 内核 + + `make ARCH=arm64 openeuler-raspi_defconfig` + +对应的 defconfig 文件在 ./arch/arm64/configs 下。 + +## 编译内核 + + +- 6.6 内核 + - 树莓派 5:`make ARCH=arm64 -j$(nproc) O=output/2712 KERNELRELEASE=6.6-2712` + - 树莓派 4B:`make ARCH=arm64 -j$(nproc) O=output/v8 KERNELRELEASE=6.6-v8` + +- 6.1/5.10/4.19 内核:`make ARCH=arm64 -j$(nproc)` + +## 创建新内核收集目录 + +- 6.6 内核 + - 树莓派 5:`mkdir ${WORKDIR}/output-2712` + - 树莓派 4B:`mkdir ${WORKDIR}/output-v8` + +- 6.1/5.10/4.19 内核:`mkdir ${WORKDIR}/output` + +## 安装内核模块 + +- 6.6 内核 + - 树莓派 5:`make ARCH=arm64 -j$(nproc) INSTALL_MOD_PATH=${WORKDIR}/output-2712 modules_install KERNELRELEASE=6.6-2712` + - 树莓派 4B:`make ARCH=arm64 -j$(nproc) INSTALL_MOD_PATH=${WORKDIR}/output-v8 modules_install KERNELRELEASE=6.6-v8` + +- 6.1/5.10/4.19 内核:`make ARCH=arm64 -j$(nproc) INSTALL_MOD_PATH=${WORKDIR}/output modules_install` + +在 `${WORKDIR}/output-2712`、`${WORKDIR}/output-v8` 或 `${WORKDIR}/output` 文件夹下会生成 lib 文件夹。 + +## 收集编译结果 + +1. 内核 + + - 6.6 内核 + - 树莓派 5:`cp ${WORKDIR}/raspberrypi-kernel/output/2712/arch/arm64/boot/Image ${WORKDIR}/output-2712/` + - 树莓派 4B:`cp ${WORKDIR}/raspberrypi-kernel/output/v8/arch/arm64/boot/Image ${WORKDIR}/output-v8/` + - 6.1/5.10/4.19 内核:`cp ${WORKDIR}/raspberrypi-kernel/arch/arm64/boot/Image ${WORKDIR}/output/` + +2. 设备树文件等 + + - 6.6 内核 + - 树莓派 5: + ``` + cp ${WORKDIR}/raspberrypi-kernel/output/2712/arch/arm64/boot/dts/broadcom/*.dtb ${WORKDIR}/output-2712/ + mkdir ${WORKDIR}/output-2712/overlays + cp ${WORKDIR}/raspberrypi-kernel/output/2712/arch/arm64/boot/dts/overlays/*.dtb* ${WORKDIR}/output-2712/overlays/ + ``` + + - 树莓派 4B: + ``` + cp ${WORKDIR}/raspberrypi-kernel/output/v8/arch/arm64/boot/dts/broadcom/*.dtb ${WORKDIR}/output-v8/ + mkdir ${WORKDIR}/output-v8/overlays + cp ${WORKDIR}/raspberrypi-kernel/output/v8/arch/arm64/boot/dts/overlays/*.dtb* ${WORKDIR}/output-v8/overlays/ + ``` + + - 6.1/5.10/4.19 内核 + ``` + cp ${WORKDIR}/raspberrypi-kernel/arch/arm64/boot/dts/broadcom/*.dtb ${WORKDIR}/output/ + mkdir ${WORKDIR}/output/overlays + cp ${WORKDIR}/raspberrypi-kernel/arch/arm64/boot/dts/overlays/*.dtb* ${WORKDIR}/output/overlays/ + ``` + +至此,所有内核及内核模块相关内容都在 `${WORKDIR}/output-2712`、`${WORKDIR}/output-v8` 或 `${WORKDIR}/output` 下了。 + +# 内核更新 + +这里 `${boot}` 和 `${rootfs}` 分别表示待更新系统或镜像文件的 `boot` 和 `root` 分区的挂载目录。 + +1. 将内核放进引导 + + - 6.6 内核 + - 树莓派 5:`cp ${WORKDIR}/output-2712/Image ${boot}/kernel_2712.img` + - 树莓派 4B:`cp ${WORKDIR}/output-v8/Image ${boot}/kernel8.img` + + - 6.1/5.10/4.19 内核:`cp ${WORKDIR}/output/Image ${boot}/kernel8.img` + +2. 将设备树文件放进引导 + + - 6.6 内核 + - 树莓派 5: + ``` + cp ${WORKDIR}/output-2712/*.dtb ${boot}/ + cp -r ${WORKDIR}/output-2712/overlays ${boot}/ + ``` + - 树莓派 4B: + ``` + cp ${WORKDIR}/output-v8/*.dtb ${boot}/ + cp -r ${WORKDIR}/output-v8/overlays ${boot}/ + ``` + + - 6.1/5.10/4.19 内核 + ``` + cp ${WORKDIR}/output/*.dtb ${boot}/ + cp -r ${WORKDIR}/output/overlays ${boot}/ + ``` + +3. 将内核模块放进 rootfs + + - 6.6 内核 + - 树莓派 5:`cp -r ${WORKDIR}/output-2712/lib/modules/* ${rootfs}/lib/modules/` + - 树莓派 4B:`cp -r ${WORKDIR}/output-v8/lib/modules/* ${rootfs}/lib/modules/` + + - 6.1/5.10/4.19 内核:`cp -r ${WORKDIR}/output/lib/modules/* ${rootfs}/lib/modules/`