From 7d3c4ab65664254a943ff121b9f9fcfee6e418bc Mon Sep 17 00:00:00 2001 From: "Igor Zalatov (from Citadel PC)" Date: Thu, 9 Nov 2023 23:45:02 +0300 Subject: [PATCH] Update surveyorlabs project --- ...gk7205v300_ultimate_surveyorlabs_defconfig | 2 +- .../building.sh | 271 ------------------ .../general/overlay/etc/TZ | 2 +- .../general/overlay/etc/composer.ini | 2 +- .../general/overlay/etc/majestic.yaml | 63 ++++ .../general/overlay/etc/modules | 1 + .../general/overlay/etc/timezone | 2 +- 7 files changed, 68 insertions(+), 275 deletions(-) delete mode 100755 projects/gk7205v300_ultimate_surveyorlabs/building.sh create mode 100644 projects/gk7205v300_ultimate_surveyorlabs/general/overlay/etc/majestic.yaml diff --git a/projects/gk7205v300_ultimate_surveyorlabs/br-ext-chip-goke/configs/gk7205v300_ultimate_surveyorlabs_defconfig b/projects/gk7205v300_ultimate_surveyorlabs/br-ext-chip-goke/configs/gk7205v300_ultimate_surveyorlabs_defconfig index 14c543c..faca7ab 100644 --- a/projects/gk7205v300_ultimate_surveyorlabs/br-ext-chip-goke/configs/gk7205v300_ultimate_surveyorlabs_defconfig +++ b/projects/gk7205v300_ultimate_surveyorlabs/br-ext-chip-goke/configs/gk7205v300_ultimate_surveyorlabs_defconfig @@ -48,7 +48,7 @@ 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-gk7205v300" +BR2_TARGET_GENERIC_HOSTNAME="openipc-gk7205v300-surveyorlabs" BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL)/package/all-patches" # OpenIPC packages diff --git a/projects/gk7205v300_ultimate_surveyorlabs/building.sh b/projects/gk7205v300_ultimate_surveyorlabs/building.sh deleted file mode 100755 index 19a414f..0000000 --- a/projects/gk7205v300_ultimate_surveyorlabs/building.sh +++ /dev/null @@ -1,271 +0,0 @@ -#!/bin/bash -# -# OpenIPC.org (c) -# - -# -# Constants -# - -MAX_KERNEL_SIZE=0x200000 # 2MiB, 2097152 -MAX_KERNEL_SIZE_ULTIMATE=0x300000 # 3MiB, 3145728 -MAX_KERNEL_SIZE_EXPERIMENTAL=0x3E8480 # ~3.9MiB, 4097152 -MAX_ROOTFS_SIZE=0x500000 # 5MiB, 5242880 -MAX_ROOTFS_SIZE_ULTIMATE=0xA00000 # 10MiB, 10485760 - -_d=$(date +"%y.%m.%d") -OPENIPC_VER=$(echo OpenIPC v${_d:0:1}.${_d:1}) -unset _d - -SRC_CACHE_DIR="/tmp/buildroot_dl" -LOCK_FILE="$(pwd)/openipc.lock" - -# -# Functions -# - -echo_c() { - # 30 grey, 31 red, 32 green, 33 yellow, 34 blue, 35 magenta, 36 cyan,37 white - echo -e "\e[1;$1m$2\e[0m" -} - -check_or_set_lock() { - if [ -f "$LOCK_FILE" ] && ps -ax | grep "^\s*\b$(cat "$LOCK_FILE")\b" >/dev/null; then - echo_c 31 "Another instance running with PID $(cat "$LOCK_FILE")." - exit 1 - fi - - echo_c 32 "Starting OpenIPC builder." - echo $$ >$LOCK_FILE -} - -build_list_of_projects() { - FUNCS=() - AVAILABLE_PROJECTS=$(find br-ext-chip-*/configs/* -name "*_defconfig") - local p - for p in $AVAILABLE_PROJECTS; do - p=${p##*/}; p=${p//_defconfig/} - FUNCS+=($p) - done -} - -select_project() { - if [ $# -eq 0 ]; then - if [ -n "$(command -v fzf)" ]; then - local entries=$(echo $AVAILABLE_PROJECTS | sed "s/ /\n/g" | fzf) - [ -z "$entries" ] && echo_c 31 "Cancelled." && drop_lock_and_exit - BOARD=$(echo $entries | cut -d / -f 3 | awk -F_ '{printf "%s_%s", $1, $2}') - elif [ -n "$(command -v whiptail)" ]; then - local cmd="whiptail --title \"Available projects\" --menu \"Please select a project from the list:\" --notags 20 76 12" - local entry - for entry in $AVAILABLE_PROJECTS; do - local project=${entry##*/}; project=${project//_defconfig/} - local vendor=${entry%%/*}; vendor=${vendor##*-} - local flavor=${project##*_} - local chip=${project%%_*} - cmd="${cmd} \"${project}\" \"${vendor^} ${chip^^} ${flavor}\"" - done - BOARD=$(eval "${cmd} 3>&1 1>&2 2>&3") - [ $? != 0 ] && echo_c 31 "Cancelled." && drop_lock_and_exit - else - echo -ne "Usage: $0 \nVariants:" - local i - for i in "${FUNCS[@]}"; do echo -n " ${i}"; done - echo - drop_lock_and_exit - fi - else - BOARD=$1 - fi -} - -drop_lock_and_exit() { - [ -f "$LOCK_FILE" ] && rm $LOCK_FILE - exit 0 -} - -log_and_run() { - local command=$1 - echo_c 35 "$command" - $command -} - -clone() { - sudo apt-get update -y - sudo apt-get install -y automake make wget cpio file autotools-dev bc build-essential curl fzf git libtool rsync unzip libncurses-dev lzop - git clone --depth=1 https://github.com/OpenIPC/firmware.git -} - -fresh() { - BR_VER=2023.02.1 - - if [ -d "$SRC_CACHE_DIR" ]; then - echo_c 36 "Found cache directory." - else - echo_c 31 "Cache directory not found." - echo_c 34 "Creating cache directory ..." - log_and_run "mkdir -p ${SRC_CACHE_DIR}" - echo_c 34 "Done.\n" - fi - - if [ -d "buildroot-${BR_VER}" ]; then - echo_c 36 "Found existing Buildroot directory." - - if [ -d "buildroot-${BR_VER}/dl" ]; then - echo_c 36 "Found existing Buildroot downloads directory." - echo_c 34 "Copying Buildroot downloads to cache directory ..." - log_and_run "cp -rvf buildroot-${BR_VER}/dl/* ${SRC_CACHE_DIR}" - echo_c 34 "Done.\n" - fi - - echo_c 34 "Cleaning source directory." - echo_c 35 "make distclean" - make distclean - echo_c 34 "Done.\n" - else - echo_c 31 "Buildroot sources not found." - fi - - echo_c 34 "Downloading Buildroot sources to cache directory ..." - log_and_run "curl --continue-at - --output ${SRC_CACHE_DIR}/buildroot-${BR_VER}.tar.gz https://buildroot.org/downloads/buildroot-${BR_VER}.tar.gz" - echo_c 34 "Done.\n" - - echo_c 34 "Extracting a fresh copy of Buildroot from Buildroot sources ..." - log_and_run "tar xvf ${SRC_CACHE_DIR}/buildroot-${BR_VER}.tar.gz" - echo_c 34 "Done.\n" - - echo_c 34 "Copying cached source files back to Buildroot ..." - log_and_run "mkdir -p buildroot-${BR_VER}/dl/" - log_and_run "cp -rvf ${SRC_CACHE_DIR}/* buildroot-${BR_VER}/dl/" - echo_c 34 "Done.\n" - - # prevent to double download buildroot - # make prepare - - echo_c 33 "Start building OpenIPC Firmware ${OPENIPC_VER} for ${SOC}." - echo "The start-stop times" >/tmp/openipc_buildtime.txt - date >>/tmp/openipc_buildtime.txt -} - -should_fit() { - local filename=$1 - local maxsize=$2 - local filesize=$(stat --printf="%s" ./output/images/$filename) - if [[ $filesize -gt $maxsize ]]; then - export TG_NOTIFY="Warning: $filename is too large: $filesize vs $maxsize" - echo_c 31 "Warning: $filename is too large: $filesize vs $maxsize" - exit 1 - fi -} - -rename() { - if grep -q ultimate_defconfig ./output/.config || grep -q ultimate_surveyorlabs_defconfig ./output/.config || grep -q sdcard_defconfig ./output/.config; then - should_fit uImage $MAX_KERNEL_SIZE_ULTIMATE - should_fit rootfs.squashfs $MAX_ROOTFS_SIZE_ULTIMATE - else - should_fit uImage $MAX_KERNEL_SIZE - should_fit rootfs.squashfs $MAX_ROOTFS_SIZE - fi - mv -v ./output/images/uImage ./output/images/uImage.${SOC} - mv -v ./output/images/rootfs.squashfs ./output/images/rootfs.squashfs.${SOC} - mv -v ./output/images/rootfs.cpio ./output/images/rootfs.${SOC}.cpio - mv -v ./output/images/rootfs.tar ./output/images/rootfs.${SOC}.tar - date >>/tmp/openipc_buildtime.txt - echo_c 31 "\n\n$(cat /tmp/openipc_buildtime.txt)\n\n" -} - -rename_initramfs() { - should_fit uImage $MAX_KERNEL_SIZE_EXPERIMENTAL - mv -v ./output/images/uImage ./output/images/uImage.initramfs.${SOC} - mv -v ./output/images/rootfs.cpio ./output/images/rootfs.${SOC}.cpio - mv -v ./output/images/rootfs.tar ./output/images/rootfs.${SOC}.tar - date >>/tmp/openipc_buildtime.txt - echo_c 31 "\n\n$(cat /tmp/openipc_buildtime.txt)\n\n" -} - -autoup_rootfs() { - echo_c 34 "\nDownloading u-boot created by OpenIPC" - curl --location --output ./output/images/u-boot-${SOC}-universal.bin \ - https://github.com/OpenIPC/firmware/releases/download/latest/u-boot-${SOC}-universal.bin - - echo_c 34 "\nMaking autoupdate u-boot image" - ./output/host/bin/mkimage -A arm -O linux -T firmware -n "$OPENIPC_VER" \ - -a 0x0 -e 0x50000 -d ./output/images/u-boot-${SOC}-universal.bin \ - ./output/images/autoupdate-uboot.img - - echo_c 34 "\nMaking autoupdate kernel image" - ./output/host/bin/mkimage -A arm -O linux -T kernel -C none -n "$OPENIPC_VER" \ - -a 0x50000 -e 0x250000 -d ./output/images/uImage.${SOC} \ - ./output/images/autoupdate-kernel.img - - echo_c 34 "\nMaking autoupdate rootfs image" - ./output/host/bin/mkimage -A arm -O linux -T filesystem -n "$OPENIPC_VER" \ - -a 0x250000 -e 0x750000 -d ./output/images/rootfs.squashfs.${SOC} \ - ./output/images/autoupdate-rootfs.img -} - -copy_function() { - test -n "$(declare -f "$1")" || return - eval "${_/$1/$2}" -} - -uni_build() { - [ -z "$BOARD" ] && BOARD=$FUNCNAME - - SOC=$(echo $BOARD | cut -d '_' -f 1) - - set -e - if [ "$(echo $BOARD | cut -sd '_' -f 2)" == "" ]; then - BOARD="${BOARD}_lite" - fi - - if [ "$BOARD" == "hi3518ev200_lite" ]; then - NEED_AUTOUP=1 - fi - - echo_c 33 "\n SoC: $SOC\nBoard: $BOARD\n" - - if [ "all" = "${COMMAND}" ]; then - fresh $(make BOARD=${BOARD}) - fi - - log_and_run "make BOARD=${BOARD} ${COMMAND}" - - if [ "all" == "${COMMAND}" ]; then - if [ "ssc335_initramfs" == "$BOARD" ]; then - rename_initramfs - else - rename - fi - - if [ ! -z "$NEED_AUTOUP" ]; then - autoup_rootfs - fi - fi -} - -####### - -check_or_set_lock - -build_list_of_projects - -if [ -n "$1" ]; then - BOARD=$1 -else - select_project -fi - -[ -z "$BOARD" ] && echo_c 31 "Nothing selected." && drop_lock_and_exit - -COMMAND=$2 -[ -z "$COMMAND" ] && COMMAND=all - -for i in "${FUNCS[@]}"; do - copy_function uni_build $i -done - -echo_c 37 "Building OpenIPC for ${BOARD}" -uni_build $BOARD $COMMAND - -drop_lock_and_exit diff --git a/projects/gk7205v300_ultimate_surveyorlabs/general/overlay/etc/TZ b/projects/gk7205v300_ultimate_surveyorlabs/general/overlay/etc/TZ index 6e00cdb..92b818c 100644 --- a/projects/gk7205v300_ultimate_surveyorlabs/general/overlay/etc/TZ +++ b/projects/gk7205v300_ultimate_surveyorlabs/general/overlay/etc/TZ @@ -1 +1 @@ -CET-1CEST,M3.5.0,M10.5.0/3 \ No newline at end of file +<+05>-5 diff --git a/projects/gk7205v300_ultimate_surveyorlabs/general/overlay/etc/composer.ini b/projects/gk7205v300_ultimate_surveyorlabs/general/overlay/etc/composer.ini index ee20cba..48821fe 100644 --- a/projects/gk7205v300_ultimate_surveyorlabs/general/overlay/etc/composer.ini +++ b/projects/gk7205v300_ultimate_surveyorlabs/general/overlay/etc/composer.ini @@ -1,5 +1,5 @@ # composer_message="This firmware was created with the Composer project." # -default_timezone="CET-1CEST,M3.5.0,M10.5.0/3 | Europe/Brussels" +default_timezone="<+05>-5 | Etc/GMT-5" # diff --git a/projects/gk7205v300_ultimate_surveyorlabs/general/overlay/etc/majestic.yaml b/projects/gk7205v300_ultimate_surveyorlabs/general/overlay/etc/majestic.yaml new file mode 100644 index 0000000..cec445d --- /dev/null +++ b/projects/gk7205v300_ultimate_surveyorlabs/general/overlay/etc/majestic.yaml @@ -0,0 +1,63 @@ +system: + webAdmin: enabled + buffer: 1024 +image: + mirror: false + flip: false + rotate: none + contrast: auto + hue: 50 + saturation: 50 + luminance: auto +osd: + enabled: false + template: "%a %e %B %Y %H:%M:%S %Z" +nightMode: + enabled: true + nightAPI: true + irSensorPin: 8 + backlightPin: 72 + dncDelay: 1 + irSensorPinInvert: false + irCutPin1: 10 + irCutPin2: 11 +records: + enabled: false + path: /mnt/mmcblk0p1/%F/%H.mp4 + maxUsage: 95 +video0: + enabled: true + codec: h265 +video1: + enabled: false +jpeg: + enabled: true +mjpeg: + size: 640x360 + fps: 5 + bitrate: 1024 +audio: + enabled: false + volume: auto + srate: 8000 +rtsp: + enabled: true + port: 554 +hls: + enabled: false +youtube: + enabled: false +motionDetect: + enabled: false + visualize: true + debug: true +ipeye: + enabled: false +onvif: + enabled: true +watchdog: + enabled: true + timeout: 10 +isp: + lowDelay: false + sensorConfig: /etc/sensors/5M_imx335.ini diff --git a/projects/gk7205v300_ultimate_surveyorlabs/general/overlay/etc/modules b/projects/gk7205v300_ultimate_surveyorlabs/general/overlay/etc/modules index 343f963..824e0d1 100644 --- a/projects/gk7205v300_ultimate_surveyorlabs/general/overlay/etc/modules +++ b/projects/gk7205v300_ultimate_surveyorlabs/general/overlay/etc/modules @@ -1,3 +1,4 @@ +usb-storage f2fs vfat exfat diff --git a/projects/gk7205v300_ultimate_surveyorlabs/general/overlay/etc/timezone b/projects/gk7205v300_ultimate_surveyorlabs/general/overlay/etc/timezone index 48f5e2e..d6d1069 100644 --- a/projects/gk7205v300_ultimate_surveyorlabs/general/overlay/etc/timezone +++ b/projects/gk7205v300_ultimate_surveyorlabs/general/overlay/etc/timezone @@ -1 +1 @@ -Europe/Brussels \ No newline at end of file +Etc/GMT-5