Ah, so you want Linux to have a usb cable coming from your Linux box, which when connected to another computer will act like a UMS (universal mass storage) device? Googling is tough because the much more common use of plugging a UMS device into linux swamps the hits.
You might have some luck asking the question in an embedded linux specialist group. The forums at
LinuxDevices is probably a good place to start. If you find something, please post a link in this thread - I'd like to know.
Virtual machines are programs which pretend to be computers. You can install operating systems "into" them and all sorts of similar stuff. Some emulate various bits of hardware, such as USB ports. Examples of x86 architecture virtual machines are vmware or qemu. If you want to prototype some hardware in software, using virtual machines might be one way to go, but unless you're really into the low level stuff it's probably not appropriate.