HTC Incredible Virtual CD-ROM Hack

Header

The official HTC Incredible 2.2 update added a new feature to the ROM. When the phone is connected to a computer via USB, even if the memory card is not mounted, it will act as a virtual CD-ROM. It basically just acts as a CR-ROM drive with the disk image found in /system/etc/CDROM.ISO. The default ISO was some annoying Verizon thing. Most (rooted) users simply deleted the ISO from their system. I however found a way to make this feature a bit more useful.

Enabling and Disabling the CD-ROM the Right Way

The first way most people disabled this was to delete the ISO. This is not the correct way of doing it. Just deleting the file will still have the phone show an empty CD-ROM drive when plugged in to a computer. There is a nice ON/OFF switch for the CD-ROM that can be changed by anyone (non-rooted users) To enable/disable the CD-ROM feature follow these steps:

  1. Dial ##7764726
  2. Press Call
  3. Enter the password 000000 (6 zeros)
  4. Select Feature Settings
  5. Select CD-ROM
  6. Choose Enable or Disable
  7. Press Menu
  8. Select Commit Modifications (Don’t worry if it says no settings changed)
  9. Press Home

Using Your Own ISO

The ISO file that is mounted needs to be named CDROM.ISO in /system/etc/. So, after deleting the default ISO image (via the good old rm command) you can replace it with any ISO image you want. However this will be difficult with large ISOs and it will be a pain to mount system with R/W access and use the command line every time you want to change the ISO. So I propose this alternate solution, use a symbolic link! I made a symbolic link in /system/etc/CDROM.ISO that points to a CDROM.ISO on my internal memory card. To do this run this command as root:

rm /system/etc/CDROM.ISO  #if you have not yet deleted the CD-ROM image  
ln /emmc/CDROM.ISO /system/etc/CDROM.ISO  

Replace /emmc/ with /sdcard/ if you want to use your SD card and not the phone’s internal memory.

Finishing Up

Now place a ISO file on either your SD card or internal memory and it should be mounted as a CD-ROM drive. Ill let you be creative with what you could put in there (cough auto-run scrips cough). Unfortunately I cannot seem to get computers to boot off the ISO using this method. I’m guessing that it is because when the Incredible mounts the ISO it strips the boot flag. Also, since this hack will make the Incredible always access either your internal memory or your SD card, when selecting mount over USB the drive holding the ISO will be busy or in use by the system and sometimes will not mount on the computer. This can be fixed by force unmounting the drive (in your phone’s settings menu) or by temporarily disabling the CD-ROM feature (see above).

To my knowledge this hack only applies to the HTC Incredible with the official 2.2 build or ROMs built off of the official 2.2 build. Please let me know in the comments if this works on any other phones.