[APP][2.2+] DriveDroid - host ISO/IMG files to boot your PC from

Search This thread

FrozenCow

Senior Member
Aug 31, 2009
472
922
softwarebakery.com
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)
 
Last edited:

Zoot Allures

Senior Member
Jul 17, 2011
264
77
Hi,

Now there's a dedicated topic. :good: The place to give a bit of feed-back.

As I already said there, congrats for this idea and most of all, well made and user friendly. Thanks, mate.


It worked with no problem with the Samsung GS3 i9300 on WanamLite JB MB5 v6.2 with Wanam's Adam kernel v1.2 (I don't really know what Wanam cooked there but it works fine) that is MTP/PTP. Note that when DriveDroid's UMS is enabled, both check-boxes in the regular S3 USB panel have no marks (can normaly have only one checked, never none unchecked).
Other people may please confirm if it works on Galaxy S3 i9300 with stock or other custom kernels.


Less surprisingly, it works fine with Samsung GS2 i9100 on (WanamLite JB LSE v14.3) since it always had Mass Storage Transfer, afaik (but I'm not sure), actually on Wanam's v14.3 it has.


Working on pure CD format (like Daemon Tools for Windows or any Virtual CD mount system) would be top notch —TonyHoyle has cooked a kernel patch to enable virtual CD support, there's an idea to dig, Apple dmg should follow.

But for the moment with what is given, creating own disc ISO to fill with whatever you need later on a computer, is really fine. Polishing the angle to reach v1.0.
 

diosemperador

Senior Member
Dec 29, 2010
59
11
Rosario
Hi, again i have 3 questions id like to así:
-is there any test i can do todo verify if a ISO file is compatible?
-what method por spp do you use todo make a compatible file from an ISO format not supported?
-how can check if cdrom feature is working?

Great work!

Enviado desde mi GT-I9000B usando Tapatalk 2
 

kjtaylor13

Member
Feb 17, 2007
30
7
CD-Rom Support in Existing Kernels

Hi,

I'm using this on my Samsung Galaxy S3 using Omega Rom 43.x and the USB Drive support works great, once I turned off USB Debugging.

Does anyone know if any of the current Kernels for the Samsung Galaxy S3 have the required patches for the CD-rom support as I would also like to boot a couple of CD's from my phone.

Thanks

Kevin.
 

arunreturns

Senior Member
Mar 10, 2012
241
39
Chennai
Any how tos. I tried. But it's not working. Not complaining. The app is fine. I know I'm doing something wrong. Any help is appreciated thanks

EDIT:

Got it working. Awesome work dev. Here's a small step by step instructions for those who were noobs like me.

Download slitaz from within the app
Select slitaz iso.
Select S3C1 and F Mass Storage 1
Also enable Usb storage.
Disable ADB (Android Debugging)
Reboot system.
Do the thing with your boot procedure.
And voila, (I hope) ;)


Thanks a lot dev. This really made my day. Keep rocking. All the best for this app. I will follow it closely :thumbup:

EDIT 2: Btw my device S2 9100 on Alliance ROM 7.02

Sent from my GT-I9100 using Tapatalk 2
 
Last edited:

FrozenCow

Senior Member
Aug 31, 2009
472
922
softwarebakery.com
-is there any test i can do todo verify if a ISO file is compatible?
Yes, check whether the image has a partition table usually gives a very accurate indication that the disk is hybrid. To do this (under Linux) use the command:
Code:
$ fdisk -l myimage.iso

It'll show some info about the disk, but also a partition (usually that partition is marked as being NTFS/FAT, but I think that is part of the trick to make it work on both CD and disk). If it shows no partitions at all you know it probably isn't a hybrid disk.
-what method por spp do you use todo make a compatible file from an ISO format not supported?
For Linux distributions that are build on a recent version on syslinux you can use the tool 'isohybrid' like this:
Code:
$ isohybrid myimage.iso
It'll convert the iso so that it is hybrid. For all other ISOs (that are not build on syslinux) you can you the methods described for that OS to burn it to a USB drive. First create an image in DriveDroid, select the image so that it shows up on your PC as a USB disk, next use the OS-specific tools to burn the iso to the (emulated) disk. It'll be stored on the IMG you made.

You can try this on the official ISO of SliTaz 4 (so not the image form DriveDroids downloadlist). The devs forgot to make version 4 of their OS hybrid, but it does rely on syslinux, so it's possible to convert it using isohybrid. I've done this and put the converted ISO on my server, so that the hybrid-ISO is available in the downloadlist (I've only done this for SliTaz because it is so small and awesome).

If you see that a distro is convertable with isohybrid you should contact those devs. Some of them do not realize that this option is available or what the advantage is. When they distribute their ISO as a hybrid one I can put their distro on DriveDroids downloadlist too.

-how can check if cdrom feature is working?
Ah, well, DriveDroid should show a CD icon next to the USB and locked-USB icons when selecting an image. At the moment only CyanogenMod nightly builds for the i9000 (kernel is named android_kernel_samsung_aries)

Great work!
Thanks!
Does anyone know if any of the current Kernels for the Samsung Galaxy S3 have the required patches for the CD-rom support as I would also like to boot a couple of CD's from my phone.
Question to all: if you have applied the patches on their kernel, please post it here so others can try it. As far as I know no-one has put such a kernel/rom online yet, except for CyanogenMod nightly for the Samsung Galaxy S.

Got it working. Awesome work dev. Here's a small step by step instructions for those who were noobs like me.

Download slitaz from within the app
Select slitaz iso.
Select S3C1 and F Mass Storage 1
Also enable Usb storage.
Reboot system.
Do the thing with your boot procedure.
And voila, (I hope) ;)
Add "Disable ADB (Android Debugging)" to those instructions. It seems that's the final thing I need to add to DriveDroid to make it work for a lot of people. I've had several reports some Nexus devices stopped working because I fixed DriveDroid to allow ADB (previous versions just disabled ADB without consent). Some devices work with ADB running too (like my phone), but some just won't boot (although they do show up as USB devices on their OS).
 
Last edited:

HelixtheII

Member
Sep 26, 2010
29
2
Frozen,

Thank you for the app! I always felt my phone should be able to replace the USB sticks I have laying around. I saw the article on Lifehacker about DriveDroid and had to have it. And while I've been unsuccessful getting it to work on my GNex or my OG Droid, I've still purchased the app because of the way you're handling yourself on the forums. You're responsive, friendly, and I hope you can continue to be so when your app explodes in popularity even further. :good:

And it always helps having assistance from the XDA community.

Edit: It may also be debugging is my problem since that's on both of my phones and I just now read that could be causing issues.
 
Last edited:

FrozenCow

Senior Member
Aug 31, 2009
472
922
softwarebakery.com
Thanks
Thanks
Thanks
Thanks!
Ans one more petition , is there anyone kind enough to ask to derteufel the dev on this thread [ROM] Helly_Bean [4.2.2] [nightly builds] -i9000B at website now! ( http://forum.xda-developers.com/showthread.php?t=2012061
) to add the patch for cdrom on his kernel, i would do it my self but i cant post on devs section
I've done a post there. We'll see what happens.
Thank you for the app! I always felt my phone should be able to replace the USB sticks I have laying around. I saw the article on Lifehacker about DriveDroid and had to have it. And while I've been unsuccessful getting it to work on my GNex or my OG Droid, I've still purchased the app because of the way you're handling yourself on the forums. You're responsive, friendly, and I hope you can continue to be so when your app explodes in popularity even further. :good:
It's too bad it's not working for everyone yet, but I'm pretty confident the next version will work for a lot of people.
And it always helps having assistance from the XDA community.
Yes indeed, that was the main purpose of this thread + to focus discussion more. Email works too for a bit, but it's becoming hard to keep up :-/.
 
  • Like
Reactions: FlanjeUK

FrozenCow

Senior Member
Aug 31, 2009
472
922
softwarebakery.com
Thanks again , just came from there and the dev already confirm that he has merged your patch in the kernel for future updates !

Hah, indeed I see. Cool to see that it already was in there. I guess more rom-devs use CyanogenMod's patches. Now we'll just have to wait for a release so that more people will be able to use the CDrom feature and we'll have some more real-world testing.
 
  • Like
Reactions: FlanjeUK

Silentbob999

Senior Member
Apr 6, 2012
1,063
728
Montréal
Wow, this is sick... I hope I will be able to test that soon!
Really a cool idea!
Continu the good work!!!

[EDIT]
SliTaz boot on S5830d running firekernel and CM7based rom... will probably try to convert an WinPE to hybrid tomorrow at work and test... But omg I want to get my sgs back for real iso :p
Do you think your patch can be apply to CM7 kernel ? If its the case I may post in few thread.....

[EDIT2]
WinPE in 2 minutes..cool.. build the file is even faster than burning a cd. That procedure on your website is very usefull as a guideline
 
Last edited:

kjtaylor13

Member
Feb 17, 2007
30
7
Hi,

I've forked and patched boeffla's kernel for GS3 compiled and now I can boot CD's and USB sticks from my phone. Not bad for my first attempt with a kernel.

Being new to github how do I post the patches for boeffla to merge with his kernel? As his kernel is based on Samsung Stock Kernel, is there a Github somewhere that all GS3 Dev's use that I could post the patches too?

I'll post an odin tar file for anyone who wants to try it when I get into work later.
Edit: And Heres the Link http://goo.gl/la909

Thanks Frozen for a great app.

Kevin

Sent from my GT-I9300 using Tapatalk 2
 
Last edited:

FrozenCow

Senior Member
Aug 31, 2009
472
922
softwarebakery.com
SliTaz boot on S5830d running firekernel and CM7based rom... will probably try to convert an WinPE to hybrid tomorrow at work and test... But omg I want to get my sgs back for real iso :p
Do you think your patch can be apply to CM7 kernel ? If its the case I may post in few thread.....
I think it's possible to apply the patch to CM7 as-is (without conflicts), but I don't know for sure. The changes aren't that big and are applied to kernel code that shouldn't be changed much. However some device manufacturers do think it's needed to change the code in there, so I can never be sure :p.
WinPE in 2 minutes..cool.. build the file is even faster than burning a cd. That procedure on your website is very usefull as a guideline
:D nice! Good to hear the procedure is helping people. I need to do a post about UEFI too, could be useful too.

Hi,
I've forked and patched boeffla's kernel for GS3 compiled and now I can boot CD's and USB sticks from my phone. Not bad for my first attempt with a kernel.

Being new to github how do I post the patches for boeffla to merge with his kernel? As his kernel is based on Samsung Stock Kernel, is there a
Github somewhere that all GS3 Dev's use that I could post the patches too?
Nice job. Well, I've been looking for something like this too. But I think Samsung just 'publishes' their kernel source as tars somewhere. No way to have input it seems. Where you want to apply this patch is at boeffla, CyanogenMod or Google. Since Samsung is basing their kernel on Google's (at least I think so), I think the ultimate goal is to let the patches be accepted by Google. I've looked at the process of doing this, but it involves quite some people. I first want to make sure these patches are tested on a number of devices (by applying the patches to popular custom roms first).

Anyway, Boeffla's account is available here: https://github.com/andip71
Fork one of his kernels (I'm not sure which one you're using), so that you have your own repository of his code. Now you can pull from your repository, apply the patch, commit and push to your repository (with git). Once pushed you can do a 'pull request' through github on the webpage of your repository. Github has quite a lot of information about how to do things here: https://help.github.com/

If you need help, feel free to ask or join me on IRC.
 
  • Like
Reactions: FlanjeUK

Zoot Allures

Senior Member
Jul 17, 2011
264
77
Hi kjtaylor13,

Thanks for the work. Witch Boeffla's version did you patched?

I'm used to run stock kernel or since his last firmware update, Wanam's Adam kernel that runs fine, except the author is not eager to mod the kernel too much --in his perspective to give us John "half-geek" Doe the best without too many settings hassle, it's perfectly understandable.

But this idea of hosting and launching real ISO is very exciting. :cool:
 

kjtaylor13

Member
Feb 17, 2007
30
7
https://github.com/andip71[/url]
Fork one of his kernels (I'm not sure which one you're using), so that you have your own repository of his code. Now you can pull from your repository, apply the patch, commit and push to your repository (with git). Once pushed you can do a 'pull request' through github on the webpage of your repository. Github has quite a lot of information about how to do things here: https://help.github.com/

If you need help, feel free to ask or join me on IRC.

Thanks, did a pull request on github so just waiting to see if it's accepted.




Hi kjtaylor13,

Thanks for the work. Witch Boeffla's version did you patched?

I used the latest kernel from his website / github, it was 2.9 I was already using it as my kernel.
 
  • Like
Reactions: Zoot Allures

Top Liked Posts

Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone