Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I'm wondering if anyone knows of a CDROM emulator that runs on Linux. I want to emulate this configuration:

[CDROM DRIVE]----USB CABLE----[COMPUTER UNDER TEST]

Where [COMPUTER UNDER TEST] is a computer that boots from a physical CD inserted into the [CDROM DRIVE]. Only instead of the [CDROM DRIVE] I want the following configuration:

[CD IMAGE BUILD MACHINE]-----USB CABLE-----[COMPUTER UNDER TEST].

I want to build an ISO image on the [CD IMAGE BUILD MACHINE] and have some sort of USB CDROM emulator running on it to serve up the ISO image to the [COMPUTER UNDER TEST] as though it was talking to the [CDROM DRIVE]. Does this exist? If it does, I can't find it.

I want to do this so I can test out bootable CDs without burning a lot of coasters.

share|improve this question

migrated from stackoverflow.com Feb 18 '10 at 20:00

This question came from our site for professional and enthusiast programmers.

    
Do you want to connect 2 physical machines or you just want to test cdrom image bootability? I use qemu -hda image to test bootability of hard drive image. So try to use qemu -cdrom image.iso. –  osgx Feb 18 '10 at 19:11
    
I want to connect two physical machines. The [COMPUTER UNDER TEST] has some specialized hardware that I can't emulate with QEMU or any other emulator. –  JohnnyLambada Feb 18 '10 at 19:16
2  
Can you use PXEBOOT for booting? Is it critical to you to simulate CD drive? Can you use fast flash-drive or usb/sata-hdd (sata for "burning" and usb to booting)? –  osgx Feb 18 '10 at 19:22
1  
PXEBOOT might be an option -- I'd have to change the build process of the CDROM (Android-X86), but it's probably the best alternative if the USB-USB doesn't pan out. –  JohnnyLambada Feb 18 '10 at 19:28
add comment

3 Answers

up vote 2 down vote accepted

You can connect to PCs via usb using special bridge: http://www.hardwaresecrets.com/printpage/248

The bridge shown can be used as network card emulator, network mode (each pc will have new network card and they will be "connected" like crossover)

In the link mode bridge allows to send files.

I don't know about usb storage bridges. (USB mass-storage device class, usb Cdroms use this usb class)

ps. bridges does work with ordinary USB interfaces, without usb on-the-go

share|improve this answer
    
bridge used in the cable is pl-2501. There is page about it prolific.com.tw/eng/Products.asp?ID=18 –  osgx Feb 18 '10 at 19:08
    
another chips are: AnchorChips 2720 Belkin F5U104 GeneSys GL-620USB-A Laplink Gold NetChip 1080 Prolific PL2301/2302 Xircom PGUNET (driver usbnet in linux); panram PR7001 –  osgx Feb 18 '10 at 19:24
    
hmm. what about usb-to-scsi (or may be firewire??) connectors? Some scsi host adapters (especially found in macintoshes) can be used in Target Disk Mode/SCSI Disk Mode operation. en.wikipedia.org/wiki/Target_Disk_Mode –  osgx Feb 18 '10 at 19:29
1  
One of the computers would have to have an USB-OTG port for this idea to start to work. I'm not sure about the state of Linux OTG drivers, but my knee-jerk reaction is that the driver to make it look like a CD-ROM drive doesn't exist. –  Chris S Feb 18 '10 at 22:02
    
Sounds like the answer is... as of now it's not something that people do much. Off to PXEBOOT-land for me. Thanks, all. –  JohnnyLambada Feb 18 '10 at 22:36
add comment

Look at the loopback filesystem mount...

share|improve this answer
    
Thanks, Tom -- I'm pretty familiar with mount -o loop, and this is not what I want to do. I tried to make that clear in my question -- how could I have made that more clear? –  JohnnyLambada Feb 18 '10 at 19:18
add comment

There is an android app called DriveDroid that can do it (if you recompile the kernel with a patch)

Here is the xda thread http://forum.xda-developers.com/showthread.php?t=2196707

The cdrom emulation patch is in modern cm10.1 kernels anyway, it just needs an extra patch to let drivedroid switch to cd-mode.

This sort of capability has long since found its way into standard linux kernel source, but your computer would have to have some sort of USB OTG chip which would let it pretend to be a device. More details here http://www.armadeus.com/wiki/index.php?title=USB_Gadget

share|improve this answer
    
Welcome to Super User! Generally we like answers on the site to be able to stand on their own - Links are great, but if that link ever breaks the answer should have enough information to still be helpful. Please consider editing your answer to include more detail. See the FAQ for more info. –  slm Apr 13 '13 at 13:06
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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