# Mestre — Buildroot defconfig for the Xiegu X6200 # Milestone 1: serial console + SSH + Ethernet. No GUI, no audio. # # Derived from gdyuldin/AetherX6200Buildroot (GPL-2.0) # https://github.com/gdyuldin/AetherX6200Buildroot # # Build with: # ./scripts/build.sh # # Subsequent milestones add packages incrementally on top of this base. # --------------------------------------------------------------------------- # Architecture: Allwinner R16 (sun8i-a33), Cortex-A7 quad-core # --------------------------------------------------------------------------- BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y # --------------------------------------------------------------------------- # Toolchain # --------------------------------------------------------------------------- BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_CCACHE=y BR2_SSP_REGULAR=y BR2_RELRO_PARTIAL=y # --------------------------------------------------------------------------- # System # --------------------------------------------------------------------------- BR2_TARGET_GENERIC_HOSTNAME="mestre" BR2_TARGET_GENERIC_ISSUE="Mestre — SDR Control Head" BR2_TARGET_GENERIC_ROOT_PASSWD="mestre" BR2_SYSTEM_BIN_SH_BASH=y BR2_SYSTEM_DHCP="eth0" BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_MESTRE_PATH)/board/x6200/rootfs-overlay" # --------------------------------------------------------------------------- # Post-image: assemble sdcard.img via genimage # --------------------------------------------------------------------------- BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BR2_EXTERNAL_MESTRE_PATH)/board/x6200/genimage.cfg" # --------------------------------------------------------------------------- # Linux kernel # --------------------------------------------------------------------------- # Pinned to 6.6 LTS. The X6200 board support (sun8i-a33/R16) has been # mainline since 4.x, so this is a stable, well-tested combination. # # NOTE: linux.config was derived from Aether's 6.1-era defconfig. # Run `make linux-olddefconfig` after the first build to migrate any # renamed or removed symbols for 6.6. # # NOTE: The LCD panel patch (patches/0001-drm-panel-jinglitai-jlt4013a.patch) # targets 6.1-era panel/Kconfig line numbers and may need forward-porting # for 6.6. Milestone 1 (serial console) does not require the LCD driver. BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.66" BR2_KERNEL_HEADERS_6_6=y BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_MESTRE_PATH)/board/x6200/linux/linux.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_MESTRE_PATH)/board/x6200/linux/linux-midi.fragment" BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_MESTRE_PATH)/board/x6200/linux/patches/" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="$(BR2_EXTERNAL_MESTRE_PATH)/board/x6200/dts/sun8i-r16-x6200.dts" BR2_LINUX_KERNEL_INSTALL_TARGET=y # --------------------------------------------------------------------------- # U-Boot # --------------------------------------------------------------------------- BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.10" BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG=y BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_MESTRE_PATH)/board/x6200/uboot/uboot.config" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" BR2_TARGET_UBOOT_CUSTOM_DTS_PATH="$(BR2_EXTERNAL_MESTRE_PATH)/board/x6200/dts/sun8i-r16-x6200.dts" # --------------------------------------------------------------------------- # Root filesystem # --------------------------------------------------------------------------- BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="512M" # --------------------------------------------------------------------------- # Host tools required for image assembly # --------------------------------------------------------------------------- BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_UBOOT_TOOLS=y BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_MESTRE_PATH)/board/x6200/uboot/boot.cmd" # --------------------------------------------------------------------------- # Target packages — minimal: remote access + diagnostics # --------------------------------------------------------------------------- BR2_PACKAGE_OPENSSH=y BR2_PACKAGE_NANO=y BR2_PACKAGE_LESS=y BR2_PACKAGE_BASH_COMPLETION=y BR2_PACKAGE_UTIL_LINUX_BINARIES=y BR2_PACKAGE_UTIL_LINUX_MOUNT=y BR2_PACKAGE_UTIL_LINUX_RFKILL=y BR2_PACKAGE_DOSFSTOOLS=y BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y BR2_PACKAGE_E2FSPROGS=y BR2_PACKAGE_I2C_TOOLS=y BR2_PACKAGE_USBUTILS=y BR2_PACKAGE_EVTEST=y BR2_PACKAGE_STRACE=y # --------------------------------------------------------------------------- # NOT included here (added in later milestones): # - X11 / framebuffer console / touchscreen # - ALSA / PulseAudio / audio stack # - piHPSDR / WDSP / SoapySDR # - mestred (our evdev→MIDI service) # - Network Manager (using simple /etc/network/interfaces for now) # ---------------------------------------------------------------------------