If I upgrade the OS to buster on an OS disk (SD card or USB stick) on my pi 3, will it work if I boot a pi 4 off that?
-
1it should - it won't hurt to try– Jaromanda XJun 30, 2019 at 23:31
-
The Foundation advice is to do a new installation - NOT attempt upgrade.– MilliwaysJun 30, 2019 at 23:45
-
1@milliways where's the fun in that? But my question is not about the merits of upgrading, but if the same disk used for a pi3 will work on a pi3, assuming it's running Buster.– askvictorJul 1, 2019 at 0:41
-
make a backup and try - I went from jessie->stretch without issue on my pi, and that was a far bigger change than stretch->buster - except for the MUCH larger boot partition requirement of course - but even that can, with some magic, be handled– Jaromanda XJul 1, 2019 at 9:28
3 Answers
This can be done, but requires a bit of work to get the bootloader updated for Raspberry Pi 4. Here's how I did it:
- Back up your SD card!!! This can go wrong any number of ways. Not my fault if you bork something!
- Upgrade Raspbian on your Pi 3 to Raspbian Buster.
- Use Gparted on another computer to enlarge the boot partition of the card to 250MB. Make sure you don't move the start position of the boot partition.
- Put the card back in the Pi 3 and update the bootloader with the command
sudo apt install --reinstall raspberrypi-bootloader raspberrypi-kernel
- Put the card in your Pi 4 and hope for the best.
-
won't work.
apt install --reinstall raspberrypi-kernel
will auto-remove the /boot/kernel7l.img needed by Raspberry pi 4...– JB.Oct 26, 2019 at 21:00 -
Upgrading to Buster from Stretch isn't recommended. Install a new card and copy your old programs & data from the old system.
As long as you get the new kernel and firmware/bootcode for the BCM2711 processor installed on your SDCard it will boot on a RPi4.
If the card has NOOBS then forget it. Updating NOOBS for a new processor is a pain (always has been). It's not impossible, but it's not easy.
-
1FWIW I upgraded fine from Buster to Stretch on my Pi 3 (with a few hiccups). However, moving the SD card to a Pi 4 failed. What do you mean exactly by the second paragraph? How would we do that precisely?– SparhawkSep 21, 2019 at 13:00
-
I actually think my question is slightly different to this, because the Stretch -> Buster part isn't relevant. I've opened a new question.– SparhawkSep 22, 2019 at 0:42
-
You need to ensure that the stuff in the /boot folder in partition #1 (and partition #5 if NOOBS) has the kernel and bootcode for a RPi4. If you don't understand that then you have no choice but to build a fresh new SDCard for your new RPi4.– DougieSep 22, 2019 at 6:16
I wasn't able to at first, instead of booting I was presented with a blank black screen however I was easily able to resolve it and get booted up! Hope this helps.
Before doing anything, I updated the Pi3 so that it was running Buster.
- Download the latest Buster
.img
from RaspberryPi - Remove the sd card from Pi3 and plug in your micro sd so that you can access the files on your computer.
- Using windows explorer (on Windows) open the sd card so that you can see the files in
/boot
- Using 7zip or another tool that allows you to view the files in an .img, open the .img you downloaded above. Expand the 0.fat folder and
- Copy (Yes to overwrite when prompted) all the
start4*.elf
andfixup4*.dat
as well as thekernel7l.img
- Download the latest Buster
NOTE: It doesn't hurt to copy all bcm*_.dtb
files and allow overwriting. If you are missing the bcm2711-rpi-4-b.dtb
then you copy simply copy that one only to your sd card. Always backup before making changes.
After making those changes, I ejected the sd card, plugged it into my Pi4 and it booted very quickly!