Burning a USB drive with VMware ISO file

Dear Guys,

I just entered the IOT area and have to migrate an environment from vmware vsphere 5.1 to 5.5 for support. Problem is that I work in mac environment and now am learning how to use terminal after 30 years staying away from it (Unix 5.3). Trying to copy an ISO file downloaded from vmware.com to a USB disk was daunting. I downloaded etcher because I am moving a PLC and Java project programmed the old way from under windows 7 on VMware to a Java environment - in other world upgrading my industrial IOT to modern supportable IIOT. Thats why I am here. The Balena open source not world looks good. The etcher was a plus.

Problem I have now is that I have to create lots of different bootable OS’s on usb to help migrate our code from Win7 in Vmware 5.1 to Win10 in Vmware 5.5 then to 6., RasberriPi 2 to rasberriPi 3, Win 7 to Win 10. SO I ma building a lot of usb and sd cards. I may have experience 30 years ago burning images and editing them. the media and layouts are so different.

Will using BalenaEtcher to flash ISO images on other OS’s work. Ima getting error messages that the USB is not formatted in way to accept ISO image.

Oldie and inexperienced newby

Hi @nicksassow

This question comes up a lot as it’s not obvious when you’re starting out. Etcher does a great job of putting exactly what it’s told onto a SD card, flash drive or other device. The image file you flash can contain filesystems that are not readable by the OS that you’re using to actually carry out the flashing process. For example, you can flash a Linux installer image to a card using Etcher running on Windows. Assuming the image was valid, this card will work perfectly to install Linux and be readable on Linux computers, but Windows is not able to read Linux filesystems so your card can appear ‘broken’ after flashing and give error messages about being ‘unreadable’ or requiring formatting.

However, that being said, Etcher does not currently support burning/creating Windows installer devices. See this GitHub issue for more information: https://github.com/balena-io/etcher/issues/210

so its like dd under Unix console or Macos terminal. The version of dd I learned is 30 years old with an update 20 years ago for Solaris. I wanted a visual tool cause I have fatfingers and I type with 2 fingers in 6 languages. Thought I could do it with Etcher, Failed then used UNetbootin and stepped on my archive Lacie drive as it was in adjacent USB port to the HP USB card. Now have a recovery issue - another story due to rushing around.

Image is Valid Vmware image - I then failed in getting HP Proliant 8 with ILO4 to boot properly. Learned from HP there is another secret way to load an ISO to USB so the HP boots correctly. Frustrating - so it is pushing me to open hardware architecture and open source code that is examinable, but is compiled to maintain function and security. ARgh!!! - - - -

In my old age I have become happier with apps and graphics that transcend command line as the syntax changes over the years. Like french italian spanish portugese romanian, ladino all came from Roman Latin. I just like simple tools because I like to branch to new things like iIOT to manage smelly bugs and not worry that tools I use are evolving to make me obsolete. I do not like reinventing the wheel, redesigning is okay, reinventing is not.

Thank you for your honest response. How does etcher tool evolve?

Hello! Could you share what the secret way to load an ISO to a USB was? I’m trying to flash BalenaOS onto an HP Proliant server and the server isn’t booting properly, so I wonder if that secret method might be the key to getting it working.

@felices this is the method you should try:

Your server should appear in your balenaCloud app/dashboard shortly.

If it doesn’t, try doing to same with the development variant on balenaOS so you can SSH in and see what’s going on. If you can see the OS booting but are unable to get network connectivity (ping), it would suggest the NIC in the proliant isn’t part of the NICs supported by the packaged kernel modules, in which case you’ll need to build one manually and create a custom version of the OS. Some examples here.

@nicksassow Etcher will generate bootable Linux and macOS (from DMG) USB sticks, but it won’t be useful for Windows. If you’d like to create a bootable Windows USB stick from an ISO from Microsoft site, you can use something like this on macOS:

    brew install wimlib

    image_file=windows10.iso

    mount=$(hdiutil mount ${image_file} | awk '{print $2'})

    # assuming USB is (probably) on /dev/disk2
    usb_disk=$(diskutil list | grep external | head -n 1 | awk '{print $1}')

    diskutil eraseDisk MS-DOS "WINDOWS10" MBR ${usb_disk}

    rsync -avh --progress --exclude=sources/install.wim ${mount}/ /Volumes/WINDOWS10

    wimlib-imagex split ${mount}/sources/install.wim /Volumes/WINDOWS10/sources/install.swm 3800

    hdiutil eject /Volumes/WINDOWS10

    hdiutil eject ${mount}

On Linux, the same process looks like this:

    apt-get install wimtools dosfstools

    tmprefix=/tmp

    srcmnt=$(mktemp -d -p ${tmprefix})

    tmpdata=$(mktemp -d -p ${tmprefix})

    mount -o loop ${image_file} ${srcmnt}

    cp -rT ${srcmnt} ${tmpdata}

    pushd ${tmpdata}

    wimlib-imagex optimize install.wim --solid

    tmpimg=$(mktemp -p ${tmprefix})

    dstmnt=$(mktemp -d -p ${tmprefix})

    fallocate -l (( $(stat -c %s ${image_file}) )) ${tmpimg}

    mount -t auto -o loop ${tmpimg} ${dstmnt}

    # create GPT and partition
    gdisk ${dstmnt}

    mkfs.vfat ${dstmnt}

    mount /dev/loop0 ${dstmnt}

    cp -rT ${srcmnt} ${dstmnt}

    umount ${srcmnt} && umount ${dstmnt}

    popd

    # write (dd) $tmpimg to a suitable block device

If you are doing this on Windows, then it’s much simpler:

* mount the ISO image
* format USB drive with NTFS file system
* copy the files from ISO mount point to the USB