I'm working with a legacy embedded system that uses a USB thumb drive to bootload new firmware. The system powers up, mounts the drive, loads code, etc. All is happy.

I'm looking to reuse this platform to use for multiple products and I'd like a way to keep the factory line from having to juggle thumbdrives and remember which one is the right load for the right device. The device's bootloader is very skeleton and can't be configured with a type ahead of time (so it could pick the correct file off the thumb drive).

Using one of those magic USB A-to-A adatpers and a cheap Linux laptop (or PC running Vbox), is there some way I can make the laptop look like a thumbdrive to something plugged into it?

  • \$\begingroup\$ Are your sure that the laptop will make things less messy? It's easier to pick the wrong file on the laptop than to pick a wrong thumb drive (especially if the thumb drives are clearly labeled, color-coded, physically controller). YMMV. \$\endgroup\$ Dec 5, 2012 at 2:10
  • \$\begingroup\$ @NickAlexeev - I would imagine that the problem with thumbdrives is that managing a lot of thumbdrives is much more of a pain then managing a bunch of files. \$\endgroup\$ Dec 5, 2012 at 7:55
  • 1
    \$\begingroup\$ With the laptop, I can write a simple GUI for the factory line that will run the show. There will also probably be a barcode reader that scans the serial # of the device, chooses the appropriate firmware load, and then presents the correct virtual-thumbdrive for the device to load. It's the simplest way I can think to make this process easy for semi-skilled assembly staff. \$\endgroup\$
    – zydeco100
    Dec 5, 2012 at 14:46

1 Answer 1


Many embedded linux boards and possibly some laptops can be configured to do this (as can Android devices)

USB devices that act like external hard drives or flash drives implement the USB Mass storage class

You need a board or device that has a USB On-The-Go compatible USB port . Here's an example of a suitable linux board that should give you some pointers.

You will need to write the software to select and present your disk images to the system.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.