在 VisionFive2 上如何更快的向 nvme 硬盘安装操作系统
本文介绍了一种不将系统镜像写入 sd 卡也不使用硬盘盒向 nvme 硬盘刷写系统的方法
一般来说向 nvme 硬盘安装操作系统的一个快捷方法是使用硬盘盒,在另一台机器上完成操作系统的刷写。
但是为了避免频繁拆卸 nvme 硬盘,我们可以采取更优的方式,我们可以先启动到 sd 卡里的操作系统,然后向 nvme 磁盘里写入镜像。容易想到的是我们可以下载系统镜像到 sd 卡,然后再使用 dd 命令将镜像刷入到 nvme 硬盘中。但是这个方法需要先在 sd 卡上下载完整的镜像文件,而 sd 卡的写入速度感人。或者大家可能想到了先将镜像写入到内存中可以避免文件落盘,但一般来说系统镜像的文件大小是大于 VisionFive2 的内存大小的,所以下面介绍一种利用另一台计算机和 nc 工具的方式,系统镜像不必再下载到到 sd 卡,向 nvme 磁盘写入镜像的过程也不会占用太多内存。
一. 工作准备
-
在 sd 卡中安装操作系统
可以参考 :在 VisionFive2上安装 openEuler RISC-V 操作系统
-
配置网络从而可以访问另一台计算机
一般的,另一台计算机和 VisionFive2 接入同一个局域网即可
-
在另一台计算机上下载并解压需要刷入的镜像
此处以 openEuler-22.03-V2-xfce 为例
二. 安装依赖工具
后续操作需要使用 nc 命令,在 openEuler 上 nc 命令在 nmap 软件包中,其他发行版请自行查阅文档安装。
启动 VisionFive2 sd 卡中的系统并使用 ssh 连入,执行以下命令安装 nmap
sudo dnf install nmap -y
如图
三. 向 nvme 硬盘写入系统
首先需要确定目标硬盘,在 VisonFive2 上执行 lsblk
可以看到我们的目标磁盘为 nvme0n1
使用 root 用户执行以下命令准备刷入镜像
nc -l 19000|dd bs=16M of=/dev/nvme0n1
在另一台计算机上执行以下命令以发送镜像文件
dd bs=16M if=/path/to/img_file | nc vf2.addr 19000
其中 /path/to/img_file 需要替换为需要刷入镜像的地址,vf2.addr 需要替换为 VisionFive2 的 ip 地址
这样就可以在不将系统镜像写入 sd 卡也不使用硬盘盒的情况下向 nvme 硬盘刷写系统,如下图。
现在只需要等待命令完成就可以了。
|