Linux
树莓派3B 采用Samba + Cockpit搭建NAS
Linux 修改开机启动 boot splash logos
Linux 下将 .po 文件编译成 .mo 文件
Python 使用 gettext 模块实现国际化
XFCE 桌面优化配置
香橙派3B 使用 WiringOP 读取 MPU6050
香橙派4 LTS 安装 WiringPi
Linux 图形界面切换到 FB 界面
校表仪 tg-timer 算法笔记
Linux 安装 EtherCat Igh
EetherCat Igh 常用指令
树莓派镜像 DIY 制作
树莓派5B 安装64位实时系统 preempt RT 补丁
linux 的 lightdm 桌面管理器下隐藏光标(鼠标)
Linux 上使用 MPD (Music Player Daemon)
Linux 自动化交互式命令行工具 —— expect
Linux GTK 界面开发
Debian系统中修改主机名
使用Python + GTK3.0 开发嵌入式GUI
Raspberry Pi 5修改系统内存分页大小解决安装esp-matter 出现的<jemalloc>: Unsupported systeom page size 错误
树莓派 linux 安装和使用clash 做VPN
树莓派自动挂载硬盘
非控制台或ssh登录用户尝试启动Xorg图形服务器
XFCE4 电源管理器配置管理
Linux PulseAudio 声卡配置和检测
IBUS修改输入法和设置切换快捷键
在 Moode Audio 中实现开机自动启动 `startx`
crontab 任务
树莓派外设耗电检测
linux 终端自动登录
linux创建新用户
linux service通过xinit启动GTK应用程序
Linux 非桌面的图形环境安装和配置
香橙派3b板载音频输出没有声音调试
使用 udev 规则修改权限实现屏幕亮度调节
Linux udev 介绍
鲁班猫4 ubuntu22.04 屏幕背光 udev 自动配置化
ubuntu22.04 动态壁纸配置
使用 udisksctl 的可靠 USB 自动挂载方案(基于 systemd-run)
通过udev规则U盘自动挂载
OpenWRT 磊科N60pro路由器刷机
本文档使用 MrDoc 发布
-
+
首页
树莓派镜像 DIY 制作
# 树莓派镜像 DIY 制作 1. 安装交叉编译环境 需要一个 `Ubunut18.04` 的64位的主机 或者直接在树莓派系统上进行编译; ``` apt-get update apt-get install -y bc build-essential gcc-aarch64-linux-gnu git unzip ``` 2. 获取树莓派内核源码 ```bash # 下载成功后,在当前目录下有一个 linux 的文件夹 git clone --depth=1 https://github.com/raspberrypi/linux --branch rpi-6.6.y ``` 获取树莓派官方 [img 文件](https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit) ```bash wget 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 ``` 3. 编译内核 ```bash # 进入到内核源码 cd linux # 生成配置 make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bcm2712_defconfig # 配置内核 make menuconfig # 编译内核 make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j8 ``` 4. 查看 `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 ``` 5. 挂在镜像分区到文件系统 ```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 ``` 6. 安装内核, 将编译好的内核以及设备树复制到系统中 ```bash cp linux/arch/arm64/boot/Image /mnt/boot/kernel8.img cp linux/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dtb /mnt/boot ``` 7. 安装内核模块 ```bash make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu INSTALL_MOD_PATH=/mnt modules_install ``` 8. 调整config.txt ```bash vim /mnt/boot/config.txt # 在最后加上 kernel=kernel8.img ``` 9. 卸载分区 ```bash umount /mnt/boot && umount /mnt ``` 10. 结束 可以将 `2024-10-22-raspios-bookworm-arm64-lite.img` 镜像通过 `Raspberry Pi Imager` 烧录工具制作系统启动的 SD 卡。
qingkai
2024年12月27日 09:42
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码