Files
pawlet_rpi4/BoardConfig.mk
T
2026-06-05 14:28:57 -07:00

97 lines
3.4 KiB
Makefile

#
# Copyright (C) 2021-2022 KonstaKANG
# Copyright (C) 2025 oxmc
#
# SPDX-License-Identifier: Apache-2.0
#
DEVICE_PATH := device/pawlet/rpi4
# PawletOS common board config (A/B, partition sizes, update_engine)
include vendor/pawlet/config/BoardConfigPawlet.mk
# Architecture
TARGET_ARCH := arm64
TARGET_ARCH_VARIANT := armv8-a
TARGET_CPU_ABI := arm64-v8a
TARGET_CPU_ABI2 :=
TARGET_CPU_VARIANT := cortex-a72
# Bluetooth
BOARD_HAVE_BLUETOOTH := true
# Bootloader
TARGET_NO_BOOTLOADER := true
# Recovery — TWRP disabled until it supports Android 16 (latest is android-14.1)
# Uncomment the block below and set TARGET_NO_RECOVERY := false to re-enable.
#ifneq ($(wildcard vendor/pawlet/twrp_recovery/recovery.mk),)
# BOARD_RECOVERYIMAGE_PARTITION_SIZE := 134217728 # 128M
# TARGET_RECOVERY_FSTAB := device/pawlet/rpi4/recovery/recovery.rpi4.fstab
# PRODUCT_COPY_FILES += $(call find-copy-subdir-files,*,device/pawlet/rpi4/recovery/root,recovery/root)
# TARGET_RECOVERY_PIXEL_FORMAT := "RGB_565"
# $(call inherit-product, vendor/pawlet/twrp_recovery/recovery.mk)
#endif
TARGET_NO_RECOVERY := true
# Display
TARGET_SCREEN_DENSITY := 240
# AVB — no vbmeta partition in layout
BOARD_AVB_ENABLE := false
# Kernel
BOARD_CUSTOM_BOOTIMG := true
BOARD_CUSTOM_BOOTIMG_MK := $(DEVICE_PATH)/mkbootimg.mk
BOARD_KERNEL_CMDLINE := console=ttyS0,115200 androidboot.hardware=rpi4
# Boot devices — our fstab mounts partitions via /dev/block/by-name/*, and
# first-stage init only creates those symlinks for partitions on a declared
# boot device. The value is matched exactly against the uevent platform path
# with the /devices/platform/ prefix stripped:
# USB (sda, VL805 USB3 on PCIe): scb/fd500000.pcie
# SD card (mmcblk0, emmc2): emmc2bus/fe340000.mmc
BOARD_KERNEL_CMDLINE += androidboot.boot_devices=scb/fd500000.pcie,emmc2bus/fe340000.mmc
# Manifest
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := $(DEVICE_PATH)/framework_compatibility_matrix.xml
DEVICE_MANIFEST_FILE := $(DEVICE_PATH)/manifest.xml
PRODUCT_MANIFEST_FILES := $(DEVICE_PATH)/product_manifest.xml
# Partition sizes
BOARD_FLASH_BLOCK_SIZE := 4096
BOARD_BOOTIMAGE_PARTITION_SIZE := 134217728 # 128M
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 8589934592 # 8192M (8GB)
BOARD_SYSTEM_EXTIMAGE_PARTITION_SIZE := 4294967296 # 4096M (4GB)
BOARD_SYSTEM_EXTIMAGE_PARTITION_RESERVED_SIZE := 104857600 # 100MB
BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4
TARGET_COPY_OUT_SYSTEM_EXT := system_ext
BOARD_VENDORIMAGE_PARTITION_SIZE := 2147483648 # 2048M (2GB)
BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
TARGET_COPY_OUT_VENDOR := vendor
BOARD_USES_METADATA_PARTITION := true
BOARD_METADATAIMAGE_PARTITION_SIZE := 67108864 # 64MB (increased for A/B snapshot metadata)
BOARD_MISCIMAGE_PARTITION_SIZE := 4194304 # 4MB (A/B slot tracking)
BOARD_USERDATAIMAGE_PARTITION_SIZE := 134217728 # 128M
TARGET_USERIMAGES_SPARSE_EXT_DISABLED := true
TARGET_USERIMAGES_USE_EXT4 := true
# Platform
TARGET_BOARD_PLATFORM := bcm2711
TARGET_BOOTLOADER_BOARD_NAME := bcm2711
# Properties
TARGET_VENDOR_PROP += $(DEVICE_PATH)/vendor.prop
# SELinux
BOARD_SEPOLICY_DIRS += device/pawlet/rpi4/sepolicy
BOARD_KERNEL_CMDLINE += androidboot.selinux=permissive
# Wifi
BOARD_WLAN_DEVICE := bcmdhd
BOARD_HOSTAPD_DRIVER := NL80211
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
WPA_SUPPLICANT_VERSION := VER_0_8_X