Skip to content

Commit

Permalink
adapted rpi4 kernel defconfig to contain CONFIG_COMPAT=y so that 32bit
Browse files Browse the repository at this point in the history
ARM binaries are also recognized and can work in a aarch64/armhf
multilib environment. Furthermore, adapted the S62HMServer and added
libNRJavaSerialv8.so because HMIPServer lacks a 64bit aarch64 version of
the serial library (see https://github.com/NeuronRobotics/nrjavaserial).
  • Loading branch information
jens-maus committed Oct 10, 2020
1 parent cbe42e5 commit b1133ad
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 40 deletions.
54 changes: 17 additions & 37 deletions buildroot-external/board/raspberrypi4/kernel_defconfig
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_KERNEL_LZ4=y
CONFIG_DEFAULT_HOSTNAME="localhost"
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
Expand Down Expand Up @@ -27,18 +26,13 @@ CONFIG_BLK_DEV_INITRD=y
CONFIG_EMBEDDED=y
# CONFIG_COMPAT_BRK is not set
CONFIG_PROFILING=y
CONFIG_ARCH_BCM=y
CONFIG_ARCH_BCM2835=y
CONFIG_ARM_LPAE=y
# CONFIG_CACHE_L2X0 is not set
CONFIG_SMP=y
CONFIG_HZ_250=y
CONFIG_HIGHMEM=y
CONFIG_UACCESS_WITH_MEMCPY=y
CONFIG_SECCOMP=y
# CONFIG_ATAGS is not set
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_COMPAT=y
# CONFIG_SUSPEND is not set
CONFIG_PM=y
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_STAT=y
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
Expand All @@ -47,26 +41,20 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
CONFIG_CPUFREQ_DT=y
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_VFP=y
CONFIG_NEON=y
CONFIG_KERNEL_MODE_NEON=y
# CONFIG_SUSPEND is not set
CONFIG_PM=y
CONFIG_RASPBERRYPI_FIRMWARE=y
CONFIG_ARM_CRYPTO=y
CONFIG_CRYPTO_SHA1_ARM_NEON=m
CONFIG_CRYPTO_SHA1_ARM_CE=m
CONFIG_CRYPTO_SHA2_ARM_CE=m
CONFIG_CRYPTO_SHA512_ARM=m
CONFIG_CRYPTO_AES_ARM=m
CONFIG_CRYPTO_AES_ARM_BS=m
CONFIG_CRYPTO_AES_ARM_CE=m
CONFIG_CRYPTO_GHASH_ARM_CE=m
CONFIG_CRYPTO_CRC32_ARM_CE=m
CONFIG_ARM64_CRYPTO=y
CONFIG_CRYPTO_SHA1_ARM64_CE=m
CONFIG_CRYPTO_SHA2_ARM64_CE=m
CONFIG_CRYPTO_SHA512_ARM64_CE=m
CONFIG_CRYPTO_SHA3_ARM64=m
CONFIG_CRYPTO_SM3_ARM64_CE=m
CONFIG_CRYPTO_SM4_ARM64_CE=m
CONFIG_CRYPTO_GHASH_ARM64_CE=m
CONFIG_CRYPTO_AES_ARM64_CE_CCM=m
CONFIG_CRYPTO_AES_ARM64_CE_BLK=m
CONFIG_CRYPTO_CHACHA20_NEON=m
CONFIG_OPROFILE=m
CONFIG_CRYPTO_NHPOLY1305_NEON=m
CONFIG_CRYPTO_AES_ARM64_BS=m
CONFIG_KPROBES=y
CONFIG_JUMP_LABEL=y
CONFIG_MODULES=y
Expand All @@ -76,9 +64,6 @@ CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_BLK_DEV_THROTTLING=y
CONFIG_PARTITION_ADVANCED=y
CONFIG_MAC_PARTITION=y
CONFIG_BINFMT_FLAT=y
CONFIG_BINFMT_ZFLAT=y
CONFIG_BINFMT_SHARED_FLAT=y
CONFIG_BINFMT_MISC=m
CONFIG_KSM=y
CONFIG_CLEANCACHE=y
Expand Down Expand Up @@ -442,7 +427,6 @@ CONFIG_RFKILL_INPUT=y
CONFIG_NET_9P=m
CONFIG_NFC=m
CONFIG_PCI=y
CONFIG_PCI_MSI=y
CONFIG_PCIE_BRCMSTB=y
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
Expand Down Expand Up @@ -691,7 +675,6 @@ CONFIG_W1_SLAVE_DS2438=m
CONFIG_W1_SLAVE_DS2780=m
CONFIG_W1_SLAVE_DS2781=m
CONFIG_W1_SLAVE_DS28E04=m
CONFIG_POWER_RESET=y
CONFIG_POWER_RESET_GPIO=y
CONFIG_BATTERY_DS2760=m
CONFIG_HWMON=m
Expand All @@ -706,7 +689,6 @@ CONFIG_SENSORS_SHTC1=m
CONFIG_SENSORS_INA2XX=m
CONFIG_SENSORS_TMP102=m
CONFIG_THERMAL=y
CONFIG_BCM2711_THERMAL=y
CONFIG_BCM2835_THERMAL=y
CONFIG_WATCHDOG=y
CONFIG_GPIO_WATCHDOG=m
Expand Down Expand Up @@ -1312,5 +1294,3 @@ CONFIG_FUNCTION_PROFILER=y
CONFIG_KGDB=y
CONFIG_KGDB_KDB=y
CONFIG_KDB_KEYBOARD=y
CONFIG_STRICT_DEVMEM=y
CONFIG_DEBUG_USER=y
4 changes: 2 additions & 2 deletions buildroot-external/configs/raspmatic_rpi4_defconfig
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BR2_aarch64=y
BR2_cortex_a72=y
BR2_ARM_FPU_NEON_VFPV4=y
BR2_ARM_FPU_VFPV4=y
BR2_DL_DIR="$(TOPDIR)/../download"
BR2_KERNEL_MIRROR="https://www.kernel.org/pub"
BR2_GNU_MIRROR="http://ftp.gnu.org/pub/gnu"
Expand All @@ -9,8 +9,8 @@ BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_EQ3_PATH)/patches"
# BR2_COMPILER_PARANOID_UNSAFE_PATH is not set
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_GLIBC_UTILS=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_ROOTFS_LIB_DIR="lib"
BR2_ROOTFS_LIB32_DIR="lib32"
BR2_TARGET_GENERIC_HOSTNAME=""
Expand Down
Binary file not shown.
12 changes: 11 additions & 1 deletion buildroot-external/overlay/base/etc/init.d/S62HMServer
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,17 @@ start() {
# to ensure that others are killed first in case of low memory situations
echo -900 >/proc/$$/oom_score_adj

start-stop-daemon -b -S -q -m -p ${PIDFILE} --exec java -- -Xmx128m -Dos.arch=$(uname -m) -Dlog4j.configuration=file:///etc/config/log4j.xml -Dfile.encoding=ISO-8859-1 -Dgnu.io.rxtx.SerialPorts=${HM_SERVER_DEVNODE} -jar ${HM_SERVER} ${HM_SERVER_ARGS}
# get the architecture
ARCH=$(uname -m)

# if we run on aarch64 we have to override the libNRJavaSerial definition
# so that the aarch64 (v8) version is used we supply our own
JAVAOPT=
if [[ "${ARCH}" == "aarch64" ]];then
JAVAOPT="-DlibNRJavaSerial.userlib=/opt/HMServer/libNRJavaSerialv8.so"
fi

start-stop-daemon -b -S -q -m -p ${PIDFILE} --exec java -- -Xmx128m -Dos.arch=${ARCH} ${JAVAOPT} -Dlog4j.configuration=file:///etc/config/log4j.xml -Dfile.encoding=ISO-8859-1 -Dgnu.io.rxtx.SerialPorts=${HM_SERVER_DEVNODE} -jar ${HM_SERVER} ${HM_SERVER_ARGS}
echo -n "."
waitStartupComplete
}
Expand Down

0 comments on commit b1133ad

Please sign in to comment.