DriveDroid allows you to boot your PC from ISO/IMG files stored on your phone. This is ideal for trying Linux distributions or always having a rescue-system on the go... without the need to burn different CDs or USB pendrives. The paid version of DriveDroid does not include ads and helps the developer.
DriveDroid also includes a convenient download menu where you can download USB-images of a number of operating systems from your phone.
You can also create USB-images which allows you to have a blank USB-drive where you can store files in. Another possibility is to use tools on your PC to make a bootable USB-drive out of the blank image that DriveDroid created.
DriveDroid (free)
DriveDroid (paid)
Website
Changelog and downloads
List of distributions available in DriveDroid
Donate
IRC (#drivedroid on chat.freenode.net)
Beta
To participate in the beta join the Google Group here: https://groups.google.com/d/forum/drivedroid
After that join the beta of either DriveDroid (Free) or DriveDroid (Paid)
Distrowatch image repository
If you are missing a certain distribution or want more images available in the download list, you can add download repositories. At the moment I have made a repository for Distrowatch. These images are not officially supported, so they might not work for CD or USB booting.
Go to DriveDroids preferences, under "Image repositories" and add the following URL: http://softwarebakery.com/apps/drivedroid/repositories/distrowatch.json
USB Mass Storage (UMS)
DriveDroid relies on the kernel of Android, in particular the USB Mass Storage (UMS) feature. It allows your phone to act as an USB-drive and have a device (SDcard) or file (ISO/IMG) be used as the content for that emulated drive.
Different Android devices implement this feature differently. Most modern devices do not have UMS enabled by default, but it is supported by the kernel. I've added a option to DriveDroid to change the USB-mode for devices that do not support UMS by default, but no guarantees. I'm getting very mixed reports of devices working and not.
I need all the help I can get to fix this problem. Hopefully we can figure out some method to enable UMS in a stable way.
Hybrid-ISOs
Since most phones only support emulating USB-drives, DriveDroid will not act as an CD-drive. This means that not all ISO files will work, only hybrid-ISOs and IMG files. Hybrid-ISOs are specially crafted ISOs that is used on many modern Linux-distributions. DriveDroids downloadlist contains most of the distributions I've found that do have hybrid-ISOs.
This is just to notify you that you have to convert non-hybrid ISOs by writing the ISO to the emulated USB-drive. You can get a blank emulated USB-drive by creating a blank image through DriveDroids + menu.
Tutorials
Since some popular uses are not available out-of-the-box, I've written a few tutorials on my website that handle some of those uses:
Using Rufus to burn any ISO to DriveDroid *Recommended*
Windows installation on DriveDroid
Install Hirens Boot CD on DriveDroid (download the pre-built Hirens Boot CD image here)
Shrinking images on Linux to save space on your phone
USB-drive and CD-drive emulation
These two modes allow your phone to act as an USB-drive or as an CD-drive. Most devices only support USB-drive emulation. Some devices only support CD-drive emulation. To get both USB-drive as well as CD-drive emulation on your phone you need a patched kernel (see below).
With USB-drive emulation it is possible to boot IMG files and most Linux-based ISO. It also allows you to write to the disk, which allows you to create data-disks as well as install an OS onto the USB drive. The downside of this mode is that some ISOs will not boot, since those ISOs are created for CD-drives.
With CD-rom emulation it is possible to boot all CD-based ISOs.
So, having both USB-drive emulation as well as CD-rom emulation is preferable.
Some roms with a range of supported devices have patch reviewing systems in place where I periodically submit patches to new devices. You can check what kernels have the right patches in their patch review system. To know which kernel your device is using, check out this list to see kernels are used by what devices.
CyanogenMod: supported kernels
SlimRoms: supported kernels
CarbonROM: supported kernels
aicp-rom: supported kernels
Nameless-ROM: supported kernels
Other custom kernels that have the right CD-rom patches applied are:
Dorimanx Kernel 8.33 on stock and AOSP/CM roms for the Samsung Galaxy S II (I9100)
Dorimanx Kernel 9.33 on AOSP/CM roms for the Samsung Galaxy S II (I9100)
CyanCore Kernel v2.8.6 by ts1506 for the Samsung Galaxy S (I9000)
BMS Kernel by GideonX for Samsung Galaxy S3 Sprint (d2spr)
BMS Kernel by GideonX for Samsung Galaxy S3 AT&T (d2att)
BMS Kernel by GideonX for Samsung Galaxy S3 Verizon (d2vzw/d2usc)
Patched stock kernel by porear for Samsung Galaxy S3 T-Mobile
GearKernel 1.0.4 and higher for Samsung Captivate
GearKernel 1.0.4 and higher for Samsung Galaxy S i9000 and i9000B
GearKernel 1.0.4 and higher for Samsung Vibrant
DooMKernel for Xperia Z
DooMKernel for Xperia Z1
Devil2 kernel for Samsung Galaxy Note 2 (GT-N7100)
X-NOTE Leonardo Edition for Samsung Galaxy Note 3 (N9005)
ThunderZap for Xperia L
ShinTo for Samsung Galaxy Note 3
Unofficial CyanogenMod-compatible Galaxy Note 3 kernel by unic09
Basel kernel (stock) for Samsung S Duos (s7562) by baselsayeh
AEL kernel for Samsung Note 3 by friedrich420
FIRE-ICE kernel for Nexus 9 by USBhost
ElementalX for Nexus 5 (hammerhead)
Kangaroo Kernel for HTC One
WR-Kernel for Wiko Rainbow
Unikernel for Samsung Galaxy S6/S6 Edge
CleanSlate for HTC 10
If this list is missing any rom/kernel that has the feature, please contact me.
If your favorite kernel is not supporting this feature, direct the kernel developer to this section.
If you know your way around kernel code and patching, you can get the patches here:
Patch to allow applications (like DriveDroid) to switch between USB and CD-mode
Patch to fix booting from the emulated CD-rom drive (only needed for Android 2.x kernels)
DriveDroid also includes a convenient download menu where you can download USB-images of a number of operating systems from your phone.
You can also create USB-images which allows you to have a blank USB-drive where you can store files in. Another possibility is to use tools on your PC to make a bootable USB-drive out of the blank image that DriveDroid created.
DriveDroid (free)
DriveDroid (paid)
Website
Changelog and downloads
List of distributions available in DriveDroid
Donate
IRC (#drivedroid on chat.freenode.net)
Beta
To participate in the beta join the Google Group here: https://groups.google.com/d/forum/drivedroid
After that join the beta of either DriveDroid (Free) or DriveDroid (Paid)
Distrowatch image repository
If you are missing a certain distribution or want more images available in the download list, you can add download repositories. At the moment I have made a repository for Distrowatch. These images are not officially supported, so they might not work for CD or USB booting.
Go to DriveDroids preferences, under "Image repositories" and add the following URL: http://softwarebakery.com/apps/drivedroid/repositories/distrowatch.json
USB Mass Storage (UMS)
DriveDroid relies on the kernel of Android, in particular the USB Mass Storage (UMS) feature. It allows your phone to act as an USB-drive and have a device (SDcard) or file (ISO/IMG) be used as the content for that emulated drive.
Different Android devices implement this feature differently. Most modern devices do not have UMS enabled by default, but it is supported by the kernel. I've added a option to DriveDroid to change the USB-mode for devices that do not support UMS by default, but no guarantees. I'm getting very mixed reports of devices working and not.
I need all the help I can get to fix this problem. Hopefully we can figure out some method to enable UMS in a stable way.
Hybrid-ISOs
Since most phones only support emulating USB-drives, DriveDroid will not act as an CD-drive. This means that not all ISO files will work, only hybrid-ISOs and IMG files. Hybrid-ISOs are specially crafted ISOs that is used on many modern Linux-distributions. DriveDroids downloadlist contains most of the distributions I've found that do have hybrid-ISOs.
This is just to notify you that you have to convert non-hybrid ISOs by writing the ISO to the emulated USB-drive. You can get a blank emulated USB-drive by creating a blank image through DriveDroids + menu.
Tutorials
Since some popular uses are not available out-of-the-box, I've written a few tutorials on my website that handle some of those uses:
Using Rufus to burn any ISO to DriveDroid *Recommended*
Windows installation on DriveDroid
Install Hirens Boot CD on DriveDroid (download the pre-built Hirens Boot CD image here)
Shrinking images on Linux to save space on your phone
USB-drive and CD-drive emulation
These two modes allow your phone to act as an USB-drive or as an CD-drive. Most devices only support USB-drive emulation. Some devices only support CD-drive emulation. To get both USB-drive as well as CD-drive emulation on your phone you need a patched kernel (see below).
With USB-drive emulation it is possible to boot IMG files and most Linux-based ISO. It also allows you to write to the disk, which allows you to create data-disks as well as install an OS onto the USB drive. The downside of this mode is that some ISOs will not boot, since those ISOs are created for CD-drives.
With CD-rom emulation it is possible to boot all CD-based ISOs.
So, having both USB-drive emulation as well as CD-rom emulation is preferable.
Some roms with a range of supported devices have patch reviewing systems in place where I periodically submit patches to new devices. You can check what kernels have the right patches in their patch review system. To know which kernel your device is using, check out this list to see kernels are used by what devices.
CyanogenMod: supported kernels
SlimRoms: supported kernels
CarbonROM: supported kernels
aicp-rom: supported kernels
Nameless-ROM: supported kernels
Other custom kernels that have the right CD-rom patches applied are:
Dorimanx Kernel 8.33 on stock and AOSP/CM roms for the Samsung Galaxy S II (I9100)
Dorimanx Kernel 9.33 on AOSP/CM roms for the Samsung Galaxy S II (I9100)
CyanCore Kernel v2.8.6 by ts1506 for the Samsung Galaxy S (I9000)
BMS Kernel by GideonX for Samsung Galaxy S3 Sprint (d2spr)
BMS Kernel by GideonX for Samsung Galaxy S3 AT&T (d2att)
BMS Kernel by GideonX for Samsung Galaxy S3 Verizon (d2vzw/d2usc)
Patched stock kernel by porear for Samsung Galaxy S3 T-Mobile
GearKernel 1.0.4 and higher for Samsung Captivate
GearKernel 1.0.4 and higher for Samsung Galaxy S i9000 and i9000B
GearKernel 1.0.4 and higher for Samsung Vibrant
DooMKernel for Xperia Z
DooMKernel for Xperia Z1
Devil2 kernel for Samsung Galaxy Note 2 (GT-N7100)
X-NOTE Leonardo Edition for Samsung Galaxy Note 3 (N9005)
ThunderZap for Xperia L
ShinTo for Samsung Galaxy Note 3
Unofficial CyanogenMod-compatible Galaxy Note 3 kernel by unic09
Basel kernel (stock) for Samsung S Duos (s7562) by baselsayeh
AEL kernel for Samsung Note 3 by friedrich420
FIRE-ICE kernel for Nexus 9 by USBhost
ElementalX for Nexus 5 (hammerhead)
Kangaroo Kernel for HTC One
WR-Kernel for Wiko Rainbow
Unikernel for Samsung Galaxy S6/S6 Edge
CleanSlate for HTC 10
If this list is missing any rom/kernel that has the feature, please contact me.
If your favorite kernel is not supporting this feature, direct the kernel developer to this section.
If you know your way around kernel code and patching, you can get the patches here:
Patch to allow applications (like DriveDroid) to switch between USB and CD-mode
Patch to fix booting from the emulated CD-rom drive (only needed for Android 2.x kernels)
Last edited: