Merge pull request #116 from thetechprepper/misc/pre-r7-build23-updates

Merge misc/pre-r7-build23 updates to release/r7
This commit is contained in:
thetechprepper
2026-09-06 13:22:39 -07:00
committed by GitHub
85 changed files with 94 additions and 30 deletions
+4 -2
View File
@@ -1,7 +1,7 @@
# EmComm Tools Regression Tests # EmComm Tools Regression Tests
- **Build**: ETC R7 Build 19 - **Build**: ETC R7 Build 23
- **Date**: 31 August 2026 - **Date**: 5 September 2026
## First Login ## First Login
@@ -100,6 +100,8 @@
* [ ] Internet * [ ] Internet
* [ ] Transport * [ ] Transport
* [ ] MeshChat * [ ] MeshChat
* [ ] NomadNet
* [ ] lxmd -p
## Bluetooth TNC ## Bluetooth TNC
-3
View File
@@ -1,13 +1,10 @@
# To-Do # To-Do
* [ ] Add NomadNet
* [ ] Update MeshChat 2.4.0 fork * [ ] Update MeshChat 2.4.0 fork
* [ ] Upgrade RNS to version 1.4.2
* [ ] Add Reticulum * [ ] Add Reticulum
* [ ] et-user-backup * [ ] et-user-backup
* [ ] ~/.reticulum/storage/identities * [ ] ~/.reticulum/storage/identities
* [ ] ~/.nomadnetwork/storage * [ ] ~/.nomadnetwork/storage
* [ ] Add PnP support for LoRa devices
* [ ] Add support for Bluetooth devices (et-uv-pro) * [ ] Add support for Bluetooth devices (et-uv-pro)
* [ ] et-mail * [ ] et-mail
* [ ] et-debug * [ ] et-debug
+1
View File
@@ -0,0 +1 @@
et-64x64-icon.png
Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

+37
View File
@@ -0,0 +1,37 @@
#!/bin/bash
#
# Author : Gaston Gonzalez
# Date : 5 September 2026
# Updated : 6 September 2026
# Purpose : Generate 36 PNG images for use as a spinner for Plymouth
#
# throbber-xxxx.png is the looping animation on startup
# animation-xxxx.png is the end frame animation
#
# For simplicity, 36 frames are generated for both using ImageMagick.
SIZE=64x64
SPINNER_PNG="et-${SIZE}-icon.png"
# This is step is no longer needed. I created a new version of the
# 512x512 icon with the "E" and "T" removed in GIMP.
#convert ../../overlay/usr/share/icons/emcomm-tools-icon-black-512.png \
# -transparent black et-512x512-icon.png
convert et-512x512-icon.png \
-resize ${SIZE} ${SPINNER_PNG}
for i in $(seq 0 35); do
angle=$((i * 10))
frame=$(printf "%04d" $((i + 1)))
convert ${SPINNER_PNG} \
-background none \
-rotate "${angle}" \
-gravity center \
-extent ${SIZE} \
"animation-${frame}.png"
# Make a copy for the throbber frame looping animation
cp "animation-${frame}.png" "throbber-${frame}.png"
done
+4 -4
View File
@@ -2,7 +2,7 @@
# #
# Author : Gaston Gonzalez # Author : Gaston Gonzalez
# Date : 6 November 2024 # Date : 6 November 2024
# Updated : 29 August 2026 # Updated : 5 September 2026
# Purpose : Configures the system for a specific mode of operation # Purpose : Configures the system for a specific mode of operation
# Use a simple text file to save the state of the last mode selected # Use a simple text file to save the state of the last mode selected
@@ -258,18 +258,18 @@ if [ $exit_status -eq 0 ]; then
et-log "Using ARDOP as the modem." et-log "Using ARDOP as the modem."
start_and_wait_for_service et-service-ardop start_and_wait_for_service et-service-ardop
start_and_wait_for_service et-service-winlink-ardop start_and_wait_for_service et-service-winlink-ardop
min http://localhost:8080 min http://localhost:8080 2>/dev/null
;; ;;
${MODE_ID_WINLINK_MERCURY}) ${MODE_ID_WINLINK_MERCURY})
et-log "Using Mercury as the modem." et-log "Using Mercury as the modem."
start_and_wait_for_service et-service-mercury-arq start_and_wait_for_service et-service-mercury-arq
start_and_wait_for_service et-service-winlink-mercury start_and_wait_for_service et-service-winlink-mercury
min http://localhost:8080 min http://localhost:8080 2>/dev/null
;; ;;
${MODE_ID_WINLINK_PACKET}) ${MODE_ID_WINLINK_PACKET})
start_and_wait_for_service et-service-direwolf-simple start_and_wait_for_service et-service-direwolf-simple
start_and_wait_for_service et-service-winlink-packet start_and_wait_for_service et-service-winlink-packet
min http://localhost:8080 min http://localhost:8080 2>/dev/null
;; ;;
${MODE_ID_WINLINK_VARA_FM}) ${MODE_ID_WINLINK_VARA_FM})
dialog --title "User Action Required" --msgbox "VARA FM is not a plug and play mode. You must configure VARA manually." 10 50 dialog --title "User Action Required" --msgbox "VARA FM is not a plug and play mode. You must configure VARA manually." 10 50
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

+13 -10
View File
@@ -2,26 +2,29 @@
# #
# Author : Gaston Gonzalez # Author : Gaston Gonzalez
# Date : 16 March 2024 # Date : 16 March 2024
# Purpose : Install boot screen branding # Updated : 6 September 2026
# Purpose : Install boot/installer branding
et-log "Installing EmComm Tools branding" et-log "Installing EmComm Tools branding"
apt install plymouth-themes -y apt install plymouth-themes -y
PLYMOUTH_DIR=/usr/share/plymouth PLYMOUTH_DIR=/usr/share/plymouth
UBIQUITY_DIR=/usr/share/ubiquity
BOOT_LOGO=/usr/share/plymouth/ubuntu-logo.png BOOT_LOGO=/usr/share/plymouth/ubuntu-logo.png
BOOT_LOGO_ORIG=$BOOT_LOGO.orig BOOT_LOGO_ORIG=$BOOT_LOGO.orig
if [ ! -e $BOOT_LOGO_ORIG ]; then
cp $BOOT_LOGO $BOOT_LOGO_ORIG
et-log "Backing up boot screen logo: $BOOT_LOGO"
fi
et-log "Installing boot screen logo" et-log "Installing boot screen logo"
cp ../logos/emcomm-tools-logo-white.png $BOOT_LOGO cp -v ../logos/emcomm-tools-logo-white.png $BOOT_LOGO
et-log "Installing desktop wallpaper" et-log "Installing desktop wallpaper..."
cp ../logos/emcomm-tools-wallpaper.png /usr/share/backgrounds/ cp -v ../logos/emcomm-tools-wallpaper.png /usr/share/backgrounds/
cp ../logos/emcomm-tools-wallpaper.png /usr/share/backgrounds/warty-final-ubuntu.png cp -v ../logos/emcomm-tools-wallpaper.png /usr/share/backgrounds/warty-final-ubuntu.png
et-log "Installing spinners..."
cp -v ../overlay/usr/share/plymouth/themes/spinner/*.png "${PLYMOUTH_DIR}/themes/spinner/"
et-log "Installing installer assets..."
cp -v ../overlay/usr/share/ubiquity/pixmaps/ubuntu_installed.png "${UBIQUITY_DIR}/pixmaps/"
gsettings set org.gnome.desktop.background picture-uri file:////usr/share/backgrounds/emcomm-tools-wallpaper.png gsettings set org.gnome.desktop.background picture-uri file:////usr/share/backgrounds/emcomm-tools-wallpaper.png
+19
View File
@@ -0,0 +1,19 @@
#!/bin/bash
# Author : Gaston Gonzalez
# Date : 5 September 2026
# Purpose : Install NomadNet
set -e
trap 'last_command=$current_command; current_command=$BASH_COMMAND' DEBUG
trap 'et-log "\"${last_command}\" command failed with exit code $?."' ERR
APP=nomadnet
VERSION=1.2.0
et-log "Downloading ${APP} ${VERSION} for offline install..."
python3 -m pip download -d wheelhouse ${APP}==${VERSION}
et-log "Installing ${APP} ${RNS_VERSION} for single user use..."
PYTHONUSERBASE=/etc/skel/.local \
python3 -m pip install --user \
--no-index --find-links=wheelhouse \
${APP}==${VERSION}
+6 -9
View File
@@ -1,10 +1,13 @@
#!/bin/bash #!/bin/bash
# Author : Gaston Gonzalez # Author : Gaston Gonzalez
# Date : 13 February 2026 # Date : 13 February 2026
# Updated : 19 July 2026 # Updated : 5 September 2026
# Purpose : Install Reticulum # Purpose : Install Reticulum
set -e
trap 'last_command=$current_command; current_command=$BASH_COMMAND' DEBUG
trap 'et-log "\"${last_command}\" command failed with exit code $?."' ERR
RNS_VERSION=1.3.9 RNS_VERSION=1.5.1
et-log "Installing Python3..." et-log "Installing Python3..."
apt install \ apt install \
@@ -15,14 +18,8 @@ apt install \
et-log "Downloading rns ${RNS_VERSION} for offline install..." et-log "Downloading rns ${RNS_VERSION} for offline install..."
python3 -m pip download -d wheelhouse rns==${RNS_VERSION} python3 -m pip download -d wheelhouse rns==${RNS_VERSION}
#et-log "Downloading nomadnet for offline install..." et-log "Installing Reticulum ${RNS_VERSION} for single user use..."
#python3 -m pip download -d wheelhouse
et-log "Installing Reticulum for single user use..."
PYTHONUSERBASE=/etc/skel/.local \ PYTHONUSERBASE=/etc/skel/.local \
python3 -m pip install --user \ python3 -m pip install --user \
--no-index --find-links=wheelhouse \ --no-index --find-links=wheelhouse \
rns==${RNS_VERSION} rns==${RNS_VERSION}
#et-log "Removing wheelhouse to save space..."
#[[ -e wheelhouse ]] && rm -vrf wheelhouse
+2 -1
View File
@@ -2,7 +2,7 @@
# #
# Author : Gaston Gonzalez # Author : Gaston Gonzalez
# Date : 16 March 2024 # Date : 16 March 2024
# Updated : 31 August 2026 # Updated : 5 September 2026
# Purpose : Main installer for EmComm Tools Community (ETC) # Purpose : Main installer for EmComm Tools Community (ETC)
. ./env.sh . ./env.sh
@@ -120,6 +120,7 @@ exitIfNotRoot
# Install Reticulum and related applications # Install Reticulum and related applications
./install-reticulum.sh ./install-reticulum.sh
./install-nomadnet.sh
./install-meshchat.sh ./install-meshchat.sh
./install-modem73.sh ./install-modem73.sh
./install-mercury.sh ./install-mercury.sh
+7
View File
@@ -0,0 +1,7 @@
#!/bin/bash
# Author : Gaston Gonzalez
# Date : 5 September 2026
# Purpose : Test NomadNet installation
OUT=$(PYTHONUSERBASE=/etc/skel/.local /etc/skel/.local/bin/nomadnet --version)
exit $?
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# Author : Gaston Gonzalez # Author : Gaston Gonzalez
# Date : 11 April 2025 # Date : 11 April 2026
# Purpose : Test Reticulum installation # Purpose : Test Reticulum installation
OUT=$(PYTHONUSERBASE=/etc/skel/.local /etc/skel/.local/bin/rnsd --version) OUT=$(PYTHONUSERBASE=/etc/skel/.local /etc/skel/.local/bin/rnsd --version)