Add ssc338q_apfpv_greg-generic-cu-eu profile
This commit is contained in:
+70
@@ -0,0 +1,70 @@
|
||||
# Architecture
|
||||
BR2_arm=y
|
||||
BR2_cortex_a7=y
|
||||
BR2_ARM_FPU_NEON_VFPV4=y
|
||||
BR2_ARM_INSTRUCTIONS_THUMB2=y
|
||||
|
||||
# Toolchain
|
||||
BR2_TOOLCHAIN_EXTERNAL=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/openipc/firmware/releases/download/$(OPENIPC_TOOLCHAIN).tgz"
|
||||
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="arm-openipc-linux-gnueabihf"
|
||||
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
|
||||
# BR2_TOOLCHAIN_EXTERNAL_INET_RPC is not set
|
||||
BR2_TOOLCHAIN_EXTERNAL_CXX=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/$(OPENIPC_SOC_FAMILY)/infinity6e-ssc012b.config"
|
||||
BR2_LINUX_KERNEL_UIMAGE=y
|
||||
BR2_LINUX_KERNEL_XZ=y
|
||||
|
||||
# Filesystem
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL)/package/busybox/busybox.config"
|
||||
BR2_PACKAGE_EXFATPROGS=y
|
||||
BR2_PACKAGE_UBOOT_TOOLS=y
|
||||
BR2_PACKAGE_ZLIB=y
|
||||
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
|
||||
BR2_PACKAGE_IW=y
|
||||
BR2_PACKAGE_HOSTAPD=y
|
||||
BR2_TARGET_ROOTFS_CPIO=y
|
||||
BR2_TARGET_ROOTFS_SQUASHFS=y
|
||||
BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y
|
||||
|
||||
# OpenIPC
|
||||
BR2_OPENIPC_SOC_VENDOR="sigmastar"
|
||||
BR2_OPENIPC_SOC_MODEL="ssc338q"
|
||||
BR2_OPENIPC_SOC_FAMILY="infinity6e"
|
||||
BR2_OPENIPC_VARIANT="apfpv"
|
||||
BR2_OPENIPC_FLASH_SIZE="16"
|
||||
|
||||
# Packages
|
||||
BR2_PACKAGE_DROPBEAR_OPENIPC=y
|
||||
BR2_PACKAGE_EXFAT_OPENIPC=y
|
||||
BR2_PACKAGE_IPCTOOL=y
|
||||
BR2_PACKAGE_JSONFILTER=y
|
||||
BR2_PACKAGE_LIBCURL_OPENIPC=y
|
||||
BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y
|
||||
# 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_LIBEVENT_OPENIPC=y
|
||||
BR2_PACKAGE_LIBOGG_OPENIPC=y
|
||||
BR2_PACKAGE_MAJESTIC_FONTS=y
|
||||
BR2_PACKAGE_MAJESTIC_WEBUI=y
|
||||
BR2_PACKAGE_MAJESTIC=y
|
||||
BR2_PACKAGE_MBEDTLS_OPENIPC=y
|
||||
BR2_PACKAGE_MAVFWD=y
|
||||
BR2_PACKAGE_APFPV_GREG=y
|
||||
BR2_PACKAGE_OPUS_OPENIPC=y
|
||||
BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y
|
||||
BR2_PACKAGE_RTL8811CU_OPENIPC=y
|
||||
BR2_PACKAGE_RTL88X2EU_OPENIPC=y
|
||||
BR2_PACKAGE_SIGMASTAR_OSDRV_INFINITY6E=y
|
||||
BR2_PACKAGE_VTUND_OPENIPC=y
|
||||
BR2_PACKAGE_YAML_CLI=y
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
#!/bin/sh
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
echo "Starting network..."
|
||||
ifup lo
|
||||
ifup eth0
|
||||
ifup wlan0
|
||||
;;
|
||||
|
||||
stop)
|
||||
echo "Stopping network..."
|
||||
ifdown lo
|
||||
ifdown -f eth0
|
||||
ifdown -f wlan0
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Usage: $0 {start|stop}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
+62
@@ -0,0 +1,62 @@
|
||||
#!/bin/sh
|
||||
|
||||
. /etc/init.d/libmedia.sh
|
||||
|
||||
DAEMON="/usr/bin/majestic"
|
||||
NAME="majestic"
|
||||
PIDFILE="/var/run/majestic.pid"
|
||||
|
||||
start() {
|
||||
echo "Starting $NAME..."
|
||||
if ensure_pidfile "$NAME" "$PIDFILE"; then
|
||||
echo "$NAME is already running"
|
||||
return 0
|
||||
fi
|
||||
|
||||
rm -f "$PIDFILE"
|
||||
start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "$DAEMON" -- -s
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Failed to launch $NAME"
|
||||
return 1
|
||||
fi
|
||||
echo "$NAME launch requested"
|
||||
}
|
||||
|
||||
stop() {
|
||||
echo "Stopping $NAME..."
|
||||
stop_service "$NAME" "$PIDFILE" 15 || return 1
|
||||
# Majestic keeps internal single-instance state briefly after exit.
|
||||
sleep 2
|
||||
}
|
||||
|
||||
status() {
|
||||
if ensure_pidfile "$NAME" "$PIDFILE"; then
|
||||
echo "$NAME running pid=$(cat "$PIDFILE")"
|
||||
return 0
|
||||
fi
|
||||
echo "$NAME stopped"
|
||||
return 1
|
||||
}
|
||||
|
||||
reload() {
|
||||
ensure_pidfile "$NAME" "$PIDFILE" || {
|
||||
echo "$NAME not running"
|
||||
return 1
|
||||
}
|
||||
kill -HUP "$(cat "$PIDFILE")"
|
||||
}
|
||||
|
||||
restart() {
|
||||
stop
|
||||
start
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start|stop|restart|reload|status)
|
||||
"$1"
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart|reload|status}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
#!/bin/sh
|
||||
|
||||
MAJESTIC_API="http://localhost/api/v1/config.json"
|
||||
|
||||
wait_for_majestic_ready() {
|
||||
timeout="${1:-30}"
|
||||
i=0
|
||||
while [ "$i" -lt "$timeout" ]; do
|
||||
curl -sf --connect-timeout 1 --max-time 2 "$MAJESTIC_API" >/dev/null 2>&1 && return 0
|
||||
sleep 1
|
||||
i=$((i + 1))
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
start() {
|
||||
echo "S99rc.local: waiting for majestic API..."
|
||||
if ! wait_for_majestic_ready 10; then
|
||||
echo "S99rc.local: majestic API not ready after 10s; continuing with /etc/rc.local anyway"
|
||||
else
|
||||
echo "S99rc.local: majestic API ready"
|
||||
fi
|
||||
echo "S99rc.local: running /etc/rc.local"
|
||||
/etc/rc.local
|
||||
}
|
||||
|
||||
stop() {
|
||||
[ -x /etc/rc.local.stop ] && /etc/rc.local.stop
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start|stop)
|
||||
"$1"
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit $?
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
iface wlan0 inet static
|
||||
address 192.168.0.1
|
||||
netmask 255.255.255.0
|
||||
pre-up adapter setup
|
||||
post-up adapter start
|
||||
post-down adapter stop
|
||||
+127
@@ -0,0 +1,127 @@
|
||||
#!/bin/sh
|
||||
|
||||
# udhcpc script edited by Tim Riker <Tim@Rikers.org>
|
||||
|
||||
# Changes by OpenIPC 2021
|
||||
#
|
||||
# - move resolv.conf path to /tmp
|
||||
# - remove interface notes from resolv.conf
|
||||
|
||||
|
||||
[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1
|
||||
|
||||
RESOLV_CONF="/tmp/resolv.conf"
|
||||
[ -e $RESOLV_CONF ] || touch $RESOLV_CONF
|
||||
[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
|
||||
[ -n "$subnet" ] && NETMASK="netmask $subnet"
|
||||
# Handle stateful DHCPv6 like DHCPv4
|
||||
[ -n "$ipv6" ] && ip="$ipv6/128"
|
||||
|
||||
[ -z "${IF_WAIT_DELAY}" ] && IF_WAIT_DELAY=10
|
||||
|
||||
wait_for_ipv6_default_route() {
|
||||
printf "Waiting for IPv6 default route to appear"
|
||||
while [ $IF_WAIT_DELAY -gt 0 ]; do
|
||||
if ip -6 route list | grep -q default; then
|
||||
printf "\n"
|
||||
return
|
||||
fi
|
||||
sleep 1
|
||||
printf "."
|
||||
: $((IF_WAIT_DELAY -= 1))
|
||||
done
|
||||
printf " timeout!\n"
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
deconfig)
|
||||
/sbin/ifconfig $interface up
|
||||
/sbin/ifconfig $interface 0.0.0.0
|
||||
|
||||
# drop info from this interface
|
||||
# resolv.conf may be a symlink to /tmp/, so take care
|
||||
TMPFILE=$(mktemp)
|
||||
grep -vE "# $interface\$" $RESOLV_CONF > $TMPFILE
|
||||
cat $TMPFILE > $RESOLV_CONF
|
||||
rm -f $TMPFILE
|
||||
|
||||
if [ -x /usr/sbin/avahi-autoipd ]; then
|
||||
/usr/sbin/avahi-autoipd -c $interface && /usr/sbin/avahi-autoipd -k $interface
|
||||
fi
|
||||
|
||||
if [ "$interface" = "eth0" ] && [ -x /usr/bin/adapter ]; then
|
||||
/usr/bin/adapter route
|
||||
fi
|
||||
;;
|
||||
|
||||
leasefail|nak)
|
||||
if [ -x /usr/sbin/avahi-autoipd ]; then
|
||||
/usr/sbin/avahi-autoipd -c $interface || /usr/sbin/avahi-autoipd -wD $interface --no-chroot
|
||||
fi
|
||||
/sbin/ifconfig $interface $(fw_printenv -n ipaddr || echo -n 192.168.1.10) netmask $(fw_printenv -n netmask || echo -n 255.255.255.0) up
|
||||
|
||||
if [ "$interface" = "eth0" ] && [ -x /usr/bin/adapter ]; then
|
||||
/usr/bin/adapter route
|
||||
fi
|
||||
;;
|
||||
|
||||
renew|bound)
|
||||
if [ -x /usr/sbin/avahi-autoipd ]; then
|
||||
/usr/sbin/avahi-autoipd -c $interface && /usr/sbin/avahi-autoipd -k $interface
|
||||
fi
|
||||
/sbin/ifconfig $interface $ip $BROADCAST $NETMASK
|
||||
if [ -n "$ipv6" ] ; then
|
||||
wait_for_ipv6_default_route
|
||||
fi
|
||||
|
||||
if [ -n "$router" ] ; then
|
||||
echo "deleting routers"
|
||||
while route del default gw 0.0.0.0 dev $interface 2> /dev/null; do
|
||||
:
|
||||
done
|
||||
|
||||
for i in $router ; do
|
||||
route add default gw $i dev $interface
|
||||
done
|
||||
fi
|
||||
|
||||
# drop info from this interface
|
||||
# resolv.conf may be a symlink to /tmp/, so take care
|
||||
#TMPFILE=$(mktemp)
|
||||
#grep -vE "# $interface\$" $RESOLV_CONF > $TMPFILE
|
||||
#cat $TMPFILE > $RESOLV_CONF
|
||||
#rm -f $TMPFILE
|
||||
|
||||
# Clearing the file because it is in RAM
|
||||
> $RESOLV_CONF
|
||||
|
||||
# prefer rfc3397 domain search list (option 119) if available
|
||||
if [ -n "$search" ]; then
|
||||
search_list=$search
|
||||
elif [ -n "$domain" ]; then
|
||||
search_list=$domain
|
||||
fi
|
||||
|
||||
[ -n "$search_list" ] &&
|
||||
echo "search $search_list" >> $RESOLV_CONF
|
||||
|
||||
for i in $dns ; do
|
||||
echo adding dns $i
|
||||
echo "nameserver $i" >> $RESOLV_CONF
|
||||
done
|
||||
|
||||
ntpd -q -N -n
|
||||
|
||||
if [ "$interface" = "eth0" ] && [ -x /usr/bin/adapter ]; then
|
||||
/usr/bin/adapter route
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
HOOK_DIR="$0.d"
|
||||
for hook in "${HOOK_DIR}/"*; do
|
||||
[ -f "${hook}" -a -x "${hook}" ] || continue
|
||||
"${hook}" "${@}"
|
||||
done
|
||||
|
||||
exit 0
|
||||
+117
@@ -0,0 +1,117 @@
|
||||
#!/usr/bin/haserl
|
||||
Content-type: text/html; charset=UTF-8
|
||||
Cache-Control: no-store
|
||||
Pragma: no-cache
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" data-bs-theme="<%= ${webui_theme:=dark} %>">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title><% html_title %></title>
|
||||
<link rel="stylesheet" href="/a/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="/a/bootstrap.override.css">
|
||||
<script src="/a/bootstrap.bundle.min.js"></script>
|
||||
<script src="/a/main.js"></script>
|
||||
</head>
|
||||
|
||||
<body id="page-<%= $pagename %>" class="<%= $fw_variant %>">
|
||||
<nav class="navbar navbar-expand-lg bg-body-tertiary">
|
||||
<div class="container">
|
||||
<a class="navbar-brand" href="status.cgi"><img alt="Image: OpenIPC logo" height="32" src="/a/logo.svg"><span class="x-small ms-1"><%= $fw_variant %></span></a>
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse justify-content-end" id="navbarNav">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item dropdown">
|
||||
<a aria-expanded="false" class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" id="dropdownInformation" role="button">Information</a>
|
||||
<ul aria-labelledby="dropdownInformation" class="dropdown-menu">
|
||||
<li><a class="dropdown-item" href="status.cgi">Status</a></li>
|
||||
<li><hr class="dropdown-divider"></li>
|
||||
<li><a class="dropdown-item" href="info-majestic.cgi">Majestic</a></li>
|
||||
<li><a class="dropdown-item" href="info-kernel.cgi">Kernel</a></li>
|
||||
<li><a class="dropdown-item" href="info-overlay.cgi">Overlay</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<!-- New aalinkFPV link to the right of Information -->
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/cgi-bin/aalinkFPV.cgi">aalinkFPV</a>
|
||||
</li>
|
||||
<li class="nav-item dropdown">
|
||||
<a aria-expanded="false" class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" id="dropdownMajestic" role="button">Majestic</a>
|
||||
<ul aria-labelledby="dropdownMajestic" class="dropdown-menu">
|
||||
<li><a class="dropdown-item" href="mj-settings.cgi">Settings</a></li>
|
||||
<li><hr class="dropdown-divider"></li>
|
||||
<li><a class="dropdown-item" href="mj-configuration.cgi">Configuration</a></li>
|
||||
<li><a class="dropdown-item" href="mj-endpoints.cgi">Endpoints</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="nav-item dropdown">
|
||||
<a aria-expanded="false" class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" id="dropdownSettings" role="button">Firmware</a>
|
||||
<ul aria-labelledby="dropdownSettings" class="dropdown-menu">
|
||||
<li><a class="dropdown-item" href="fw-time.cgi">Time</a></li>
|
||||
<li><a class="dropdown-item" href="fw-interface.cgi">Interface</a></li>
|
||||
<li><hr class="dropdown-divider"></li>
|
||||
<li><a class="dropdown-item" href="fw-update.cgi">Update</a></li>
|
||||
<li><a class="dropdown-item" href="fw-settings.cgi">Settings</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="nav-item dropdown">
|
||||
<a aria-expanded="false" class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" id="dropdownTools" role="button">Tools</a>
|
||||
<ul aria-labelledby="dropdownTools" class="dropdown-menu">
|
||||
<li><a class="dropdown-item" href="tool-files.cgi">Files</a></li>
|
||||
<% if [ -e /dev/mmcblk0 ]; then %>
|
||||
<li><a class="dropdown-item" href="tool-sdcard.cgi">SDcard</a></li>
|
||||
<% fi %>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="nav-item"><a class="nav-link" href="preview.cgi">Preview</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<main class="pb-4">
|
||||
<div class="container" style="min-height: 85vh">
|
||||
<div class="row mt-1 x-small">
|
||||
<div class="col-lg-2">
|
||||
<div id="pb-memory" class="progress my-1" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"><div class="progress-bar"></div></div>
|
||||
<div id="pb-overlay" class="progress my-1" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"><div class="progress-bar"></div></div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mb-2">
|
||||
<%= $(signature) %>
|
||||
</div>
|
||||
|
||||
<div class="col-1" id="daynight_value"></div>
|
||||
<div class="col-md-4 col-lg-3 mb-2 text-end">
|
||||
<div id="time-now"></div>
|
||||
<div class="text-secondary" id="soc-temp"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% if [ -z "$network_gateway" ]; then %>
|
||||
<div class="alert alert-warning">
|
||||
<p class="mb-0">Internet connection not available, please <a href="fw-network.cgi">check your network settings</a>.</p>
|
||||
</div>
|
||||
<% fi %>
|
||||
|
||||
<% if [ ! -e $(get_config) ]; then %>
|
||||
<div class="alert alert-danger">
|
||||
<p class="mb-0">Majestic configuration not found, please <a href="mj-configuration.cgi">check your Majestic settings</a>.</p>
|
||||
</div>
|
||||
<% fi %>
|
||||
|
||||
<% if [ "$(cat /etc/TZ)" != "$TZ" ] || [ -e /tmp/system-reboot ]; then %>
|
||||
<div class="alert alert-danger">
|
||||
<h3>Warning.</h3>
|
||||
<p>System settings have been updated, restart to apply pending changes.</p>
|
||||
<span class="d-flex gap-3">
|
||||
<a class="btn btn-danger" href="fw-restart.cgi">Restart camera</a>
|
||||
</span>
|
||||
</div>
|
||||
<% fi %>
|
||||
|
||||
<h2><%= $page_title %></h2>
|
||||
<% log_read %>
|
||||
@@ -0,0 +1,20 @@
|
||||
/etc/sensors/imx307.bin
|
||||
/etc/sensors/gc2053.bin
|
||||
/etc/sensors/gc4653.bin
|
||||
/etc/sensors/sc501ai.bin
|
||||
#
|
||||
/lib/modules/4.9.84/kernel/fs/lockd/lockd.ko
|
||||
/lib/modules/4.9.84/kernel/fs/nfs/nfs.ko
|
||||
/lib/modules/4.9.84/kernel/fs/nfs/nfsv3.ko
|
||||
/lib/modules/4.9.84/kernel/fs/nfs_common/grace.ko
|
||||
/lib/modules/4.9.84/kernel/net/sunrpc/sunrpc.ko
|
||||
#
|
||||
/lib/modules/4.9.84/sigmastar/sensor_gc2053_mipi.ko
|
||||
/lib/modules/4.9.84/sigmastar/sensor_gc2093_mipi.ko
|
||||
/lib/modules/4.9.84/sigmastar/sensor_gc4653_mipi.ko
|
||||
/lib/modules/4.9.84/sigmastar/sensor_imx307_mipi.ko
|
||||
/lib/modules/4.9.84/sigmastar/sensor_imx347_mipi.ko
|
||||
/lib/modules/4.9.84/sigmastar/sensor_os04a10_mipi.ko
|
||||
/lib/modules/4.9.84/sigmastar/sensor_os04c10_mipi.ko
|
||||
/lib/modules/4.9.84/sigmastar/sensor_sc501ai_mipi.ko
|
||||
/lib/modules/4.9.84/sigmastar/sensor_sc8235_mipi.ko
|
||||
Reference in New Issue
Block a user