Etcher: Now with multi-write and Compute Module support!

We’re more than pleased to announce the release of Etcher 1.4.3- probably the most exciting release of Etcher since its initial launch two years ago. To understand why this release is so exciting- take a look at this picture: What you see here is Etcher flashing multiple instances of the Project Fin [https://resin.io/blog/introducing-project-fin-a-board-for-fleet-owners/] board. That…

We’re more than pleased to announce the release of Etcher 1.4.3, probably the most exciting release of Etcher since its initial launch two years ago. To understand why this release is so exciting, take a look at this picture:

What you see here is Etcher flashing multiple instances of the Project Fin board. That sounds like a couple of things Etcher isn’t supposed to be able to do. So what’s going on?

For one, Etcher 1.4.3 is the first release to support writing to multiple targets at the same time. We consider this a natural next step in resin.io‘s mission to support device fleet owners by removing obstacles from their path in any way we can. It also moves us one step closer to the release of EtcherPro.

But wait, there’s more!

This release is also the first to support flashing Raspberry Pi Compute Module devices directly, without an intermediate SD card. And putting these two new features together means you can flash multiple Raspberry Pi Compute Module devices at the same time.

Let’s take a closer look:

Flash multiple drives at once

If you connect more than one USB stick or SD card to your computer, run Etcher, and select them all in the drive selection modal, Etcher will simultaneously flash the lot of them. We’ve experimented with 16 drives at once, and Etcher happily complies! As always, we will continue to improve performance, with a focus on speed of validation.

Flash Raspberry Pi Compute Module devices directly

We’ve been working on this feature for some time, and it is now fully usable and cross-platform. If you connect your laptop to a Compute Module device—like the Compute Module I/O board, or our very own Project Fin board (for the lucky few that have one in their hands)—Etcher will recognize it, initialize it, and flash it with your selected image. Note: To use this feature on Linux, you’ll need to run Etcher as an administrator. We’re still working on making this feature easier to use, but it’s good enough for an initial release to the world!

If you’d like the technical details, the way Etcher does this is kind of amazing. Etcher now packs a small Linux kernel that is passed to the Compute Module, once it is detected. That kernel boots the device up and exposes it as a USB mass storage device, which Etcher can flash. We’ve essentially reimplemented the approach used by the Raspberry Pi foundation with their tool, usbboot, but in such a way that we can hit much higher speeds—up to 20 MB/s. We are working to add more device types to the ones supported directly by Etcher, making the experience easier for everyone.

Most reliable release ever

Since Friday, we’ve been looking at our error logs to see how the new release is performing. We’re incredibly happy to see that our key metric of “errors per flash” is down to 5.5%, from a previous level of about 7%. Making a flasher that works across platforms is hard, and you can’t imagine the crazy bugs we’ve had to fix for some of these platforms, (cough Windows 7, are you listening? cough). We’re still committed to getting that number as close to zero as possible, but we’re happy that this release is back to being the best we’ve ever put out, meaning the new flash engine we released in version 1.3 is now rock solid.

One more thing…

By the way, for Windows and Linux users, the Compute Module support also works for the Raspberry Pi Zero and Raspberry Pi Zero W! You no longer need to use a separate SD card adapter to flash your SD card before you put it into your Raspberry Pi Zero. Now, you can put the blank SD card in your Raspberry Pi Zero, connect the device to your computer, start Etcher, and flash.

A few items of note:

  • Due to the nature of the Raspberry Pi bootloader, this will only work if the SD card is empty, or at least non-bootable.
  • Unfortunately, due to some bugs with the OSX USB subsystem, the Raspberry Pi Zero is not detected on Mac and can’t be flashed by Etcher.
  • To use this feature on Linux, you’ll have to run Etcher as an administrator (until we can rewire our elevation system).

What’s next?

Over the next few months, we’ll be working to polish these new features, fix experience issues, make the process more consistent across operating systems, and improve overall performance, all while keeping an eye out for any new errors that are reported to us. At the same time, we’ll continue work on a slew of small new features that will make it possible for Etcher to run with dedicated hardware, getting it ready for EtcherPro. As usual, these features will find their way to Etcher, making it better for everyone, while remaining free and open source as always.

If aren’t already using Etcher, it only takes a single click to download, and you can begin flashing multiple drives in minutes!


Posted

in

Tags: