[Sigmastar] update infinity6e scripts (#696)

Co-authored-by: Viktor <viktorxda@users.noreply.github.com>
pull/711/head
viktorxda 2023-04-03 08:30:38 +02:00 committed by GitHub
parent 81bc677c7e
commit 3c24604403
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
20 changed files with 201 additions and 167 deletions

View File

@ -6,41 +6,10 @@
ifeq ($(BR2_LINUX_KERNEL_EXT_SIGMASTAR_INITRAMFS),y)
LINUX_EXTENSIONS += sigmastar-initramfs
LINUX_DEPENDENCIES += sigmastar-initramfs
endif
SIGMASTAR_INITRAMFS_BUSYBOX_VERSION = 1.36.0
SIGMASTAR_INITRAMFS_BUSYBOX_SOURCE = busybox-$(SIGMASTAR_INITRAMFS_BUSYBOX_VERSION).tar.bz2
SIGMASTAR_INITRAMFS_BUSYBOX_SITE = https://www.busybox.net/downloads
SIGMASTAR_INITRAMFS_DOSFSTOOLS_VERSION = 4.2
SIGMASTAR_INITRAMFS_DOSFSTOOLS_SOURCE = dosfstools-$(SIGMASTAR_INITRAMFS_DOSFSTOOLS_VERSION).tar.gz
SIGMASTAR_INITRAMFS_DOSFSTOOLS_SITE = https://github.com/dosfstools/dosfstools/releases/download/v$(SIGMASTAR_INITRAMFS_DOSFSTOOLS_VERSION)
SIGMASTAR_INITRAMFS_TOOLCHAIN_SOURCE = arm-linux-musleabihf-cross.tgz
SIGMASTAR_INITRAMFS_TOOLCHAIN_SITE = https://more.musl.cc/10/x86_64-linux-musl
SIGMASTAR_INITRAMFS_BUSYBOX_PATH = $(HOST_DIR)/source/busybox-$(SIGMASTAR_INITRAMFS_BUSYBOX_VERSION)
SIGMASTAR_INITRAMFS_DOSFSTOOLS_PATH = $(HOST_DIR)/source/dosfstools-$(SIGMASTAR_INITRAMFS_DOSFSTOOLS_VERSION)
SIGMASTAR_INITRAMFS_TOOLCHAIN_PATH = $(HOST_DIR)/source/arm-linux-musleabihf-cross/bin
define SIGMASTAR_INITRAMFS_PREPARE_KERNEL
mkdir -p $(LINUX_DIR)/initramfs
cp -f $(SIGMASTAR_INITRAMFS_PKGDIR)/files/* $(LINUX_DIR)/initramfs
wget -c $(SIGMASTAR_INITRAMFS_BUSYBOX_SITE)/$(SIGMASTAR_INITRAMFS_BUSYBOX_SOURCE) -P $(HOST_DIR)/source
tar -xf $(HOST_DIR)/source/$(SIGMASTAR_INITRAMFS_BUSYBOX_SOURCE) -C $(HOST_DIR)/source
wget -c $(SIGMASTAR_INITRAMFS_DOSFSTOOLS_SITE)/$(SIGMASTAR_INITRAMFS_DOSFSTOOLS_SOURCE) -P $(HOST_DIR)/source
tar -xf $(HOST_DIR)/source/$(SIGMASTAR_INITRAMFS_DOSFSTOOLS_SOURCE) -C $(HOST_DIR)/source
wget -c $(SIGMASTAR_INITRAMFS_TOOLCHAIN_SITE)/$(SIGMASTAR_INITRAMFS_TOOLCHAIN_SOURCE) -P $(HOST_DIR)/source
tar -xf $(HOST_DIR)/source/$(SIGMASTAR_INITRAMFS_TOOLCHAIN_SOURCE) -C $(HOST_DIR)/source
cp -f $(SIGMASTAR_INITRAMFS_PKGDIR)/files/initramfs_defconfig $(SIGMASTAR_INITRAMFS_BUSYBOX_PATH)/.config
$(MAKE) CROSS_COMPILE=$(SIGMASTAR_INITRAMFS_TOOLCHAIN_PATH)/arm-linux-musleabihf- -C $(SIGMASTAR_INITRAMFS_BUSYBOX_PATH)
cp -f $(SIGMASTAR_INITRAMFS_BUSYBOX_PATH)/busybox $(LINUX_DIR)/initramfs
cd $(SIGMASTAR_INITRAMFS_DOSFSTOOLS_PATH) && ./autogen.sh && ./configure
$(MAKE) CFLAGS="-static -s" CC=$(SIGMASTAR_INITRAMFS_TOOLCHAIN_PATH)/arm-linux-musleabihf-gcc -C $(SIGMASTAR_INITRAMFS_DOSFSTOOLS_PATH)
cp -f $(SIGMASTAR_INITRAMFS_DOSFSTOOLS_PATH)/src/fsck.fat $(LINUX_DIR)/initramfs
cp -rf $(SIGMASTAR_INITRAMFS_PKGDIR)/files/initramfs $(@D)
$(SIGMASTAR_INITRAMFS_PKGDIR)/sigmastar-initramfs.sh "$(@D)" "$(MAKE)"
endef

View File

@ -8,31 +8,25 @@ mount -t proc proc /proc
mount -t sysfs sysfs /sys
sleep 1
[ -e /dev/mmcblk0p1 ] || exec sh
fsck.fat -a /dev/mmcblk0p1
mkdir -p $rootfs /mnt /overlay /sdcard /tmp
echo OpenIPC: Copy squashfs
mount -r /dev/mmcblk0p1 /sdcard || exec sh
cp -f /sdcard/rootfs.squashfs.* /tmp || exec sh
mount /tmp/rootfs.squashfs.* $rootfs || exec sh
mount -t tmpfs tmpfs -o size=5M /overlay
[ -f /sdcard/settings.tar ] && tar -xf /sdcard/settings.tar -C /overlay
[ -e /sdcard/settings.tar ] && tar -xf /sdcard/settings.tar -C /overlay
echo OpenIPC: Mount overlayfs
mkdir -p $rootdir $workdir
mount -t overlay overlay -o lowerdir=$rootfs,upperdir=$rootdir,workdir=$workdir /mnt
mount -o move /dev /mnt/dev
mount -o move /overlay /mnt/overlay
mount -o move $rootfs /mnt/rom
ln -sf ../wireless/interfaces /mnt/etc/network/interfaces
cp -f /bin/savesettings /mnt/usr/sbin
umount /sdcard
umount /proc
umount /sys
echo OpenIPC: Switch to new root
exec switch_root /mnt /sbin/init

View File

@ -6,7 +6,6 @@ dir /sys 755 0 0
file /init initramfs/init 755 0 0
file /bin/fsck.fat initramfs/fsck.fat 755 0 0
file /bin/savesettings initramfs/savesettings 755 0 0
file /bin/busybox initramfs/busybox 755 0 0
slink /bin/sh busybox 777 0 0

View File

@ -1,9 +0,0 @@
#!/bin/sh
file=/mnt/mmcblk0p1/settings.tar
if cat /proc/mounts | grep -q mmcblk0p1; then
[ -f $file ] && [ $(expr $(date +%s) - $(date +%s -r $file)) -le 1 ] && exit 0
tar -cf $file -C /overlay root && echo OpenIPC: Save settings to sdcard
else
echo OpenIPC: Cannot save settings to sdcard
fi

View File

@ -0,0 +1,24 @@
#!/bin/sh
DAEMON="inotifyd"
PIDFILE="/var/run/$DAEMON.pid"
INOTIFYD_ARGS="savesettings /etc:w"
case "$1" in
start)
printf "Starting $DAEMON: "
start-stop-daemon -q -S -b -m -p $PIDFILE -x $DAEMON -- $INOTIFYD_ARGS
[ $? = 0 ] && echo "OK" || echo "FAIL"
;;
stop)
printf "Stopping $DAEMON: "
start-stop-daemon -q -K -p $PIDFILE
[ $? = 0 ] && echo "OK" || echo "FAIL"
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit $?

View File

@ -0,0 +1,9 @@
#!/bin/sh
file=/mnt/mmcblk0p1/settings.tar
if cat /proc/mounts | grep -q mmcblk0p1 && [ -e /mnt/mmcblk0p1 ]; then
[ -e $file ] && time=$(expr $(date +%s) - $(date +%s -r $file));
if [ -z $time ] || [ $time -lt 0 ] || [ $time -ge 5 ]; then
tar -cf $file -C /overlay root
fi
fi

View File

@ -8,4 +8,14 @@ SIGMASTAR_INITRAMFS_VERSION = 1.0
SIGMASTAR_INITRAMFS_SITE =
SIGMASTAR_INITRAMFS_SOURCE =
SIGMASTAR_INITRAMFS_PATH = $(SIGMASTAR_INITRAMFS_PKGDIR)/files/script
define SIGMASTAR_INITRAMFS_INSTALL_TARGET_CMDS
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc/init.d
$(INSTALL) -m 755 -t $(TARGET_DIR)/etc/init.d $(SIGMASTAR_INITRAMFS_PATH)/S99inotifyd
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/sbin
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/sbin $(SIGMASTAR_INITRAMFS_PATH)/savesettings
endef
$(eval $(generic-package))

View File

@ -0,0 +1,28 @@
#!/bin/bash
BUSYBOX_SOURCE=busybox-1.36.0
BUSYBOX_SITE=https://www.busybox.net/downloads
DOSFSTOOLS_SOURCE=dosfstools-4.2
DOSFSTOOLS_SITE=https://github.com/dosfstools/dosfstools/releases/download/v4.2
TOOLCHAIN_SOURCE=cortex_a7_thumb2_hf-gcc8.4.0-musl-4_9-1e913a17
TOOLCHAIN_SITE=https://github.com/openipc/firmware/releases/download/latest
FILES=$1/initramfs/source
CROSS=$FILES/arm-openipc-linux-musleabihf_sdk-buildroot/bin
wget -c $BUSYBOX_SITE/$BUSYBOX_SOURCE.tar.bz2 -P $FILES
wget -c $DOSFSTOOLS_SITE/$DOSFSTOOLS_SOURCE.tar.gz -P $FILES
wget -c $TOOLCHAIN_SITE/$TOOLCHAIN_SOURCE.tgz -P $FILES
tar -xf $FILES/$BUSYBOX_SOURCE.tar.bz2 -C $FILES
tar -xf $FILES/$DOSFSTOOLS_SOURCE.tar.gz -C $FILES
tar -xf $FILES/$TOOLCHAIN_SOURCE.tgz -C $FILES
mv -f $FILES/../initramfs_defconfig $FILES/$BUSYBOX_SOURCE/.config
$2 CROSS_COMPILE=$CROSS/arm-linux- -C $FILES/$BUSYBOX_SOURCE
mv -f $FILES/$BUSYBOX_SOURCE/busybox $FILES/..
cd $FILES/$DOSFSTOOLS_SOURCE && ./autogen.sh && ./configure
$2 CC=$CROSS/arm-linux-gcc CFLAGS="-static -s" -C $FILES/$DOSFSTOOLS_SOURCE
mv -f $FILES/$DOSFSTOOLS_SOURCE/src/fsck.fat $FILES/..

View File

@ -9,7 +9,7 @@ SIGMASTAR_OSDRV_INFINITY6E_SITE =
SIGMASTAR_OSDRV_INFINITY6E_LICENSE = MIT
SIGMASTAR_OSDRV_INFINITY6E_LICENSE_FILES = LICENSE
SIGMASTAR_OSDRV_INFINITY6E_PATH = $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/sigmastar-osdrv-infinity6e/files
SIGMASTAR_OSDRV_INFINITY6E_PATH = $(SIGMASTAR_OSDRV_INFINITY6E_PKGDIR)/files
SIGMASTAR_OSDRV_INFINITY6E_SENSOR = $(call qstrip,$(BR2_PACKAGE_SIGMASTAR_OSDRV_SENSOR))
define SIGMASTAR_OSDRV_INFINITY6E_INSTALL_TARGET_CMDS

View File

@ -1,21 +0,0 @@
auto lo
iface lo inet loopback
manual eth0
iface eth0 inet dhcp
hwaddress ether $(fw_printenv -n ethaddr || echo 00:24:B8:FF:FF:FF)
auto wlan0
iface wlan0 inet dhcp
pre-up /etc/wireless/netsetup startup
post-up /etc/wireless/netsetup connect
post-down /etc/wireless/netsetup shutdown
manual wg0
iface wg0 inet static
address 192.168.99.1
netmask 255.255.255.0
pre-up modprobe wireguard
pre-up ip link add dev wg0 type wireguard
pre-up wg setconf wg0 /etc/wireguard.conf
post-down ip link del dev wg0

View File

@ -1,24 +0,0 @@
#!/bin/sh
# SSC338Q CamHi
if lsusb | grep -q f72b; then
if [ $1 = "startup" ]; then
modprobe 8733bu
fi
exit 0
fi
# HI3516EV300 CamHi
if lsusb | grep -q 7601; then
if [ $1 = "startup" ]; then
devmem 0x100C0080 32 0x530
echo 7 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio7/direction
echo 0 > /sys/class/gpio/gpio7/value
modprobe mt7601u
elif [ $1 = "shutdown" ]; then
echo 1 > /sys/class/gpio/gpio7/value
echo 7 > /sys/class/gpio/unexport
fi
exit 0
fi

View File

@ -1,28 +0,0 @@
#!/bin/sh
SSID=OpenIPC
PASS=12345678
MODE=server
if [ $1 = "connect" ]; then
wpa_passphrase $SSID $PASS > /tmp/wpa_supplicant.conf
if [ $MODE = "client" ]; then
sed -i '2i \\tscan_ssid=1' /tmp/wpa_supplicant.conf
else
sed -i '2i \\tmode=2' /tmp/wpa_supplicant.conf
fi
wpa_supplicant -B -D nl80211 -i wlan0 -c /tmp/wpa_supplicant.conf
if [ $MODE = "server" ]; then
udhcpd && sleep 300 && killall -q udhcpd && killall -q wpa_supplicant &
fi
fi
if [ $1 = "startup" ]; then
/etc/wireless/netadapter $1
ifconfig eth0 192.168.2.10
fi
if [ $1 = "shutdown" ]; then
killall -q udhcpd
killall -q wpa_supplicant
/etc/wireless/netadapter $1
fi

View File

@ -0,0 +1,14 @@
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
hwaddress ether $(fw_printenv -n ethaddr || echo 00:24:B8:FF:FF:FF)
address 192.168.2.10
netmask 255.255.255.0
auto wlan0
iface wlan0 inet dhcp
pre-up wireless
post-up wireless
post-down wireless

View File

@ -0,0 +1,5 @@
#!/bin/sh
if [ "$1" == "start" ] && [ -e /etc/network/interfaces.conf ]; then
cp -f /etc/network/interfaces.conf /etc/network/interfaces
rm -f /etc/network/interfaces.conf
fi

View File

@ -0,0 +1,17 @@
#!/bin/sh
CONFIG=
# SSC338Q CamHi
if [ "$CONFIG" = "ssc338q_sdcard_defconfig" ]; then
modprobe 8733bu
fi
# HI3516EV300 CamHi
if [ "$CONFIG" = "hi3516ev300_ultimate_defconfig" ]; then
devmem 0x100C0080 32 0x530
echo 7 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio7/direction
echo 0 > /sys/class/gpio/gpio7/value
echo 7 > /sys/class/gpio/unexport
modprobe mt7601usta
fi

View File

@ -0,0 +1,74 @@
#!/bin/sh
WPA_FILE=/etc/wireless.conf
WPA_TEMP=/tmp/wpa_supplicant.conf
if [ -e "$WPA_FILE" ]; then
WPA_SSID=$(sed -n "1p" $WPA_FILE)
WPA_PASS=$(sed -n "2p" $WPA_FILE)
WPA_MODE=$(sed -n "3p" $WPA_FILE)
fi
if [ -z "$WPA_SSID" ] || [ -z "$WPA_PASS" ] || [ "$WPA_MODE" != "client" ]; then
WPA_SSID=OpenIPC
WPA_PASS=12345678
WPA_MODE=server
rm -f "$WPA_FILE"
fi
case "$PHASE" in
pre-up)
/etc/network/adapter
wpa_passphrase "$WPA_SSID" "$WPA_PASS" > $WPA_TEMP
[ "$WPA_MODE" = "client" ] && sed -i '2i \\tscan_ssid=1' $WPA_TEMP
[ "$WPA_MODE" = "server" ] && sed -i '2i \\tmode=2' $WPA_TEMP
exit 0
;;
post-up)
wpa_supplicant -B -i wlan0 -c $WPA_TEMP
[ "$WPA_MODE" = "server" ] && udhcpd
exit 0
;;
post-down)
killall -q udhcpd
killall -q wpa_supplicant
exit 0
;;
esac
case "$1" in
connect)
ifdown wlan0
ifup wlan0
;;
reset)
rm -f "$WPA_FILE"
;;
setup)
if [ -z "$2" ] || [ -z "$3" ]; then
echo wireless setup [SSID] [PASS]
exit 0
fi
rm -f "$WPA_FILE"
echo "$2" >> "$WPA_FILE"
echo "$3" >> "$WPA_FILE"
echo "client" >> "$WPA_FILE"
echo SSID: "$2"
echo PASS: "$3"
;;
show)
echo SSID: "$WPA_SSID"
echo PASS: "$WPA_PASS"
;;
*)
echo wireless connect
echo wireless reset
echo wireless setup
echo wireless show
;;
esac

View File

@ -1,32 +0,0 @@
#!/bin/sh
usage() {
echo wireless connect
echo wireless setup
echo wireless show
}
if [ -z $1 ]; then
usage
elif [ $1 = "connect" ]; then
killall -q netsetup
killall -q udhcpd
killall -q wpa_supplicant
/etc/wireless/netsetup connect
elif [ $1 = "setup" ]; then
if [ -z $2 ] || [ -z $3 ]; then
echo wireless setup [SSID] [PASS]
exit 0
fi
sed -i "s/SSID=.*/SSID=$2/" /etc/wireless/netsetup
sed -i "s/PASS=.*/PASS=$3/" /etc/wireless/netsetup
sed -i "s/MODE=.*/MODE=client/" /etc/wireless/netsetup
echo SSID: $2
echo PASS: $3
elif [ $1 = "show" ]; then
SSID=$(grep SSID= /etc/wireless/netsetup | awk -F= '{print $2}')
PASS=$(grep PASS= /etc/wireless/netsetup | awk -F= '{print $2}')
echo SSID: $SSID
echo PASS: $PASS
else
usage
fi

View File

@ -9,19 +9,24 @@ WIRELESS_CONFIGURATION_SITE =
WIRELESS_CONFIGURATION_LICENSE = MIT
WIRELESS_CONFIGURATION_LICENSE_FILES = LICENSE
WIRELESS_CONFIGURATION_PATH = ../general/package/wireless-configuration/files
WIRELESS_CONFIGURATION_PATH = $(WIRELESS_CONFIGURATION_PKGDIR)/files
define WIRELESS_CONFIGURATION_INSTALL_TARGET_CMDS
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc
$(INSTALL) -m 644 -t $(TARGET_DIR)/etc $(WIRELESS_CONFIGURATION_PATH)/udhcpd.conf
$(INSTALL) -m 644 -t $(TARGET_DIR)/etc $(WIRELESS_CONFIGURATION_PATH)/network/udhcpd.conf
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc/wireless
$(INSTALL) -m 644 -t $(TARGET_DIR)/etc/wireless $(WIRELESS_CONFIGURATION_PATH)/interfaces
$(INSTALL) -m 755 -t $(TARGET_DIR)/etc/wireless $(WIRELESS_CONFIGURATION_PATH)/netadapter
$(INSTALL) -m 755 -t $(TARGET_DIR)/etc/wireless $(WIRELESS_CONFIGURATION_PATH)/netsetup
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc/init.d
$(INSTALL) -m 755 -t $(TARGET_DIR)/etc/init.d $(WIRELESS_CONFIGURATION_PATH)/script/S30wireless
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc/network
$(INSTALL) -m 644 -t $(TARGET_DIR)/etc/network $(WIRELESS_CONFIGURATION_PATH)/network/interfaces.conf
$(INSTALL) -m 755 -t $(TARGET_DIR)/etc/network $(WIRELESS_CONFIGURATION_PATH)/script/adapter
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/sbin
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/sbin $(WIRELESS_CONFIGURATION_PATH)/wireless
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/sbin $(WIRELESS_CONFIGURATION_PATH)/script/wireless
# Set config for wireless adapter
sed -i "s/CONFIG=/CONFIG=$(notdir $(DEFCONFIG))/g" $(TARGET_DIR)/etc/network/adapter
endef
$(eval $(generic-package))