# Architecture
BR2_arm=y
BR2_arm920t=y

# Toolchain
BR2_PACKAGE_GDB=y
BR2_PACKAGE_HOST_GDB=y
BR2_ENABLE_LOCALE_PURGE=y
BR2_TOOLCHAIN_BUILDROOT_INET_RPC=y
BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y


# Lock down headers to avoid breaking with new defaults
BR2_KERNEL_HEADERS_VERSION=y
BR2_DEFAULT_KERNEL_VERSION="3.17"
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_17=y

# System
BR2_TARGET_GENERIC_HOSTNAME="apf9328"
BR2_TARGET_GENERIC_ISSUE="Welcome to Armadeus development platform !"
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y
BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0"

# Filesystem
BR2_TARGET_ROOTFS_JFFS2=y

# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.17.2"
BR2_LINUX_KERNEL_DEFCONFIG="imx_v4_v5"
BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x08008000"
