Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ipxe/pipxe
iPXE for the Raspberry Pi
https://github.com/ipxe/pipxe
ipxe pxe raspberry-pi raspberrypi uefi
Last synced: 10 days ago
JSON representation
iPXE for the Raspberry Pi
- Host: GitHub
- URL: https://github.com/ipxe/pipxe
- Owner: ipxe
- Created: 2019-10-30T16:36:27.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-02-27T01:49:04.000Z (12 months ago)
- Last Synced: 2024-11-19T21:35:56.828Z (3 months ago)
- Topics: ipxe, pxe, raspberry-pi, raspberrypi, uefi
- Language: Makefile
- Homepage: http://ipxe.org
- Size: 43.9 KB
- Stars: 196
- Watchers: 16
- Forks: 38
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
piPXE - iPXE for the Raspberry Pi
=================================[![Build](https://img.shields.io/github/workflow/status/ipxe/pipxe/Build)](https://github.com/ipxe/pipxe/actions?query=workflow%3ABuild+branch%3Amaster)
[![Release](https://img.shields.io/github/v/release/ipxe/pipxe)](https://github.com/ipxe/pipxe/releases/latest)piPXE is a build of the [iPXE] network boot firmware for the
[Raspberry Pi].Quick start
-----------1. Download [sdcard.img] and write it onto any blank micro SD card
using a tool such as `dd` or [Etcher].2. Insert the micro SD card into your Raspberry Pi.
3. Power on your Raspberry Pi.
Within a few seconds you should see iPXE appear and begin booting from
the network:![Screenshot](screenshot.png)
Building from source
--------------------To build from source, clone this repository and run `make`. This will
build all of the required components and eventually generate the SD
card image [sdcard.img].You will need various build tools installed, including a
cross-compiling version of `gcc` for building AArch64 binaries.Fedora build tools:
sudo dnf install -y binutils gcc gcc-aarch64-linux-gnu \
git-core iasl libuuid-devel make \
mtools perl python subversion xz-develUbuntu build tools:
sudo apt install -y build-essential gcc-aarch64-linux-gnu \
git iasl lzma-dev mtools perl python \
subversion uuid-devHow it works
------------The SD card image contains:
* Broadcom [VC4 boot firmware]: `bootcode.bin` and related files
* [TianoCore EDK2] UEFI firmware built for the [RPi3] platform: `RPI_EFI.fd`
* [iPXE] built for the `arm64-efi` platform: `/efi/boot/bootaa64.efi`The Raspberry Pi has a somewhat convoluted boot process in which the
VC4 GPU is responsible for loading the initial executable ARM CPU
code. The flow of execution is approximately:1. The GPU code in the onboard boot ROM loads `bootcode.bin` from the SD card.
2. The GPU executes `bootcode.bin` and loads `RPI_EFI.fd` from the SD card.
3. The GPU allows the CPU to start executing `RPI_EFI.fd`.
4. The CPU executes `RPI_EFI.fd` and loads `bootaa64.efi` from the SD card.
5. The CPU executes `bootaa64.efi` (i.e. iPXE) to boot from the network.Licence
-------Every component is under an open source licence. See the individual
subproject licensing terms for more details:*
*
*[iPXE]: https://ipxe.org
[Raspberry Pi]: https://www.raspberrypi.org
[sdcard.img]: https://github.com/ipxe/pipxe/releases/latest/download/sdcard.img
[Etcher]: https://www.balena.io/etcher
[VC4 boot firmware]: https://github.com/raspberrypi/firmware/tree/master/boot
[TianoCore EDK2]: https://github.com/tianocore/edk2
[RPi3]: https://github.com/tianocore/edk2-platforms/tree/master/Platform/RaspberryPi/RPi3