Merge pull request #116 from thetechprepper/misc/pre-r7-build23-updates
Merge misc/pre-r7-build23 updates to release/r7
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
et-64x64-icon.png
|
||||||
|
After Width: | Height: | Size: 29 KiB |
@@ -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
|
||||||
@@ -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
|
||||||
|
|||||||
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 5.4 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.4 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 5.4 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.4 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.4 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 5.4 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.4 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 5.4 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.4 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.4 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 12 KiB |
@@ -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
|
||||||
|
|||||||
@@ -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}
|
||||||
@@ -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,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
|
||||||
|
|||||||
@@ -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,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)
|
||||||
|
|||||||