How To: Load a Custom ROM on the Motorola Milestone (Using Nandroid)

I. Before You Begin

This is assuming you did our How To Root the Motorola Milestone procedure.

II. ADBRecovery

1. Download ADBRecovery.


2. Extract it’s contents to somewhere on your computer.

3. Plug your phone in normally and mount the SD card (so we can transfer files to it from our computer).

4. Copy the just the file and the folder named “recovery” from inside the ADBRecovery > in_sd_root folder that we extracted earlier to the root of the SD card in your phone (NOT in any folders on the sd card just on the sd card itself).

5. Turn off your phone.

6. Turn the phone back on while holding the Camera button down until the ! screen comes up.

7. Once the ! comes up, let go of the Camera button and then hold down Volume Up and press the Camera button until a menu appears.

8. Choose apply and wait for it to flash the update.

III. Performing a Nandroid Backup Through ADB

1. Leaving your phone in recovery mode after it flashes the, plug it in to your computer via USB cable.

2. On your computer, open the command prompt (Start >Type in cmd and hit enter).

3. In the command prompt type the following with hitting enter at the end of each line:

cd AndroidSDK\tools\
adb shell –backup

*the — in the last line above is actually two hyphens side by side

4. Once it is done with the backup, type the following and hit enter:


5. Let the phone reboot into normal mode.

IV. Download A Nandroid Backup to Restore and Flash It

1. Plug your phone into the computer via USB cable and mount the SD card (so we can transfer files to it).

1. Head over to the Milestone ROMs section on our site and choose a ROM you want to flash and download it to your computer (PLEASE BE AWARE THAT THEY ARE NOT IN UPDATE.ZIP FORMAT AND CAN ONLY BE FLASHED VIA NANDROID).

2. Extract the contents of the .zip file you downloaded above somewhere on your computer. Then copy all the files from inside the extracted folder into the nandroid > console=ttyS2,115200n8 > Milestone-BbCcDMRS-20100329-2033 folder (your exact names of the folders may be different) on your SD card. Then hit yes to Copy and Replace on all the files.

4. Unplug the phone once it has finished transferring the files over.

5. Turn off your phone.

6. Turn the phone back on while holding the Camera button down until the ! screen comes up.

7. Once the ! comes up, let go of the Camera button and then hold down Volume Up and press the Camera button until a menu appears.

8. Choose apply and wait for it to flash the update and then plug the phone in to your computer via USB cable.

9. Open the command prompt again and type the following with hitting enter at the end of each line:

cd AndroidSDKtools
adb shell –restore

*the — in the last line above is actually two hyphens side by side

10. Once it is done with the restore, type the following and hit enter:


11. DONE!

Thanks Expansys!

47 thoughts on “How To: Load a Custom ROM on the Motorola Milestone (Using Nandroid)”

  1. Florian Rohrweck

    Is it just me or are the custom roms empty the battery faster than RWJ’s alcoholic dad a bottle of scotch?

    10 hours are max in standby! Maybe some of the apps I had running before I updated lead to massive power-consumption in combination with the new roms…
    anyone had exp. with that yet?

  2. It seems most sites say it’s impossible to overclock the milestone because of hardware security. Does this bypass it? These custom roms, are they based on the same kernal with different features, or can you load custom kernals on it too?

    I’d really like to know if this trick allows the use of overclocking programs for the milestone.

    Any feedback would be greatly appreciated.



    1. Tony,

      No we can’t flash a recovery image on a locked bootloader. But we can use Nandroid to flash ROMs instead of a recovery image. This procedure will work fine (make sure you do the How To Root the Milestone first though).

  3. Just another shot here hoping to find out if overclockable roms are loadable on the device yet.

    Is it so?


    1. Caid,

      I don’t know about overclockable ROMs (as that would involve flashing the kernel and don’t think you can do that yet), BUT custom ROMs are available.

  4. Hi,
    When i did backup with nandroid i had 8 files and md5 checksum and when downloaded this custom rom: Europe Android 2.1 w/ Root and QWERTZ Layout
    by Bavilo it only has 4 files and md5 checksum.

    So the question is, should I leave all of mine backup files and just overwrite the ones from this rom, or,
    should I just put the ones from custom rom(4files and md5) and then do a restore….

    Thanks in advance for answer!

  5. Just wondering if you could do a metamorph tutorial for milestone 2.1? And a place to download metamorph themes. They are hard to come by

  6. PLZZZZ help me ive flashed using nandroid by french cutom rom n my milestone is in infinite boot loop………pllzzzz help me!!!!!!!!

    i stay in INDIA!!!!

  7. Hey buddy! i have already rooted my milestone 2.1 (Singapore) and i wish to load a custom ROM. could you please guide me on which milestone ROM to use from the 3 given in the tutorial? and anyway do i get to install apps on my SD card after loading a custom ROM?

    1. Hello Ash.

      Yes, I am thinking of getting the Singapore edition of the Milestone.

      Do you know if the Taiwan rom ( will work with this model?

      The salesman had no real working model so he could not confirm whether the Milestone Singapore model can support Traditional Chinese character right out of the box. Can you?

      The Milestone XT looks good too but I’m scared that Android 2.2 won’t be available for it.

      Any suggestions?

  8. Backup:
    Can i do ADB BACKUP will the phone is up? not in recovery mode?
    cd AndroidSDK\tools\
    adb shell –backup

  9. I hope someone can help me. I’ve used the above method for backing up my phone and to load custom roms without too many problems. However, when I went to do it today, I get an error and I don’t know why.

    When the phone is in recovery mode and I go to apply “,” it will not load. Instead it says “Signature verification failed” and “Installation aborted.”

    Now, the only thing I can attribute this to is the recent Over the Air update from Motorola that I installed. Could this be causing the problem I’m having? If so, what can I do to fix it? If not, what is my problem?

    Thanks in advance for any assistance that people can provide.

  10. it keeps telling me E:Can’t open /cache /recovery /command and E: signature verification failed Installation aborted

  11. the new 2011 roms are are in a different format than the video, there is a boot file and two folders, so when i copy over to sd card, i overwrite only one file, is this right? can i load these roms with nandroid without any problems, or are they ment for a different method?

  12. I was just told that theunlockr suspected that you’re on 2.0.1 – so if you’re not ^all that won’t work^ you need to downgrade to 2.0.1 before you’re able to load a custom rom…. < if that's not right – tell my how to make it work 😀

  13. I have read through the tutorials ten times now how to root my phone and load a rom, im not getting anywhere. I have an A854 Milestone, but it is an Alltel CDMA version, not GSM. Do i just follow the steps for the CDMA droid? I’m lost here, and I would really like to get froyo on my phone.

  14. Can someone please help me? I have a Milestone on 2.1 which
    I would love to upgrade to Cyanogenmod 7.0.3. I download the ROM from the
    Cyanogenmod website. Everything you say to do works fine just up until I enter
    these commands in cmd:

    cd AndroidSDKtools
    adb shell –restore


    When adb attempts to restore I get this error in the cmd

    Verifying backup images…
    boot.img: FAILED
    bpsw. Img: OK
    cache.img: OK
    cust.img: OK
    data.img: OK
    misc.img: OK
    recovery.img: OK
    system.img: OK
    md5sum: WARNING: 1 of 8 computed checksums did NOT match
    Error: md5sum mismatch, aborting

    I know the ROM I downloaded is fine as I tried a few other
    ROM’s just to test it and had the SAME error every time! I know this problem
    whatever it is resides in the handset itself. I have my Milestone rooted but I did
    keep coming across certain posts about the handset, something to do with a
    locked bootloader? I am unable to update the ROM in any other way other than
    using the method stated on this page. But even that fails for me. I can usually
    figure out most problems on my own by this has defeated me and I am now at the
    end of my tether. Can someone please help?

    Thanks. Mark

    P.s. Every ROM I’ve downloaded seems to have 2 folders in

    ‘META-INF’ & ‘system’. And only seems to contain a ‘boot.img’
    file alongside the 2 folders. Watching the video demo on this page I only see
    files. No folders! And there seems to be a few .img files in the video. Not
    sure if this matter os not?

  15. I also notice that NONE of the links to any of the ROM’s (or at least none of the ones I’ve tried. A fair few)  have no ‘nandroid.md5’ file in them?…
    I think this is where I’m failing my install. Where can I find a link to a Cyanogenmod 7 with all the .img files and a nandroid.md5 file? I can’t find any! 🙁
    I have a locked bootloader so can’t install ROM’s any other way. 🙁

  16. after i chose apply sd card: then the screen shows 
    Installing form sdcardFinding update package…Opening update package…Verifying update package…
    E:No signature (302 files)
    E:Verification failedInstallation aborted.need help! what should i do ?

  17. ignore the 1st 1.. it’s actually
    install from sdcard…
    finding update package…
    opening update package…
    verifying update package…
    E:EOCD marker occurs after start of EOCD
    E: signature verification failer
    Installation aborted

  18. i was changing my rom for my milestone n once my rom was installing boom it rebooted im all like yes it worked n then look my phone doesent startup i left it on all last night n it still doesent startup it just show the motorola logo M so now im screwed any one kno how to fix it     

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.