Until today you’ve always needed to use another computer to run Raspberry Pi Imager, or to run something similar, to let you flash your operating system onto an SD card when you get a new Raspberry Pi. But how do you get the operating system onto an SD card if you don’t have another computer in the first place?
It’s the classic chicken and egg problem, and we’ve just solved it.
There is now a beta version of the Raspberry Pi bootloader that implements network installation, and we’d like your help to test it. The new Network Install feature can be used to start the Raspberry Pi Imager application directly on a Raspberry Pi 4, or a Raspberry Pi 400, by downloading it from the internet using an Ethernet cable. The Raspberry Pi Imager application, which will run in memory on your Raspberry Pi, can then be used to flash the operating system onto a blank SD Card or USB disk, just like normal.
How to use the network installer
If you want to try out the network installer you’ll first have to install a beta version of the bootloader.
Updating the bootloader will be necessary for existing boards already in circulation. However, once the beta period has ended, we’ll eventually ship Raspberry Pi boards with the new network bootloader installed directly from the factory and this step won’t be necessary anymore.
Installing the new beta bootloader
The easiest way to update the bootloader on your Raspberry Pi 4 or 400 is by using Raspberry Pi Imager, either running on your Raspberry Pi or on another computer, to copy the required software onto an SD card. You’ll need a spare blank SD card and, if you’re using a Raspberry Pi or another computer that doesn’t have an SD card slot, a USB to SD card dongle.
You should be aware that the SD card you’re using to update your Raspberry Pi’s bootloader will be wiped of any existing data, so you shouldn’t use the SD card you are currently using with your Raspberry Pi.
In the Imager application, click on the “Choose OS” button and scroll down the “Operating System” list in the pop-up window. Select “Misc utility images”, then select “Beta Test Bootloader”.
Next, you need to select the boot order. All of the options are the same but will have a different boot order. Unless you have a reason to do otherwise, you should probably select “SD Card Boot”.
Afterwards, select your media and follow the normal instructions to burn the updated bootloader to your SD Card.
When the SD card has finished burning you should power off your Raspberry Pi and remove the existing SD card and put it somewhere safe. Insert the card you just flashed with the Imager application into the Raspberry Pi and power it back on. The board LED will blink regularly, and the screen will go green to indicate that flashing the new beta bootloader was successful.
If you ever want to restore your bootloader back to the “Release” version you can follow these steps again, selecting the top “Bootloader” option instead of the “Beta Test Bootloader” option.
Now remove your bootloader update SD card and turn your board off and back on again.
Trying out network boot
Now that you have updated the bootloader everything should still work as before.
When a Raspberry Pi is switched on, the bootloader searches for software to load. It first looks for an SD card, then a USB stick, and so on. It will keep going round in a loop until it finds some software to use. After a few seconds, you’ll see a diagnostics display on the screen showing you what it’s doing.
If you want to insert your original SD card (the one you were using before all this started) your Raspberry Pi should boot seamlessly back into the operating system as normal.
This hasn’t changed. However, the Raspberry Pi now also looks for a connected keyboard.
If you boot your Raspberry Pi without an SD Card in the slot, or with a blank SD Card, and if you have a keyboard connected, you’ll now see something a bit different.
If you have a keyboard connected (this will always be the case for Raspberry Pi 400) and the Raspberry Pi is unable to find an operating system, it will show the new network install screen.
In the background, your Raspberry Pi is still looking for a working operating system. But at this point, you can start the network install process by holding down the
Shift key for three seconds. Confirm you want to go ahead by pressing
Space when prompted, and it should ask you to insert an Ethernet cable.
You’re going to need to physically connect your Raspberry Pi to your router via an Ethernet cable rather than connecting it to your wireless network. You’ll need an Ethernet cable that has a male RJ45 connector on both ends. Most home routers have sockets on the back to allow you to plug Ethernet cables in, so plug one end of the cable into the back of the router, and the other end into your Raspberry Pi.
When it detects a cable has been inserted it should start downloading Raspberry Pi Imager. If the download fails, you can repeat the process to try again.
Eventually, it should start the Raspberry Pi Imager application, allowing you to install a full operating system to a new blank SD card or USB stick.
If you haven’t already done so, it’s at this point you should insert another, blank, SD Card into the SD card slot on your Raspberry Pi. Raspberry Pi Imager will allow you to flash the SD card with a copy of the operating system, directly from the internet.
Now you have software installed, you shouldn’t see the network install screen on boot. If you do want to run it, you just need to remove any bootable disks. You can reinsert them later once Raspberry Pi Imager is running. But take care not to overwrite any working disks that you want to keep!
Check out our documentation
You can find out more about our network install beta in our documentation.
Got some feedback?
Post any comments or feedback as a reply to this post, or post something in the Raspberry Pi forums.