balenaEtcher的轻量化替代品USBImager

Posted Neutionwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了balenaEtcher的轻量化替代品USBImager相关的知识,希望对你有一定的参考价值。

以前将操作系统镜像闪存到SD卡的常用指令是“dd”。但由于它在写入固件镜像后没有进行验证的过程,所以经常可能会因用了一个错误的指令而导致损坏了系统。而且它在Windows中也是不可用的,所以人们就只能使用Win32DiskImager磁盘镜像工具,之前我使用该工具检查时也没有进行验证的过程。

因此Etcher(现在被称为balenaEtcher)就逐渐成为了一个广泛使用的跨操作系统工具。它可以为树莓派和其他SBC闪存镜像。

另外,balenaEtcher更易于使用,且在闪存后可以进行验证。不过,它的二进制格式文件非常大,约为130MB,而且现在已经开始出现赞助商来资助该程序的开发了,但也并不是每个人都喜欢这种方式

我在评测CrowPi2 Raspberry Pi 4笔记本电脑的过程中,也遇到了balenaEtcher的问题。虽然当我将该程序更新到最新版本后,这个问题就得到解决了,但还是有很多评论者指出,现在有一些更好的工具,比如USBImager就是一个轻量化的跨平台工具,而且具有和balenaEtcher许多相同的功能。

USBImager是开源的(有MIT的许可)、仅占用大约256KB的存储空间,而它还支持验证和多种文件压缩(gz、bz2、xz、zip等格式)。

下表是我对USBImager、balenaEtcher和Win32DIskImager程序工具进行的一个对比。

你们可以在Gitlab上找到适用于 Windows、Linux、Mac OS和Raspberry Pi的源代码和二进制镜像。

这看起来就很不错,所以我立马在Ubuntu 20.04上尝试了最新的版本:

文件大小确实是256KB:

由于Debian软件包中还有其他文件(如联机帮助页和图标),因此总大小比预想的稍大一点,但总大小仍然是低于300KB的。

正式启动程序时,大家可以看到用户界面非常基础和简洁,主要包括浏览文件按钮、读写按钮、用于选择驱动器的下拉列表和用于启用Verify和Compress的复选框、从1MB到512MB缓冲区大小的调节选项以及进度条等。

USBImager 用户界面

让我们将窗口放大一点,从Raspberry Pi 4中取出一张MicroSD卡,插入我的电脑中。于是,测试启用Compress的读取功能。

USBImager操作界面

测试启用Compress的读取功能后,就会创建出一个bz2格式的压缩文件并保存到桌面。我在点击Read之前选择了将文件保存到另一个目录里,但程序忽略了这个选择,仍默认将文件将保存到了桌面。这也没关系,我之后可以随时移动文件,该程序完成这项工作的用时大约是33分钟。

接着,我尝试用7z格式闪存镜像压缩文件。但是没有起作用,这是因为USBImager只支持.gz、.bz2、.xz和.zip格式的压缩文件。因此,我只闪存了未压缩的镜像,效果还是很好的。

USBImager操作界面

我有一个2TB的USB3.0移动硬盘,把它连接到我的笔记本电脑上之后,USBImager也能正确地识别出它,只是显示形式是一个较小的可移动驱动器。如果你还想了解更多的选项,比如通过串口将镜像闪存到微控制器上的性能以及了解如何从源文件上创建程序等,你可以通过查看用户手册了解更多信息。

以上是关于balenaEtcher的轻量化替代品USBImager的主要内容,如果未能解决你的问题,请参考以下文章

打造淘宝极简包的轻量化框架

汽车前端框架FEM仪表板横梁CCB的轻量化技术

基于 Jenkins 实现的轻量化自动化测试运行框架

技术前沿 | 汽车前端框架FEM仪表板横梁CCB的轻量化技术

快速入门系列--WebAPI--01基础

Docker vs.Rocket vs.Odin:容器技术终极比拼