################################################################################ # setup system defaults ################################################################################ # The TARGET_CPU variable controls which processor should be targeted for # generated code. case $TARGET_ARCH in arm) # Valid TARGET_CPU for Raspberry Pi based devices are: # arm1176jzf-s cortex-a7 cortex-a53 if [ "$DEVICE" = "RPi" -o "$DEVICE" = "GPICase" ]; then TARGET_CPU="arm1176jzf-s" elif [ "$DEVICE" = "RPi2" ]; then TARGET_CPU="cortex-a7" elif [ "${DEVICE}" = "Pi02GPi" ]; then TARGET_CPU="cortex-a53" elif [ "${DEVICE:0:4}" = "RPi4" ]; then TARGET_CPU="cortex-a53" TARGET_CPU_FLAGS="+crc" else echo "${DEVICE} ${ARCH} not supported on ${DISTRO}!" exit 1 fi # TARGET_FLOAT: # Specifies which floating-point ABI to use. Permissible values are: # soft hard TARGET_FLOAT="hard" # Valid TARGET_FPU for Raspberry Pi based devices: # This specifies what floating point hardware (or hardware emulation) is # available on the target. Permissible names are: # vfp neon-vfpv4 neon-fp-armv8 if [ "$DEVICE" = "RPi" -o "$DEVICE" = "GPICase" ]; then TARGET_FPU="vfp" elif [ "$DEVICE" = "RPi2" ]; then TARGET_FPU="neon-vfpv4" elif [ "${DEVICE}" = "Pi02GPi" ]; then TARGET_FPU="neon-fp-armv8" elif [ "${DEVICE:0:4}" = "RPi4" ]; then TARGET_FPU="neon-fp-armv8" fi # Kernel target KERNEL_TARGET="zImage" ;; aarch64) if [ "${DISTRO}" != "Lakka" ]; then echo "${DEVICE} ${ARCH} not supported on ${DISTRO}!" exit 1 elif [ "${DEVICE}" = "RPi3" -o "${DEVICE}" = "RPiZero2-GPiCASE2W" ]; then TARGET_CPU="cortex-a53" elif [ "${DEVICE:0:4}" = "RPi4" ]; then TARGET_CPU="cortex-a72" elif [ "${DEVICE}" = "RPi5" ]; then TARGET_CPU="cortex-a76" TARGET_CPU_FLAGS="+crc+crypto" else echo "${DEVICE} ${ARCH} not supported on ${DISTRO}!" exit 1 fi TARGET_CPU_FLAGS="+crc" TARGET_FPU="neon-fp-armv8" TARGET_FLOAT="hard" KERNEL_TARGET="Image" ADDITIONAL_PACKAGES+=" rpi_userland" ;; esac # Bootloader to use (bcm2835-bootloader) BOOTLOADER="bcm2835-bootloader" # Additional kernel make parameters (for example to specify the u-boot loadaddress) KERNEL_MAKE_EXTRACMD="dtbs" # Additional kernel dependencies KERNEL_EXTRA_DEPENDS_TARGET="" # Kernel to use. values can be: # default: default mainline kernel LINUX="raspberrypi" # use framebuffer console EXTRA_CMDLINE="console=tty0" ################################################################################ # setup build defaults ################################################################################ # Project CFLAGS PROJECT_CFLAGS="" # SquashFS compression method (gzip / lzo / xz / zstd) SQUASHFS_COMPRESSION="zstd" ################################################################################ # setup project defaults ################################################################################ # OpenGL(X) implementation to use (no / mesa) OPENGL="no" # OpenGL-ES implementation to use (no / bcm2835-driver / mesa) OPENGLES="mesa" # Vulkan implementation to use (vulkan-loader / no) VULKAN="no" # Displayserver to use (wl / no) DISPLAYSERVER="no" # Windowmanager to use (weston / no) WINDOWMANAGER="no" # Xorg Graphic drivers to use (all / vc4 / none) # Space separated list is supported, # e.g. GRAPHIC_DRIVERS="vc4" GRAPHIC_DRIVERS="vc4" # KODI Player implementation to use (default / bcm2835-driver / mesa) KODIPLAYER_DRIVER="mesa" # use the kernel CEC framework for libcec (yes / no) CEC_FRAMEWORK_SUPPORT="yes" # additional Firmware to use (dvb-firmware, misc-firmware, wlan-firmware) # Space separated list is supported, # e.g. FIRMWARE="dvb-firmware misc-firmware wlan-firmware" FIRMWARE="misc-firmware wlan-firmware dvb-firmware brcmfmac_sdio-firmware-rpi" # build with installer (yes / no) INSTALLER_SUPPORT="no" # kernel image name KERNEL_NAME="kernel.img" # additional drivers to install: # for a list of additional drivers see packages/linux-drivers # Space separated list is supported, # e.g. ADDITIONAL_DRIVERS+=" DRIVER1 DRIVER2" # Comment ADDITIONAL_PACKAGES below if using bcm2835-driver ADDITIONAL_DRIVERS+=" bcm2835-driver" if [ "${ALSA_SUPPORT}" = "yes" ]; then ADDITIONAL_DRIVERS+=" rpi-cirrus-config" fi # build and install driver addons (yes / no) DRIVER_ADDONS_SUPPORT="no" # driver addons to install: # for a list of additional drivers see packages/linux-driver-addons # Space separated list is supported, DRIVER_ADDONS="crazycat dvb-latest" # additional packages to install: ADDITIONAL_PACKAGES+=" bcm2835-userland bcm2835-utils" # debug tty path DEBUG_TTY="/dev/console" # Overrides for Lakka if [ "${DISTRO}" = "Lakka" ]; then FIRMWARE="${FIRMWARE//dvb-firmware/}" DRIVER_ADDONS_SUPPORT="no" DRIVER_ADDONS="" if [ "${DEVICE:0:4}" = "RPi4" -o "${DEVICE}" = "RPi5" ]; then VULKAN="vulkan-loader" fi fi