I like YUMI as it allows me to build a multiboot USB drive easily. The problem with it is that the main UI runs best under Windows, and I do not have any Windows machines in my office.
However, at our NOC, we have several Windows virtuals, some of which we use internally, so we can use one of those. How to attach a USB Thumbdrive on my workstation to the remote virtual was an interesting problem. I finally came up with one solution: Create a virtual disk image, mount it as a USB Drive on the Windows virtual, do all the work, then use DD to copy the disk image to the the thumbdrive plugged into my physical machine.
fdisk -l /dev/usbdrive
On my “32 Gig” drive, this returned 32015679488
I'll use saffron as the name of the virtual, and usbthumbdrive as the name of the block device to create. Adjust to your system.
lvcreate -l 7633 /dev/vg-md0/usbthumbdrive
In my case, I want to compress the image before copying it to my office over the internet. To facilitate that, I'll fill all the space on the drive with 0's so when I run bzip2 later, the free space will be very compressible. Instead of just sitting and wondering when it will be done, I'll use the pv command to monitor (you can use status=progress on current versions of dd instead) pv will slow the copy a bit, but that is not significant to me in this case.
dd if=/dev/zero | pv -petrs 29G | of=/dev/vg-md0/usbthumbdrive
Determine an available block name on the virtual by entering the command:
virsh domblklist saffron
On mine, hdb was available. Mount the drive, using the USB bus, to the running virtual.
virsh attach-disk saffron --targetbus usb --source /dev/vg-md0/usbthumbdrive --target hdb --live
Connect to your Windows virtual and format the drive for use
Control Panel | Administrative Tools | Computer Management | Storage | Disk Management Find and format the drive. I use FAT32 normally because YUMI will reformat anyway
Start YUMI and point it to new drive. Do your installs eject thumbdrive
Detach the block device from the virtual.
virsh detach-disk saffron hdb
As previously stated, I want to transfer this, so I'll use pbzip2 to compress it before doing anything. Again, I like to see what is going on, so I'll use pv to monitor the progress
dd if=/dev/vg-md0/usbthumbdrive | pv -petrs 29G | pbzip2 -c > usbthumbdrive.29G.bz2
By blanking the drive before use, and then bzipping it, I turn a 29G empty install into a 2G file. If you have some good installers with compressed images already (Debian, BSD), this is not worth the effort, however.