What internal command does balenaEtcher use?

balenaEtcher seems like a great piece of software. I’m curious what command/software does it use internally? The Linux build specifically.

Would the result of an Etcher ISO burn be bit for bit identical to me using the following command on Linux?

dd if=/home/user/dvdimage.iso of=/dev/sd* && sync

Or would an Etcher made image potentially work when an image made with the dd command would not?

Thanks for your time.

Hey @adrian_au welcome to the forums. Etcher does not rely on any underlying command or software; all the block-level writing is implemented in the Etcher SDK: https://github.com/balena-io-modules/etcher-sdk

The reason for this is to provide a true cross-platform experience; it uses the same code to flash on Windows as it does on Linux. It also employs some techniques which make it faster than dd in a lot of use cases.

I’ll ping my colleague @mcraa who is far more deeply involved and may be able to answer any more in-depth questions you might have.

Hey @adrian_au, @chrisys is completely right.
For your other question, balenaEtcher does not add or remove anything during flashing currently, so if it is not working with dd it won’t be different (just completed faster) with etcher.