...
 
Commits (6)
......@@ -17,7 +17,6 @@ SOURCE_DIR := $(TOP_DIR)/SOURCE
FUNCTION_DIR := $(TOP_DIR)/FUNCTIONS
DOWNLOAD_DIR := $(TOP_DIR)/DOWNLOADS
WORK_DIR := $(TOP_DIR)/WORK
OUTPUT_DIR := $(TOP_DIR)/OUTPUT
PATCH_DIR := $(SOURCE_DIR)/patches/buildroot-$(BUILDROOT_VERSION)
OVERLAY_DIR := $(SOURCE_DIR)/overlay/buildroot-$(BUILDROOT_VERSION)
BR_TAR := $(DOWNLOAD_DIR)/buildroot-$(BUILDROOT_VERSION).tar.gz
......@@ -27,6 +26,12 @@ BR_OVERLAY_APPLIED := $(BR_TOP_DIR)/.overlay_applied
BR_PATCHED := $(BR_TOP_DIR)/.patched
BR_TIME_FILE := $(BR_TOP_DIR)/.compile_time
ifneq ($(O),)
OUTPUT_DIR := $(O)
else
OUTPUT_DIR := $(TOP_DIR)/OUTPUT
endif
ifneq (,$(findstring git@,$(BUILDROOT_URL)))
BR_DL_CMD := git archive --format=tar.gz --prefix=buildroot/ --remote=$(BUILDROOT_URL) $(BUILDROOT_VERSION) >
else
......
......@@ -20,7 +20,7 @@ config BR2_BOARD_TYPE_AMLOGIC_M8
config BR2_BOARD_TYPE_AMLOGIC_GX
bool "GXB/GXL/GXM"
depends on BR2_aarch64
depends on BR2_aarch64 || BR2_arm
depends on BR2_cortex_a53
endchoice
BR2_arm=y
BR2_cortex_a53=y
BR2_ARM_FPU_NEON_FP_ARMV8=y
BR2_OPTIMIZE_3=y
BR2_TOOLCHAIN_BUILDROOT_VENDOR="EmbER"
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
BR2_KERNEL_HEADERS_VERSION=y
BR2_DEFAULT_KERNEL_VERSION="3.14.29"
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_14=y
BR2_GLIBC_VERSION_2_25=y
BR2_BINUTILS_VERSION_2_28_X=y
BR2_GCC_VERSION_6_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_TARGET_OPTIMIZATION="-march=armv8-a+crc -mtune=cortex-a53 -mfloat-abi=hard -mfpu=neon-fp-armv8 -mvectorize-with-neon-quad"
BR2_TARGET_GENERIC_HOSTNAME="EmbER"
BR2_TARGET_GENERIC_ISSUE="Welcome to Embedded Entertainment Rom (EmbER)"
BR2_INIT_SYSTEMD=y
BR2_TARGET_GENERIC_ROOT_PASSWD="letmein"
BR2_SYSTEM_BIN_SH_BASH=y
BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y
BR2_SYSTEM_DHCP="eth0"
# BR2_SYSTEM_NFS_CHECK is not set
BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_EmbER_PATH)/board/amlogic/overlay/MesonGX"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_GIT=y
BR2_LINUX_BUILD_ARM64_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git@bitbucket.org:croniccorey/amlogic-mm-common.git"
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="3605fa1fd0e17930490a1fcc425a27ebe1fc4500"
BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_EmbER_PATH)/board/amlogic/linux/3.14.x/amlogic-mmc-emmc.patch $(BR2_EXTERNAL_EmbER_PATH)/board/amlogic/linux/3.14.x/disable-fbcon.patch"
BR2_LINUX_KERNEL_DEFCONFIG="meson64_le"
BR2_LINUX_KERNEL_IMAGE=y
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="gxbb_sunnybox_g8s"
BR2_PACKAGE_FFMPEG_NONFREE=y
BR2_PACKAGE_FFMPEG_ENCODERS="ac3 aac wmav2 mjpeg png libvorbis"
BR2_PACKAGE_FFMPEG_MUXERS="spdif adts asf ipod mpegts ogg"
# BR2_PACKAGE_FFMPEG_INDEVS is not set
# BR2_PACKAGE_FFMPEG_OUTDEVS is not set
BR2_PACKAGE_FFMPEG_EXTRACONF="--disable-decoder=mpeg_xvmc"
BR2_PACKAGE_LZOP=y
BR2_PACKAGE_CIFS_UTILS=y
BR2_PACKAGE_NTFS_3G=y
BR2_PACKAGE_SQUASHFS=y
BR2_PACKAGE_SQUASHFS_XZ=y
# BR2_PACKAGE_FBV_PNG is not set
# BR2_PACKAGE_FBV_GIF is not set
BR2_PACKAGE_LIRC_TOOLS=y
BR2_PACKAGE_UPOWER=y
BR2_PACKAGE_USBUTILS=y
BR2_PACKAGE_PYTHON_HASHLIB=y
BR2_PACKAGE_CA_CERTIFICATES=y
BR2_PACKAGE_LIBPNG=y
BR2_PACKAGE_PIXMAN=y
BR2_PACKAGE_TIFF=y
BR2_PACKAGE_LIBXSLT=y
BR2_PACKAGE_RTMPDUMP=y
# BR2_PACKAGE_AVAHI_AUTOIPD is not set
BR2_PACKAGE_DHCP=y
BR2_PACKAGE_DHCP_CLIENT=y
BR2_PACKAGE_DROPBEAR=y
BR2_PACKAGE_DROPBEAR_DISABLE_REVERSEDNS=y
BR2_PACKAGE_NTP=y
BR2_PACKAGE_NTP_NTPDATE=y
BR2_PACKAGE_SAMBA4=y
BR2_PACKAGE_WPA_SUPPLICANT=y
BR2_PACKAGE_WPA_SUPPLICANT_EAP=y
BR2_PACKAGE_WPA_SUPPLICANT_WPS=y
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
BR2_PACKAGE_WPA_SUPPLICANT_DBUS_NEW=y
BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y
BR2_PACKAGE_SYSTEMD_HIBERNATE=y
BR2_PACKAGE_SYSTEMD_LOGIND=y
# BR2_PACKAGE_SYSTEMD_NETWORKD is not set
BR2_PACKAGE_SYSTEMD_RANDOMSEED=y
BR2_PACKAGE_NANO=y
BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y
# BR2_TARGET_ROOTFS_TAR is not set
BR2_ARM_AMLOGIC=y
BR2_PACKAGE_AMREMOTE=y
BR2_AMREMOTE_CONFIG="$(BR2_EXTERNAL_EmbER_PATH)/board/amlogic/remotes/arnubox_remote.conf"
BR2_PACKAGE_RECOVERY_REBOOT=y
BR2_PACKAGE_BRCMAP6XXX=y
BR2_PACKAGE_EMBER_VFD=y
BR2_PACKAGE_MALI=y
BR2_PACKAGE_LIBAMCODEC=y
BR2_PACKAGE_KODI=y
BR2_PACKAGE_KODI_ALSA_LIB=y
BR2_PACKAGE_KODI_AVAHI=y
BR2_PACKAGE_KODI_BLUEZ=y
BR2_PACKAGE_KODI_DBUS=y
BR2_PACKAGE_KODI_EVENTCLIENTS=y
BR2_PACKAGE_KODI_LIBBLURAY=y
BR2_PACKAGE_KODI_LIBCEC=y
BR2_PACKAGE_KODI_LCMS2=y
BR2_PACKAGE_KODI_LIRC=y
BR2_PACKAGE_KODI_LIBMICROHTTPD=y
BR2_PACKAGE_KODI_LIBNFS=y
BR2_PACKAGE_KODI_MYSQL=y
BR2_PACKAGE_KODI_PULSEAUDIO=y
BR2_PACKAGE_KODI_LIBSHAIRPLAY=y
BR2_PACKAGE_KODI_LIBSMBCLIENT=y
BR2_PACKAGE_KODI_LIBSSH=y
BR2_PACKAGE_KODI_LIBTHEORA=y
BR2_PACKAGE_KODI_UPNP=y
BR2_PACKAGE_KODI_EXP_PATCHES=y
BR2_PACKAGE_KODI_CUS_SETTINGS="ember_settings.xml"
BR2_PACKAGE_KODI_ADV_SETTINGS="amlogic_2gb_advancedsettings.xml"
BR2_PACKAGE_KODI_KEYMAP="variant.ember64.keyboard.xml"
BR2_PACKAGE_KODI_ADSP_BASIC=y
BR2_PACKAGE_KODI_ADSP_FREESURROUND=y
BR2_PACKAGE_KODI_AUDIODECODER_MODPLUG=y
BR2_PACKAGE_KODI_AUDIODECODER_NOSEFART=y
BR2_PACKAGE_KODI_AUDIODECODER_OPUS=y
BR2_PACKAGE_KODI_AUDIODECODER_SIDPLAY=y
BR2_PACKAGE_KODI_AUDIODECODER_SNESAPU=y
BR2_PACKAGE_KODI_AUDIODECODER_STSOUND=y
BR2_PACKAGE_KODI_AUDIODECODER_TIMIDITY=y
BR2_PACKAGE_KODI_AUDIODECODER_VGMSTREAM=y
BR2_PACKAGE_KODI_AUDIOENCODER_FLAC=y
BR2_PACKAGE_KODI_AUDIOENCODER_LAME=y
BR2_PACKAGE_KODI_AUDIOENCODER_VORBIS=y
BR2_PACKAGE_KODI_AUDIOENCODER_WAV=y
BR2_PACKAGE_KODI_PVR_ARGUSTV=y
BR2_PACKAGE_KODI_PVR_DVBLINK=y
BR2_PACKAGE_KODI_PVR_DVBVIEWER=y
BR2_PACKAGE_KODI_PVR_FILMON=y
BR2_PACKAGE_KODI_PVR_HDHOMERUN=y
BR2_PACKAGE_KODI_PVR_HTS=y
BR2_PACKAGE_KODI_PVR_IPTVSIMPLE=y
BR2_PACKAGE_KODI_PVR_MEDIAPORTAL_TVSERVER=y
BR2_PACKAGE_KODI_PVR_MYTHTV=y
BR2_PACKAGE_KODI_PVR_NEXTPVR=y
BR2_PACKAGE_KODI_PVR_NJOY=y
BR2_PACKAGE_KODI_PVR_PCTV=y
BR2_PACKAGE_KODI_PVR_STALKER=y
BR2_PACKAGE_KODI_PVR_VBOX=y
BR2_PACKAGE_KODI_PVR_VDR_VNSI=y
BR2_PACKAGE_KODI_PVR_VUPLUS=y
BR2_PACKAGE_KODI_PVR_WMC=y
BR2_PACKAGE_SYSTEM_SETTINGS=y
BR2_SYSTEM_SETTINGS_CLOCK="1512000"
BR2_SYSTEM_SETTINGS_DISABLED="16128"
BR2_SYSTEM_SETTINGS_HASOTA=y
BR2_SYSTEM_SETTINGS_UPDATE_URL="http://ember-dev.com/FIRMWARE/update.php"
BR2_SYSTEM_SETTINGS_HARDWARE_CODE="G8S"
BR2_PACKAGE_SYSTEM_SETTINGS_OVERLAY=y
BR2_PACKAGE_KODI_SKIN_CONFLUENCE_DEFAULT=y
BR2_PACKAGE_KODI_SKIN_CONFLUENCE=y
BR2_PACKAGE_KODI_SKIN_ESTUARY=y
BR2_PACKAGE_KODI_VISUALISATION_SHADERTOY=y
BR2_PACKAGE_KODI_VISUALISATION_SPECTRUM=y
BR2_PACKAGE_KODI_VISUALISATION_WAVEFORM=y
BR2_PACKAGE_SMB_CONF=y
BR2_PACKAGE_AUTOMOUNT=y
BR2_PACKAGE_SPEEDTEST_CLI=y
BR2_RAMDISK_DATA_PART="/dev/data"
BR2_RAMDISK_SYSTEM_PART="/dev/system"
BR2_RAMDISK_MODULES="vfd.ko"
BR2_RAMDISK_PLATFORM_INIT="$(BR2_EXTERNAL_EmbER_PATH)/board/amlogic/ramdisk/platform-init"
BR2_TARGET_ROOTFS_AMLPKG=y
BR2_AMLPKG_BOARDNAMES="p200_2G G8S g8s Mach10_V2"
BR2_AMLPKG_BOOTLOADER_IMG="$(BR2_EXTERNAL_EmbER_PATH)/board/amlogic/bootloaders/3.14.x/g8s_bootloader.img"
BR2_AMLPKG_RECOVERY_IMG="$(BR2_EXTERNAL_EmbER_PATH)/board/amlogic/recoveries/3.14.x/g8s_recovery.img"
include $(sort $(wildcard $(BR2_EXTERNAL_EmbER_PATH)/package/lang/*/*.mk))
################################################################################
#
# linaro-aarch64-toolchain
#
################################################################################
ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_6),y)
GCC_VER_MAIN = 6.3
GCC_VER_SUB = 1
GCC_VER_DATE = 2017.05
else ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_5),y)
GCC_VER_MAIN = 5.4
GCC_VER_SUB = 1
GCC_VER_DATE = 2017.05
else ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_4_9),y)
GCC_VER_MAIN = 4.9
GCC_VER_SUB = 4
GCC_VER_DATE = 2017.01
endif
LINARO_AARCH64_TOOLCHAIN_VERSION = $(GCC_VER_MAIN).$(GCC_VER_SUB)-$(GCC_VER_DATE)
LINARO_AARCH64_TOOLCHAIN_SOURCE = gcc-linaro-$(LINARO_AARCH64_TOOLCHAIN_VERSION)-x86_64_aarch64-linux-gnu.tar.xz
LINARO_AARCH64_TOOLCHAIN_SITE = https://releases.linaro.org/components/toolchain/binaries/$(GCC_VER_MAIN)-$(GCC_VER_DATE)/aarch64-linux-gnu
define HOST_LINARO_AARCH64_TOOLCHAIN_INSTALL_CMDS
mkdir -p $(HOST_DIR)/usr/gcc-linaro-aarch64-linux-gnu
cp -a $(@D)/* $(HOST_DIR)/usr/gcc-linaro-aarch64-linux-gnu/
endef
$(eval $(host-generic-package))
config BR2_PACKAGE_SYSTEM_SETTINGS
menuconfig BR2_PACKAGE_SYSTEM_SETTINGS
bool "kodi-script-system-settings"
depends on BR2_PACKAGE_SYSTEMD
select BR2_PACKAGE_DBUS_PYTHON
......@@ -9,13 +9,12 @@ config BR2_PACKAGE_SYSTEM_SETTINGS
help
Configure Firmware for EmbER System Settings & OTA Updates
menu "kodi-script-system-settings options"
depends on BR2_PACKAGE_SYSTEM_SETTINGS
if BR2_PACKAGE_SYSTEM_SETTINGS
config BR2_SYSTEM_SETTINGS_VER
string "Git Revision"
depends on BR2_PACKAGE_SYSTEM_SETTINGS
default "f1dd049ad6cc52d04316a4719a306a17c6431dcb"
default "df47f458189d4c09abb150abe8fe5c225d7610c1"
help
Configure EmbER System Settings Git Revision
......@@ -144,4 +143,4 @@ config BR2_SYSTEM_SETTINGS_OVERLAY_VER
help
Configure EmbER System Settings Overlay Git Revision
endmenu
endif
diff --git a/Makefile b/Makefile
index ec7751780..21f6245be 100644
--- a/Makefile
+++ b/Makefile
@@ -415,7 +415,11 @@ QUIET := $(if $(findstring s,$(filter-out --%,$(MAKEFLAGS))),-q)
# Strip off the annoying quoting
ARCH := $(call qstrip,$(BR2_ARCH))
-KERNEL_ARCH := $(shell echo "$(ARCH)" | sed -e "s/-.*//" \
+ifeq ($(BR2_LINUX_BUILD_ARM64_KERNEL),y)
+KERNEL_ARCH := arm64
+endif
+
+KERNEL_ARCH ?= $(shell echo "$(ARCH)" | sed -e "s/-.*//" \
-e s/i.86/i386/ -e s/sun4u/sparc64/ \
-e s/arcle/arc/ \
-e s/arceb/arc/ \
diff --git a/linux/Config.in b/linux/Config.in
index c110384a9..18b37dd28 100644
--- a/linux/Config.in
+++ b/linux/Config.in
@@ -89,6 +89,10 @@ config BR2_LINUX_KERNEL_CUSTOM_SVN
endchoice
+config BR2_LINUX_BUILD_ARM64_KERNEL
+ bool "Build Aarch64/Arm64 kernel"
+ depends on BR2_arm && (BR2_cortex_a53 || BR2_cortex_a57 || BR2_cortex_a72)
+
config BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE
string "Kernel version"
depends on BR2_LINUX_KERNEL_CUSTOM_VERSION
@@ -242,7 +246,7 @@ config BR2_LINUX_KERNEL_SIMPLEIMAGE
config BR2_LINUX_KERNEL_IMAGE
bool "Image"
- depends on BR2_aarch64
+ depends on BR2_aarch64 || BR2_LINUX_BUILD_ARM64_KERNEL
config BR2_LINUX_KERNEL_LINUX_BIN
bool "linux.bin"
diff --git a/linux/linux.mk b/linux/linux.mk
index 9da7e9bec..0760b3c7a 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -86,12 +86,16 @@ ifeq ($(BR2_PACKAGE_HOST_UBOOT_TOOLS),y)
LINUX_DEPENDENCIES += host-uboot-tools
endif
+ifeq ($(BR2_LINUX_BUILD_ARM64_KERNEL),y)
+LINUX_DEPENDENCIES += host-linaro-aarch64-toolchain
+endif
+
LINUX_MAKE_FLAGS = \
HOSTCC="$(HOSTCC)" \
HOSTCFLAGS="$(HOSTCFLAGS)" \
ARCH=$(KERNEL_ARCH) \
INSTALL_MOD_PATH=$(TARGET_DIR) \
- CROSS_COMPILE="$(TARGET_CROSS)" \
+ CROSS_COMPILE="$(TARGET_KERNEL_CROSS)" \
DEPMOD=$(HOST_DIR)/sbin/depmod
LINUX_MAKE_ENV = \
diff --git a/package/Makefile.in b/package/Makefile.in
index b32ad8e44..a4bfcbaad 100644
--- a/package/Makefile.in
+++ b/package/Makefile.in
@@ -187,6 +187,12 @@ else
TARGET_CROSS = $(HOST_DIR)/usr/bin/$(TOOLCHAIN_EXTERNAL_PREFIX)-
endif
+ifeq ($(BR2_LINUX_BUILD_ARM64_KERNEL),y)
+TARGET_KERNEL_CROSS = $(HOST_DIR)/usr/gcc-linaro-aarch64-linux-gnu/bin/aarch64-linux-gnu-
+else
+TARGET_KERNEL_CROSS = $(TARGET_CROSS)
+endif
+
# Define TARGET_xx variables for all common binutils/gcc
TARGET_AR = $(TARGET_CROSS)ar
TARGET_AS = $(TARGET_CROSS)as
diff --git a/package/linux-headers/linux-headers.mk b/package/linux-headers/linux-headers.mk
index 566043935..2dcbbf89f 100644
--- a/package/linux-headers/linux-headers.mk
+++ b/package/linux-headers/linux-headers.mk
@@ -100,10 +100,17 @@ LINUX_HEADERS_ADD_TOOLCHAIN_DEPENDENCY = NO
# This step is required to have a separate linux headers location for
# uClibc building. This way uClibc doesn't modify linux headers on installation
# of "its" headers
+
+ifeq ($(BR2_LINUX_BUILD_ARM64_KERNEL),y)
+LINUX_HEADERS_ARCH = arm
+else
+LINUX_HEADERS_ARCH = $(KERNEL_ARCH)
+endif
+
define LINUX_HEADERS_CONFIGURE_CMDS
(cd $(@D); \
$(TARGET_MAKE_ENV) $(MAKE) \
- ARCH=$(KERNEL_ARCH) \
+ ARCH=$(LINUX_HEADERS_ARCH) \
HOSTCC="$(HOSTCC)" \
HOSTCFLAGS="$(HOSTCFLAGS)" \
HOSTCXX="$(HOSTCXX)" \
@@ -114,7 +121,7 @@ endef
define LINUX_HEADERS_INSTALL_STAGING_CMDS
(cd $(@D); \
$(TARGET_MAKE_ENV) $(MAKE) \
- ARCH=$(KERNEL_ARCH) \
+ ARCH=$(LINUX_HEADERS_ARCH) \
HOSTCC="$(HOSTCC)" \
HOSTCFLAGS="$(HOSTCFLAGS)" \
HOSTCXX="$(HOSTCXX)" \