Current section
Files
Jump to
Current section
Files
nerves_system_vim3
nerves_defconfig
nerves_defconfig
# Architecture
BR2_aarch64=y
BR2_cortex_a73_a53=y
BR2_ARM_FPU_VFPV4=y
BR2_ARCH_IS_64=y
# Limit parallel jobs
BR2_JLEVEL=2
# Nerves system configuration
BR2_SYSTEM_DHCP="eth0"
# Use pseudo instead of fakeroot (better compatibility with modern glibc)
BR2_GLOBAL_PATCH_DIR="${BR2_EXTERNAL_NERVES_PATH}/patches ${NERVES_DEFCONFIG_DIR}/patches"
BR2_PACKAGE_HOST_PSEUDO=y
BR2_TOOLCHAIN_EXTERNAL=y
# Linux headers same as kernel, a 6.12 series kernel
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y
# Filesystem images
BR2_TARGET_ROOTFS_SQUASHFS=y
BR2_TARGET_ROOTFS_SQUASHFS4_GZIP=y
# Linux kernel - using 6.12 LTS
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.63"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${NERVES_DEFCONFIG_DIR}/linux/linux-defconfig"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="amlogic/meson-g12b-a311d-khadas-vim3"
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y
BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE=y
# U-Boot bootloader
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
# BR2_TARGET_UBOOT_CUSTOM_VERSION=y
# BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01"
BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG=y
BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE="${NERVES_DEFCONFIG_DIR}/uboot/uboot-defconfig"
BR2_TARGET_UBOOT_NEEDS_DTC=y
BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
BR2_TARGET_UBOOT_FORMAT_BIN=y
BR2_PACKAGE_UBOOT_TOOLS=y
BR2_PACKAGE_UBOOT_TOOLS_FWPRINTENV=y
# Required tools for building firmware images
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_MTOOLS=y
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_UBOOT_TOOLS=y
# Firmware
BR2_PACKAGE_LINUX_FIRMWARE=y
BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX=y
BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX=y
BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT76X2E=y
# Networking
BR2_PACKAGE_IW=y
BR2_PACKAGE_WPA_SUPPLICANT=y
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
# Busybox ntpd for time synchronization (required by nerves_time)
# BR2_PACKAGE_NTP is not set
# Hardware monitoring and utilities
BR2_PACKAGE_I2C_TOOLS=y
# Additional utilities
BR2_PACKAGE_STRESS_NG=y
# Erlang and Elixir
BR2_PACKAGE_ERLANG=y
BR2_PACKAGE_ERLANG_SMP=y
# Nerves-specific packages
BR2_PACKAGE_NBTTY=y
BR2_PACKAGE_F2FS_TOOLS=y
BR2_PACKAGE_BOARDID=y
BR2_PACKAGE_NERVES_CONFIG=y
# Enable NVMe support (VIM3 has M.2 slot)
BR2_PACKAGE_NVME_CLI=y
# Erlinit
BR2_PACKAGE_ERLINIT=y
# Enable libmnl
BR2_PACKAGE_LIBMNL=y
BR2_PACKAGE_IPROUTE2=y
BR2_PACKAGE_CAN_UTILS=y
# Accept notice regarding buildroot changes
BR2_PACKAGE_NERVES_CONFIG_ACCEPT_RNG_NOTICE=y
# Custom scripts
BR2_ROOTFS_POST_BUILD_SCRIPT="${NERVES_DEFCONFIG_DIR}/post-build.sh"
BR2_ROOTFS_POST_IMAGE_SCRIPT="${NERVES_DEFCONFIG_DIR}/post-createfs.sh"
BR2_ROOTFS_OVERLAY="${NERVES_DEFCONFIG_DIR}/rootfs_overlay"
# Amlogic Boot FIP for creating u-boot.bin.sd.bin
BR2_PACKAGE_HOST_AMLOGIC_BOOT_FIP=y
BR2_PACKAGE_HOST_AMLOGIC_BOOT_FIP_DEVICE="khadas-vim3"
BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="${NERVES_DEFCONFIG_DIR}/busybox.fragment"
# Amlogic NPU support
BR2_PACKAGE_AML_NPU=y
BR2_PACKAGE_TIM_VX=y
BR2_PACKAGE_TENSORFLOW_LITE_2_16=y
BR2_PACKAGE_TFLITE_VX_DELEGATE=y
BR2_PACKAGE_FLATBUFFERS=y
# Required for scx_lavd scheduler
BR2_PACKAGE_ELFUTILS=y
BR2_PACKAGE_ZLIB=y