树莓派俱乐部 树莓派俱乐部
  • 首页
  • 树莓派
  • OpenWrt
  • Python
  • Linux
  • 注册 登录
立即登录
0文章
0评论
0获赞
  • 首页
  • 树莓派
  • OpenWrt
  • Python
  • Linux
主页 › Linux › 如何构建树莓派64位系统(5)把文件放入镜像
#Linux#

如何构建树莓派64位系统(5)把文件放入镜像

11月前
879 0 3

我们知道,不同分区中的文件有着各自的作用,在我们介绍的使用UEFI启动系统中,我们将第一分区存放UEFI启动文件和树莓派的bootloader以及内核设备树,第二分区存放内核和启动配置,第三分区则存放根目录,当然,如果想两个分区搞定也可以。

创建映射

kpartx -av debian.img

首先挂载第一分区

mkdir boot
mount /dev/mapper/loop0p1 boot
mkdir boot/EFI-BOOT

然后把bootloader放进去

mv root/boot/*dat boot/EFI-BOOT
mv root/boot/*elf boot/EFI-BOOT
mv root/boot/bootcode.bin boot/EFI-BOOT

这里的root/boot是我们在内核编译中讲到直接解压官方内核的位置

然后是内核设备树

mv $BOOTPATH/*dtb $TARGETBOOT/EFI-BOOT

接着是overlays

mv root/boot/overlays boot

然后是uefi文件

uefi
wget https://github.com/chainsx/cxcore/raw/master/files/EFI-boot.tar.gz
tar -zxvf EFI-boot.tar.gz -C boot/EFI-BOOT

这里就是我们针对树莓派打包好的uefi文件,uefi启动并不是靠一个RPi_EFI.fd就完了,更不是把这个文件扔到boot分区就完了的事,这里提供了uefi启动所需的文件进行打包。

然后把我们制作的初始化根目录放进来

mv noobs/* boot

这里需要解释一下,第一次启动时因为使用的noobs的启动方式,所以把noobs的启动文件放在最外面,等第一次扩容等操作完成后我们编译的初始化根目录就自行清除并把UEFI移动出来。。

同步

sync

卸载第一分区

umount boot

挂载第二分区

mkdir kernel
mount /dev/mapper/loop0p2 kernel

移动内核到第二分区

mv root/boot/kernel8.img kernel/vmlinuz

然后是uefi配置文件

uefi配置文件
wget https://github.com/chainsx/cxcore/raw/master/files/EFI-root.tar.gz
tar -zxvf EFI-root.tar.gz -C kernel

配置文件是kernel/grub/debian/grub.cfg,里面就包括了cmdline

同步

sync

卸载第二分区

umount kernel

挂载第三分区

mkdir rootfs
mount /dev/mapper/loop0p3 rootfs

复制根目录

cp -rfp root/* rootfs

这个要等一会了

完成之后同步

sync

卸载

umount rootfs

取消映射

kpartx -d debian.img

这样,一个可以刷入的支持uefi和f2fs文件系统还带初始化根目录的镜像就制作完成了,你就可以刷入了。

我这里也只是简略地给大家分享了一下如何制作一个简单的树莓派64位系统,这也是cxcore的制作过程,所有脚本开源,你可以在https://github.com/chainsx/cxcore上看到。

授人以鱼不如授人以渔,我以前做系统时只是将做好的镜像发布出来供大家下载,但是不曾想到这样就让大家失去了树莓派玩机的乐趣,你如果自行制作系统的话,你不仅可以根据自己的喜好高度定制,而且还能感受树莓派的乐趣。

3
等 3 人赞过
# 64位# UEFI# 树莓派# 系统构建
相关文章
树莓派4B安装Windows10桌面版
在树莓派上使用RaspAP开启热点
树莓派3B Windows 10桌面版安装GPU驱动
树莓派3B安装Windows10桌面版
评论 (0)
再想想
    chainsx网站编辑
    嗷?
    23文章 16评论 132获赞
    每日快讯
    树莓派俱乐部今天备案成功搬回国内
    1年前
    网站稳定运行了将近一年的时间,期间域名没有完成备案,其他几个管理包括我在内由于时间问题并没有积极的维护网站,为了更好服务大家,经过商量后决定将域名备案 ...[阅读全文]
    更多
    文章聚合
    如何构建树莓派64位系统(4)制作镜像
    11月前
    修改树莓派 OpenWrt 固件源代码默认时区
    2年前
    如何构建树莓派64位系统(3)编译初始化根目录(非必要)
    11月前
    如何在 Raspberry Pi 上安装 Apache 和 PHP
    1年前
    CentOS 8 时间同步和如何关闭防火墙
    1年前
    • 首页
    Copyright © 2018-2021 树莓派俱乐部. Designed by nicetheme. 蜀ICP备19024445号-2