Lakka-LibreELEC/packages/tools/bcm2835-bootloader/package.mk
Tomáš Kelemen 198dd04be7
RPi-Composite: initial commit (#2037)
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)
2025-03-07 01:09:47 +01:00

55 lines
2.7 KiB
Makefile

# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="bcm2835-bootloader"
PKG_VERSION="9995946dce284505d3dd46c7563d74a691f38a70"
PKG_SHA256="b85fd1c08308f8d6d66c82e6c8deb533291028b9c3f7d85092a6ed208db4920c"
PKG_ARCH="arm aarch64"
PKG_LICENSE="nonfree"
PKG_SITE="http://www.broadcom.com"
PKG_URL="${DISTRO_SRC}/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_TARGET="toolchain linux bcmstat"
PKG_LONGDESC="bcm2835-bootloader: Tool to create a bootable kernel for RaspberryPi"
PKG_TOOLCHAIN="manual"
makeinstall_target() {
mkdir -p ${INSTALL}/usr/share/bootloader
cp -PRv LICENCE* ${INSTALL}/usr/share/bootloader
case "${DEVICE}" in
RPi4*)
cp -PRv fixup4x.dat ${INSTALL}/usr/share/bootloader/fixup.dat
cp -PRv start4x.elf ${INSTALL}/usr/share/bootloader/start.elf
;;
RPi5*) ;;
*)
cp -PRv bootcode.bin ${INSTALL}/usr/share/bootloader
cp -PRv fixup_x.dat ${INSTALL}/usr/share/bootloader/fixup.dat
cp -PRv start_x.elf ${INSTALL}/usr/share/bootloader/start.elf
;;
esac
find_file_path bootloader/update.sh ${PKG_DIR}/files/update.sh && cp -PRv ${FOUND_PATH} ${INSTALL}/usr/share/bootloader
if find_file_path bootloader/canupdate.sh; then
cp -PRv ${FOUND_PATH} ${INSTALL}/usr/share/bootloader
sed -e "s/@PROJECT@/${DEVICE:-${PROJECT}}/g" \
-i ${INSTALL}/usr/share/bootloader/canupdate.sh
fi
find_file_path config/distroconfig.txt ${PKG_DIR}/files/distroconfig.txt && cp -PRv ${FOUND_PATH} ${INSTALL}/usr/share/bootloader
find_file_path config/distroconfig-composite.txt ${PKG_DIR}/files/distroconfig-composite.txt && cp -PRv ${FOUND_PATH} ${INSTALL}/usr/share/bootloader
find_file_path config/config.txt ${PKG_DIR}/files/config.txt && cp -PRv ${FOUND_PATH} ${INSTALL}/usr/share/bootloader
if [ "${DEVICE}" = "RPiZero-GPiCase" -o "${DEVICE}" = "RPiZero2-GPiCase" ]; then
find_file_path config/distroconfig.gpi2w.txt ${PKG_DIR}/files/distroconfig.gpi2w.txt && cp -PRv ${FOUND_PATH} ${INSTALL}/usr/share/bootloader
sed -i '/include distroconfig.txt/a #include distroconfig.gpi2w.txt' ${INSTALL}/usr/share/bootloader/config.txt
fi
if [ "${DISTRO}" = "Lakka" ]; then
echo "disable_splash=1" >> ${INSTALL}/usr/share/bootloader/distroconfig.txt
echo "dtparam=audio=on" >> ${INSTALL}/usr/share/bootloader/distroconfig.txt
echo "hdmi_max_pixel_freq:0=200000000" >> ${INSTALL}/usr/share/bootloader/distroconfig.txt
echo "hdmi_max_pixel_freq:1=200000000" >> ${INSTALL}/usr/share/bootloader/distroconfig.txt
echo "force_turbo=0" >> ${INSTALL}/usr/share/bootloader/config.txt
fi
}