Files
Lakka-LibreELEC/packages/tools/rpi-eeprom/package.mk
T
Tomáš Kelemen cc3bf85d4e RPi-Composite: initial commit for 6.1 branch
original PR: #2037 (for devel branch)

this brings images suited to work OOB for RPi3/4/5 with CRT TV sets. it
comes with preconfigured shaders, core options, readable font, ...
see https://www.lakka.tv/articles/2024/05/02/rpi-composite/

- add new RPiX-Composite devices under RPi project
- RPi3/4-Composite use own kernel config
- RPi5-Composite uses kernel config of RPi5
- remove linux.arm.conf broken symlinks from some devices
- move VULKAN enable to device options
- add splash screens for 480/576 height
- glibc: match kernel version for RPi3/4 (using 5.10.y with "fake" 240p
  patch)
- adjust DEVICE conditions to only match first 4 characters / first 4
  characters + wildcard (various places)
- add specific assets, configs, shaders in retroarch package
- retroarch: adjust default configuration
- linux: add 5.10.y kernel (used by RPi3/4-Composite, see above)
- linux: add patches for 5.10.y kernel
- mkimage: add additional information into cmdline.txt and
  retroarch-overrides.txt
- firstboot.sh: add output (logged in fs-resize.log)
- firstboot.sh: prepend processed overrides with hash
- firstboot.sh: copy core configurations to storage partition
- firstboot.sh: rework wifi autoconfig script
- retroarch: add full default config file and apply changes in the
  package file directly to the config for individual systems (solves
  some issues with core/game overrides when there is no value in the
  config and user creates overrides in first run of retroarch, then
  these overrides are also stored in default config)
- e2fsprogs: guard fs-verity code for kernels without fs-verity support
- retroarch: remove patch to save to default config file (superseded by
  existing RetroArch built-in functionality)
2026-01-27 11:13:26 +01:00

65 lines
2.2 KiB
Makefile

# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="rpi-eeprom"
PKG_VERSION="cb1a22eff0b15b15a686318a885d1f1a2563ff6f"
PKG_SHA256="1f2f4c0ceab2c8e451d6ffbca7befaacbab3c59353d39a9cfebd985e1106ef15"
PKG_LICENSE="BSD-3/custom"
PKG_SITE="https://github.com/raspberrypi/rpi-eeprom"
PKG_URL="https://github.com/raspberrypi/rpi-eeprom/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="pciutils"
PKG_LONGDESC="rpi-eeprom: firmware, config and scripts to update RPi4 SPI bootloader"
PKG_TOOLCHAIN="manual"
makeinstall_target() {
if [ "${DEVICE:0:4}" = "RPi4" ]; then
_variant="2711"
else
_variant="2712"
fi
DESTDIR=${INSTALL}/$(get_kernel_overlay_dir)/lib/firmware/raspberrypi/bootloader-${_variant}
mkdir -p ${DESTDIR}
_dirs="default latest"
for _maindir in ${_dirs}; do
for _dir in ${PKG_BUILD}/firmware-${_variant}/${_maindir} ${PKG_BUILD}/firmware-${_variant}/${_maindir}-*; do
[ -d "${_dir}" ] || continue
_basedir="$(basename "${_dir}")"
mkdir -p ${DESTDIR}/${_basedir}
cp -PRv ${_dir}/recovery.bin ${DESTDIR}/${_basedir}
# Bootloader SPI
PKG_FW_FILE="$(ls -1 /${_dir}/pieeprom-* 2>/dev/null | tail -1)"
[ -n "${PKG_FW_FILE}" ] && cp -PRv "${PKG_FW_FILE}" ${DESTDIR}/${_basedir}
if [ "${DEVICE:0:4}" = "RPi4" ]; then
# VIA USB3
PKG_FW_FILE="$(ls -1 ${_dir}/vl805-*.bin 2>/dev/null | tail -1)"
[ -n "${PKG_FW_FILE}" ] && cp -PRv "${PKG_FW_FILE}" ${DESTDIR}/${_basedir}
fi
done
done
# also create legacy naming symlinks
ln -s default ${DESTDIR}/critical
ln -s latest ${DESTDIR}/stable
mkdir -p ${INSTALL}/usr/bin
cp -PRv ${PKG_DIR}/source/rpi-eeprom-update ${INSTALL}/usr/bin
cp -PRv ${PKG_BUILD}/rpi-eeprom-update ${INSTALL}/usr/bin/.rpi-eeprom-update.real
cp -PRv ${PKG_BUILD}/rpi-eeprom-config ${INSTALL}/usr/bin
cp -PRv ${PKG_BUILD}/rpi-eeprom-digest ${INSTALL}/usr/bin
mkdir -p ${INSTALL}/etc/default
cp -PRv ${PKG_DIR}/config/rpi-eeprom-update-default ${INSTALL}/etc/default/rpi-eeprom-update
mkdir -p ${INSTALL}/usr/config
cp -PRv ${PKG_DIR}/config/rpi-eeprom-update-config ${INSTALL}/usr/config/rpi-eeprom-update
}