From 81e6ea18551ec6828efd524f0ab3cf6b5bd49cbe Mon Sep 17 00:00:00 2001 From: "Igor Zalatov (from Citadel PC)" Date: Thu, 17 Aug 2023 00:19:17 +0300 Subject: [PATCH] Update ssc338q_lite_ask project, and add t31_lite_vixand2 project --- .../motors/0001-change-port-to-AMA1.patch | 11 -- .../configs/t31_lite_vixand2_defconfig | 134 ++++++++++++++++++ .../general/overlay/etc/composer.ini | 2 + .../general/overlay/etc/init.d/S50httpd | 66 +++++++++ 4 files changed, 202 insertions(+), 11 deletions(-) delete mode 100644 projects/ssc338q_lite_ask/general/package/motors/0001-change-port-to-AMA1.patch create mode 100644 projects/t31_lite_vixand2/br-ext-chip-ingenic/configs/t31_lite_vixand2_defconfig create mode 100644 projects/t31_lite_vixand2/general/overlay/etc/composer.ini create mode 100755 projects/t31_lite_vixand2/general/overlay/etc/init.d/S50httpd diff --git a/projects/ssc338q_lite_ask/general/package/motors/0001-change-port-to-AMA1.patch b/projects/ssc338q_lite_ask/general/package/motors/0001-change-port-to-AMA1.patch deleted file mode 100644 index a195a46..0000000 --- a/projects/ssc338q_lite_ask/general/package/motors/0001-change-port-to-AMA1.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/xm-uart/main.c 2021-11-06 21:52:52.000000000 +0300 -+++ b/xm-uart/main.c 2022-12-11 19:22:03.322193742 +0300 -@@ -132,7 +132,7 @@ - ctrl.c_lflag &= ~ECHO; // disable echo - tcsetattr(STDIN_FILENO, TCSANOW, &ctrl); - -- int uart = open("/dev/ttyAMA0", O_RDWR | O_NOCTTY); -+ int uart = open("/dev/ttyS1", O_RDWR | O_NOCTTY); - if (uart == -1) { - printf("Error no is : %d\n", errno); - printf("Error description is : %s\n", strerror(errno)); diff --git a/projects/t31_lite_vixand2/br-ext-chip-ingenic/configs/t31_lite_vixand2_defconfig b/projects/t31_lite_vixand2/br-ext-chip-ingenic/configs/t31_lite_vixand2_defconfig new file mode 100644 index 0000000..7b9fac1 --- /dev/null +++ b/projects/t31_lite_vixand2/br-ext-chip-ingenic/configs/t31_lite_vixand2_defconfig @@ -0,0 +1,134 @@ +# Architecture +BR2_mipsel=y +BR2_mips_xburst=y +# BR2_MIPS_SOFT_FLOAT is not set +BR2_MIPS_FP32_MODE_32=y +# BR2_MIPS_FP32_MODE_XX is not set +BR2_MIPS_NAN_LEGACY=y +BR2_MIPS_OABI32=y +BR2_KERNEL_HEADERS_VERSION=y +BR2_DEFAULT_KERNEL_VERSION="3.10.14" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_10=y + +# Toolchain +BR2_PER_PACKAGE_DIRECTORIES=y +BR2_GCC_VERSION_12_X=y +# BR2_TOOLCHAIN_USES_UCLIBC is not set +# BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set +# BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc" +BR2_EXTRA_GCC_CONFIG_OPTIONS="--with-float=hard" +BR2_TOOLCHAIN_USES_MUSL=y +BR2_TOOLCHAIN_BUILDROOT_MUSL=y +BR2_TOOLCHAIN_BUILDROOT_LIBC="musl" +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_TOOLCHAIN_BUILDROOT_LOCALE=y +BR2_TOOLCHAIN_BUILDROOT_USE_SSP=y + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/$(OPENIPC_KERNEL).tar.gz" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/t31/kernel/t31.generic.config" +BR2_LINUX_KERNEL_UIMAGE=y +BR2_LINUX_KERNEL_LZMA=y + +# OpenIPC +BR2_OPENIPC_SOC_VENDOR="ingenic" +BR2_OPENIPC_SOC_MODEL="t31" +BR2_OPENIPC_SOC_FAMILY="t31" +BR2_OPENIPC_FLAVOR="lite" +BR2_OPENIPC_FLASH_SIZE="8" + +# Filesystem +# BR2_TARGET_TZ_INFO is not set +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_SQUASHFS=y +BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL)/overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL)/scripts/rootfs_script.sh" + +# OpenIPC configuration +BR2_TOOLCHAIN_BUILDROOT_VENDOR="openipc" +BR2_TARGET_GENERIC_ISSUE="Welcome to OpenIPC" +BR2_TARGET_GENERIC_HOSTNAME="openipc-t31-vasechkin" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL)/package/all-patches" + +# OpenIPC packages +BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL)/package/busybox/busybox.config" +BR2_PACKAGE_DROPBEAR_OPENIPC=y +# BR2_PACKAGE_FDK_AAC_OPENIPC is not set +BR2_PACKAGE_UBOOT_TOOLS=y +# BR2_PACKAGE_INGENIC_OPENSDK is not set +# BR2_PACKAGE_INGENIC_OSDRV_T31 is not set +BR2_PACKAGE_HASERL=y +BR2_PACKAGE_IPCTOOL=y +# BR2_PACKAGE_JSON_C is not set +# BR2_PACKAGE_JSONFILTER is not set +BR2_PACKAGE_LIBCURL_OPENIPC=y +BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y +# BR2_PACKAGE_LIBCURL_OPENIPC_VERBOSE is not set +# BR2_PACKAGE_LIBCURL_OPENIPC_PROXY_SUPPORT is not set +# BR2_PACKAGE_LIBCURL_OPENIPC_COOKIES_SUPPORT is not set +# BR2_PACKAGE_LIBCURL_OPENIPC_EXTRA_PROTOCOLS_FEATURES is not set +# BR2_PACKAGE_LIBCURL_OPENIPC_MBEDTLS is not set +# BR2_PACKAGE_LIBEVENT_OPENIPC is not set +# BR2_PACKAGE_LIBEVENT_OPENIPC_REMOVE_PYSCRIPT is not set +# BR2_PACKAGE_LIBOGG_OPENIPC is not set +# BR2_PACKAGE_LIBYAML is not set +# BR2_PACKAGE_MAJESTIC_FONTS is not set +# BR2_PACKAGE_MAJESTIC is not set +BR2_PACKAGE_MBEDTLS_OPENIPC=y +# BR2_PACKAGE_MBEDTLS_OPENIPC_PROGRAMS is not set +# BR2_PACKAGE_MBEDTLS_OPENIPC_COMPRESSION is not set +BR2_PACKAGE_MICROBE_WEB=y +# BR2_PACKAGE_MINI_SNMPD is not set +# BR2_PACKAGE_MOTORS is not set +# BR2_PACKAGE_OPUS_OPENIPC is not set +# BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT is not set +# BR2_PACKAGE_SSHPASS is not set +# BR2_PACKAGE_UACME_OPENIPC is not set +# BR2_PACKAGE_VTUND_OPENIPC is not set +# BR2_PACKAGE_YAML_CLI is not set +# BR2_PACKAGE_QUIRC_OPENIPC is not set +# BR2_PACKAGE_AUTONIGHT is not set + +# WiFi +# BR2_PACKAGE_WIRELESS_TOOLS is not set +# BR2_PACKAGE_WPA_SUPPLICANT is not set +# BR2_PACKAGE_WPA_SUPPLICANT_CLI is not set +# BR2_PACKAGE_WPA_SUPPLICANT_NL80211 is not set +# BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE is not set +# BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC is not set +# BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U is not set +# BR2_PACKAGE_RTL8188EU is not set + +# WIREGUARD +BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y +BR2_PACKAGE_WIREGUARD_TOOLS=y + +# EXPERIMENTAL +# BR2_PACKAGE_ONVIF_SIMPLE_SERVER is not set +# +BR2_PACKAGE_FFMPEG_OPENIPC=y + +# DEBUG +# BR2_PACKAGE_HOST_GDB is not set +# BR2_PACKAGE_GDB is not set + +# CCACHE +BR2_CCACHE=y +BR2_CCACHE_DIR="$(HOME)/.ccache" + +# Compression +BR2_PACKAGE_ZLIB=y + +# External +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="mipsel-openipc-linux-musl" +BR2_TOOLCHAIN_EXTERNAL_CXX=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y +BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/openipc/firmware/releases/download/$(OPENIPC_TOOLCHAIN).tgz" diff --git a/projects/t31_lite_vixand2/general/overlay/etc/composer.ini b/projects/t31_lite_vixand2/general/overlay/etc/composer.ini new file mode 100644 index 0000000..8e6afdb --- /dev/null +++ b/projects/t31_lite_vixand2/general/overlay/etc/composer.ini @@ -0,0 +1,2 @@ +# +composer_message="This firmware was created with the Composer project." diff --git a/projects/t31_lite_vixand2/general/overlay/etc/init.d/S50httpd b/projects/t31_lite_vixand2/general/overlay/etc/init.d/S50httpd new file mode 100755 index 0000000..2832d44 --- /dev/null +++ b/projects/t31_lite_vixand2/general/overlay/etc/init.d/S50httpd @@ -0,0 +1,66 @@ +#!/bin/sh + +DAEMON="httpd" +PIDFILE="/var/run/$DAEMON.pid" +CONFFILE="/etc/httpd.conf" + +HTTPD_ARGS="httpd -p 80 -f -c $CONFFILE -r Authentication" + +# shellcheck source=/dev/null +[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" + +if [ "$(fw_printenv -n debug)" ]; then + echo "Development mode" + sed -i "/^\/cgi-bin:admin:/s/^/#/" $CONFFILE +else + echo "Production mode" + sed -i "/^#\/cgi-bin:admin:/s/^#//" $CONFFILE +fi + +# The httpd does not create a pidfile, so pass "-n" in the command line +# and use "-m" to instruct start-stop-daemon to create one. +start() { + printf 'Starting %s: ' "$DAEMON" + [ -f /usr/sbin/$DAEMON ] || echo -en "DISABLED, " + # shellcheck disable=SC2086 # we need the word splitting + start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" \ + -- $HTTPD_ARGS + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +stop() { + printf 'Stopping %s: ' "$DAEMON" + [ -f /usr/sbin/$DAEMON ] || echo -en "DISABLED, " + start-stop-daemon -K -q -p "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + rm -f "$PIDFILE" + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +restart() { + stop + sleep 1 + start +} + +case "$1" in + start|stop|restart) + "$1";; + reload) + # Restart, since there is no true "reload" feature. + restart;; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac