-
安装交叉编译环境
需要一个
Ubunut18.04
的64位的主机 或者直接在树莓派系统上进行编译;apt-get update apt-get install -y bc build-essential gcc-aarch64-linux-gnu git unzip
-
获取树莓派内核源码
bash# 下载成功后,在当前目录下有一个 linux 的文件夹 git clone --depth=1 https://github.com/raspberrypi/linux --branch rpi-6.6.y
获取树莓派官方 img 文件
bashwget https://downloads.raspberrypi.com/raspios_lite_arm64/images/raspios_lite_arm64-2024-10-28/2024-10-22-raspios-bookworm-arm64-lite.img.xz
解压
2024-10-22-raspios-bookworm-arm64-lite.img.xz
bash# 安装解压工具 sudo apt-get install xz-utils # 解压 xz --decompress --stdout 2024-10-22-raspios-bookworm-arm64-lite.img.xz > 2024-10-22-raspios-bookworm-arm64-lite.img
-
编译内核
bash# 进入到内核源码 cd linux # 生成配置 make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bcm2712_defconfig # 配置内核 make menuconfig # 编译内核 make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j8
-
查看
2024-10-22-raspios-bookworm-arm64-lite.img
bash# fdisk -l 2024-10-22-raspios-bookworm-arm64-lite.img Disk 2024-10-22-raspios-bookworm-arm64-lite.img: 2.67 GiB, 2864709632 bytes, 5595136 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x385cce61 Device Boot Start End Sectors Size Id Type 2024-10-22-raspios-bookworm-arm64-lite.img1 8192 1056767 1048576 512M c W95 FAT32 (LBA) 2024-10-22-raspios-bookworm-arm64-lite.img2 1056768 5595135 4538368 2.2G 83 Linux
-
挂在镜像分区到文件系统
bash# 根分区 # offset: 541065216 = 512*1056768 sector size:512 bytes 起始地址:1056768 mount -o loop,offset=541065216 2024-10-22-raspios-bookworm-arm64-lite.img /mnt # 启动分区 # offset: 4194304 = 512*8192,sizelimit:536870912 = 512*1048576 mount -o loop,offset=4194304,sizelimit=536870912 2024-10-22-raspios-bookworm-arm64-lite.img /mnt/boot
-
安装内核, 将编译好的内核以及设备树复制到系统中
bashcp linux/arch/arm64/boot/Image /mnt/boot/kernel8.img cp linux/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dtb /mnt/boot
-
安装内核模块
bashmake ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu INSTALL_MOD_PATH=/mnt modules_install
-
调整config.txt
bashvim /mnt/boot/config.txt # 在最后加上 kernel=kernel8.img
-
卸载分区
bashumount /mnt/boot && umount /mnt
-
结束
可以将
2024-10-22-raspios-bookworm-arm64-lite.img
镜像通过Raspberry Pi Imager
烧录工具制作系统启动的 SD 卡。
树莓派镜像 DIY 制作
楚轩QK2024-11-20 21:39
相关推荐
懒羊羊大王呀13 分钟前
Ubuntu20.04中 Redis 的安装和配置杰哥技术分享32 分钟前
在 CentOS 上安装 Docker 和 Docker Compose 并配置使用国内镜像源知更鸟呆呆36 分钟前
【Linux操作系统】基础开发工具(yum、vim、gcc/g++)xiangyong5837 分钟前
ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]t198751282 小时前
Linux 上的 Tomcat 端口占用排查小狗爱吃黄桃罐头2 小时前
正点原子[第三期]Arm(iMX6U)Linux移植学习笔记-12.1 Linux内核启动流程简介地衣君3 小时前
Ubuntu 配置使用 zsh + 插件配置 + oh-my-zsh 美化过程2401_858286113 小时前
OS11.【Linux】vim文本编辑器朱包林3 小时前
day27-shell编程(自动化)kaede3 小时前
Linux实现线程同步的方式有哪些?