Skip to content
/ RPi4 Public
forked from pftf/RPi4

Raspberry Pi 4 UEFI Firmware Images

License

Notifications You must be signed in to change notification settings

p4nda/RPi4

This branch is 20 commits ahead of, 12 commits behind pftf/RPi4:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e5eb389 · Feb 24, 2024

History

94 Commits
Jun 2, 2023
Feb 24, 2024
Feb 24, 2024
Feb 24, 2024
Feb 24, 2024
Mar 22, 2022
Feb 24, 2024
Aug 13, 2020
Feb 24, 2024
Feb 24, 2024
Feb 24, 2024
Sep 16, 2020
Feb 24, 2024

Repository files navigation

Build Raspberry Pi 4 UEFI Firmware from source

Summary

This repository aims to generate more recent installable builds of the official EDK2 Raspberry Pi 4 UEFI firmware.

Please note that the success of the build is not guaranteed, as some submodules or submodule dependencies may fetch more recent code.

Initial Notice

PLEASE READ THE FOLLOWING:

  • This firmware build does not provide WiFi and BT Raspberry Pi overlays, WiFi and BT is disabled in config-cm4.txt.

  • Many drivers (GPIO, VPU, etc) are still likely to be missing from your OS, and will have to be provided by a third party. Please do not ask for them here, as they fall outside of the scope of this project.

  • The following extra patch is applied:

    • RPi4_disable_3GB_RAM_limit.patch
    • RPi4_set_system_table_ACPI+DeviceTree_by_default.patch
    • RPi4_increase_SD_card_default_speed_to_50_83.patch
    • RPi4_decrease_default_CpuLowSpeedMHz_to_600.patch

BUILD_FLAGS="-D RPI_MODEL=4 -D SECURE_BOOT_ENABLE=TRUE -D INCLUDE_TFTP_COMMAND=TRUE -D NETWORK_ENABLE=TRUE -D NETWORK_TLS_ENABLE=TRUE -D NETWORK_IP6_ENABLE=FALSE -D NETWORK_ISCSI_ENABLE=FALSE -D NETWORK_VLAN_ENABLE=FALSE -D NETWORK_IPSEC_ENABLE=FALSE -D SMC_PCI_SUPPORT=1"

Usage

cd RPi4
BRANCH_NAME="1.36-beta-update-20240224"
ARTIFACTS_DIR="RPi4_UEFI_${BRANCH_NAME}"
mkdir "release/${ARTIFACTS_DIR}"
chmod 777 -R "release/${ARTIFACTS_DIR}"

# Build
podman build --squash --build-arg BRANCH=${BRANCH_NAME} -t localhost/ndf-uefi-rpi4:latest .

# Copy artifacts to attached volume dir
podman run --rm -it -v $PWD/release/${ARTIFACTS_DIR}:/artifacts:Z localhost/ndf-uefi-rpi4:latest

# Fix artifact permissions
sudo find "release/${ARTIFACTS_DIR}" -type d -exec chmod 750 {} +
sudo find "release/${ARTIFACTS_DIR}" -type f -exec chmod 640 {} +
sudo chown -R ${USER}:${USER} "release/${ARTIFACTS_DIR}"
cd "release/${ARTIFACTS_DIR}/artifacts" && ls -la

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.

The binary blobs in the firmware/ directory are licensed under the Cypress wireless driver license that is found there.

About

Raspberry Pi 4 UEFI Firmware Images

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Dockerfile 100.0%