I have spent the past couple of months developing software on my RPi2 and I would like to now run this on my RPi3 to take advantage of the higher performance. The software I have written relies on many other software packages and dependencies that I have all sorted out and working on the RPi2.

So far I have tried:

  1. I tried to take the working SD card from my RPi2 and place it in my RPi3, it did not work. It locks up at the rainbow start-up screen (shown below).

    enter image description here

  2. After the above failed, I thought, perhaps it would be wise to place the SD card back in the RPi2 (still boots fine) and update and upgrade Raspbian using:

    sudo apt-get update


    sudo apt-get upgrade

    in accordance to the RPi website updating and upgrading should also update the kernel and firmware which is what I presume would be required to to make my Raspbian image function on the RPi3's ARM Cortex-A53 processor.

    After successfully updating and upgrading I tried to place the SD card into the RPi3. STILL locks up at the rainbow start-up screen.

  3. I have began configuring my RPi3 from scratch, it's going to be one heck of an undertaking at this point (lots of problems that I don't recall how i resolved) :(


So is it even possible to migrate my current image from the RPi2 to the RPi3??


In addition to step 2. I have tried to update the firmware by:

apt-get dist-upgrade

still freezes at the same place. :(

NEXT I am going to try to use this method to attempt the migration. I have already attempted this method unsuccessfully but I did not do apt-get dist-upgrade before hand.. This time I will. Fingers crossed.


3 Answers 3


Yes it is a NOOBS install.

In addition to updating the OS image you also have to update the kernel and firmware used by noobs. Otherwise your system will not boot on the new hardware.

I haven't tested this for the pi3 yet but I think you need to download the latest noobs lite and copy the files "bootcode.bin", "recovery.elf", "recovery.img" and "recovery7.img" anong with any ".dtb" and ".dtbo" files to the recovery partition (the first fat patition) on the SD card.

Note: some older advice advises people to copy all files except recovery.cmdline . Unfortunately doing this will break things if the existing noobs install used the old partition structure.

  • Thank you! This worked!!! It seems that other things are a bit wonky now as a result, (i.e. no more WiFi manager, so I connected via terminal, also Epiphany can't play youtube videos at all whereas a fresh install of Raspian on the RPi3 will play them just fine. Can't win them all I suppose.
    – Accentrix
    Commented Mar 17, 2016 at 17:41
  • I followed Peter Green's advise above, but for me it didn't work (got the color screen). Copying only the bootcode.bin did the trick though.
    – Peter Hite
    Commented Jul 22, 2016 at 13:59
  • I think it's worth stressing that it's important not to copy the recovery.cmdline, since this triggers the "first boot" functionality which effectivley wipes the partition table. (It's ok, I managed to recover it) Commented Aug 24, 2016 at 9:11
  • 1
    I have tried now and I also needed to copy *.dtb files Commented Nov 7, 2016 at 18:45

You have done most of the work already. Before putting it in your RPi 3, you also need to run apt-get dist-upgrade.

The dist-upgrade is what actually upgrades the firmware.


At the time I wrote this answer, it wasn't specified that the OP was using NOOBS, which creates its own level of difficulty. The answer should work for people using standard Raspbian.

  • Thanks @Jacobm001 but no go. :( I just gave this a try and it still locks up at the rainbow start-up screen.
    – Accentrix
    Commented Mar 17, 2016 at 6:15
  • revising the original post to include this now...
    – Accentrix
    Commented Mar 17, 2016 at 6:15

I don't think it is possible to pull this off. My suggestion would be to back up all of your user directory and other files such as modules and configuration files you remember modifying, then flashing the latest build of Raspbian on the OS, then simply retrieving the files and putting them back on the Pi.

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