Netbooting Raspberry Pi: Difference between revisions
(Instruction for netbooting Pi devices) |
(add link to reference information) |
||
Line 1: | Line 1: | ||
{{Draft| it | {{Draft| | ||
it may contain some outdated information. Consult reference information for Pi 3B, 3B+, 2B v1.2, 4, 5 [https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#network-booting here] and [https://www.raspberrypi.com/documentation/computers/remote-access.html#network-boot-your-raspberry-pi there]}} | |||
The Raspberry Pi 4 bootloader can be configured to [https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#raspberry-pi-4-bootloader-configuration boot from the network]. Configure the bootloader with at least | The Raspberry Pi 4 bootloader can be configured to [https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#raspberry-pi-4-bootloader-configuration boot from the network]. Configure the bootloader with at least | ||
Revision as of 14:57, 6 May 2025
![]()
it may contain some outdated information. Consult reference information for Pi 3B, 3B+, 2B v1.2, 4, 5 here and there |
The Raspberry Pi 4 bootloader can be configured to boot from the network. Configure the bootloader with at least
BOOT_ORDER=0xf142 TFTP_PREFIX=1
and optionally also
TFTP_IP=x.x.x.x
where x.x.x.x
is the IP address of your TFTP server.
If not configuring TFTP_IP
in the bootloader, you'll need to configure your DHCP server to advertise the TFTP server IP address. This varies depending on your DHCP server; use the following details if applicable:
- Vendor class:
PXEClient:Arch:00000:UNDI:002001
- Filename:
/
The minimal set of files that your TFTP server needs to host are:
bcm2711-rpi-4-b.dtb
(from raspberrypi/firmware/master/boot/bcm2711-rpi-4-b.dtb)cmdline.txt
(see below)config.txt
(see below)fixup4.dat
(from raspberrypi/firmware/master/boot/fixup4.dat, alternativelyfixup4cd.dat
for the cut down version)initramfs-rpi4
(from alpine/edge/releases/aarch64/netboot/initramfs-rpi4)start4.elf
(from raspberrypi/firmware/master/boot/start4.elf, alternativelystart4cd.elf
for the cut down version)vmlinuz-rpi4
(from alpine/edge/releases/aarch64/netboot/vmlinuz-rpi4)
config.txt
:
[pi4] kernel=vmlinuz-rpi4 initramfs initramfs-rpi4 arm_64bit=1
cmdline.txt
:
modules=loop,squashfs console=ttyAMA0,115200 ip=dhcp alpine_repo=http://dl-cdn.alpinelinux.org/alpine/edge/main modloop=http://dl-cdn.alpinelinux.org/alpine/edge/releases/aarch64/netboot/modloop-rpi4
Instead of using the http://dl-cdn.alpinelinux.org/alpine/edge/releases/aarch64/netboot/ base URL above, pinning to a specific point in time is preferred. Raspberry Pi 4 netboot files are available from https://dl-cdn.alpinelinux.org/alpine/edge/releases/aarch64/netboot-20230329/ onward.
With the above configured the Raspberry Pi 4 should be able to boot from the network without an SD card.