All Projects → pftf → Rpi4

pftf / Rpi4

Licence: other
Raspberry Pi 4 UEFI Firmware Images [EXPERIMENTAL]

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Rpi4

Rpi3
Raspberry Pi 3 UEFI Firmware Images
Stars: ✭ 117 (-75.62%)
Mutual labels:  raspberry-pi, firmware, uefi
Ghidra Firmware Utils
Ghidra utilities for analyzing PC firmware
Stars: ✭ 194 (-59.58%)
Mutual labels:  firmware, uefi
Edk2
EDK II
Stars: ✭ 2,624 (+446.67%)
Mutual labels:  firmware, uefi
Debootstick
Generate a bootable live image from any Debian/Ubuntu filesystem tree.
Stars: ✭ 48 (-90%)
Mutual labels:  raspberry-pi, uefi
Efiseek
Ghidra analyzer for UEFI firmware.
Stars: ✭ 45 (-90.62%)
Mutual labels:  firmware, uefi
Mu plus
Microsoft Core UEFI Value
Stars: ✭ 95 (-80.21%)
Mutual labels:  firmware, uefi
Uefi retool
A tool for UEFI firmware reverse engineering
Stars: ✭ 227 (-52.71%)
Mutual labels:  firmware, uefi
Pawn
Extract BIOS firmware from Intel-based workstations and laptops
Stars: ✭ 214 (-55.42%)
Mutual labels:  firmware, uefi
mu oem sample
Project Mu OEM Sample Code
Stars: ✭ 27 (-94.37%)
Mutual labels:  firmware, uefi
smram parse
System Management RAM analysis tool
Stars: ✭ 50 (-89.58%)
Mutual labels:  firmware, uefi
HUANANZHI-X99-F8
CX99DE25 BIOS for HUANANZHI X99-F8 GAMING Motherboard 07/25/2020
Stars: ✭ 43 (-91.04%)
Mutual labels:  firmware, uefi
Mu tiano plus
UEFI Tiano Core Value
Stars: ✭ 28 (-94.17%)
Mutual labels:  firmware, uefi
Raspberrypipkg
DEPRECATED - DO NOT USE | Go here instead ->
Stars: ✭ 758 (+57.92%)
Mutual labels:  firmware, uefi
Mu basecore
Project mu BaseCore
Stars: ✭ 149 (-68.96%)
Mutual labels:  firmware, uefi
Linuxboot
The LinuxBoot project is working to enable Linux to replace your firmware on all platforms.
Stars: ✭ 554 (+15.42%)
Mutual labels:  firmware, uefi
Efixplorer
IDA plugin for UEFI firmware analysis and reverse engineering automation
Stars: ✭ 268 (-44.17%)
Mutual labels:  firmware, uefi
systemboot
SystemBoot is a LinuxBoot distribution that works as a system firmware + bootloader, based on u-root
Stars: ✭ 103 (-78.54%)
Mutual labels:  firmware, uefi
Lumia950xlpkg
Non-EOL (yes!) AArch64 UEFI firmware for Lumia 950 / Lumia 950 XL
Stars: ✭ 300 (-37.5%)
Mutual labels:  firmware, uefi
Automated Irrigation System
This is the software of an open source automated irrigation system. The complete setup including hardware can be found in the README.
Stars: ✭ 442 (-7.92%)
Mutual labels:  raspberry-pi
Raspberry Pi Pcie Devices
Raspberry Pi PCI Express device compatibility database
Stars: ✭ 444 (-7.5%)
Mutual labels:  raspberry-pi

Raspberry Pi 4 UEFI Firmware Images

Build status Github stats Release

Summary

This repository contains EXPERIMENTAL installable builds of the official EDK2 Raspberry Pi 4 UEFI firmware.

Initial Notice

PLEASE READ THE FOLLOWING:
🔻🔻🔻🔻🔻🔻🔻🔻🔻

  • Do NOT expect this firmware to be fully functional when it comes to supporting your ARM64 OS of choice or providing all the features you would expect from a regular UEFI platform. This is EXPERIMENTAL software.

  • You will NOT get Ethernet networking support in Linux, unless you use a recent Linux kernel (version 5.7 or later) or one into which the 5.7 fixes have been backported.

  • You will NOT get SD or wireless support in Linux, unless you use a recent Linux kernel (version 5.12 or later) or one into which the 5.12 fixes have been backported as well as a recent Linux wireless firmware package.

  • You may not be able to use more than 3 GB of RAM, even if you have a 4 GB or 8 GB model, unless your OS is patched for DMA access (which, in Linux, requires kernel 5.8 or later). This is the result of a hardware bug in the Broadcom CPU that powers the Rapsberry Pi 4.
    To use more than 3 GB, and provided your OS has been patched for such use, you need to go to Device ManagerRaspberry Pi ConfigurationAdvanced Settings in the UEFI settings.

  • There is NO WiFi support in Windows at the moment.

  • Be very mindful that not everything you want can be solved through a UEFI firmware update. Especially, some elements to make an OS fully functional do require an OS update, an OS workaround or new OS drivers, such as the ones mentioned above, which are beyond the scope of this project.

  • This firmware was built from the official EDK2 repository, with the following extra patch applied:

    • 0001-MdeModulePkg-UefiBootManagerLib-Signal-ReadyToBoot-o.patch, so that the Graphical console is set as default.

🔺🔺🔺🔺🔺🔺🔺🔺🔺

Installation

  • Download the latest archive from the Releases repository.

  • Create an SD card or a USB drive, with at least one partition (it can be a regular partition or an ESP) and format it to FAT16 or FAT32.

    Note: Booting from USB or from ESP requires a recent-enough version of the Pi EEPROM (as well as a recent version of the UEFI firmware). If you are using the latest UEFI firmware and find that booting from USB or from ESP doesn't work, please visit https://github.com/raspberrypi/rpi-eeprom/releases to update your EEPROM.

  • Extract all the files from the archive onto the partition you created above.
    Note that outside of this Readme.md, which you can safely remove, you should not change the names of the extracted files and directories.

Usage

Insert the SD card/plug the USB drive and power up your Raspberry Pi. You should see a multicoloured screen (which indicates that the CPU-embedded bootloader is reading the data from the SD/USB partition) and then the Raspberry Pi black and white logo once the UEFI firmware is ready.

At this stage, you can press Esc to enter the firmware setup, F1 to launch the UEFI Shell, or, provided you also have an UEFI bootloader on the SD card or on a USB drive in efi/boot/bootaa64.efi, you can let the UEFI system run that (which will be the default if no action is taken).

Additional Notes

The firmware provided in the zip archive is the RELEASE version but you can also find a DEBUG build of the firmware in the AppVeyor artifacts.

The provided firmwares should be able to auto-detect the UART being used (PL011 or mini UART) according to whether config.txt contains the relevant overlay or not. The default baudrate for serial I/O is 115200 and the console device to use under Linux is either /dev/ttyAMA0 when using PL011 or /dev/ttyS0 when using miniUART.

At the moment, the published firmwares default to enforcing ACPI as well as a 3 GB RAM limit, which is done to ensure Linux boot. These settings can be changed by going to Device ManagerRaspberry Pi ConfigurationAdvanced Configuration.

Please visit https://rpi4-uefi.dev/ for more information.

License

The firmware (RPI_EFI.fd) is licensed under the current EDK2 license, which is BSD-2-Clause-Patent.

The other files from the zip archives are licensed under the terms described in the Raspberry Pi boot files README.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].