Rather than starting a new thread, I thought I might append this one from November 2022. I know how much people just love that, but it is also nice to find everything on one topic too.
Details:
Odroid N2+ Ubuntu Mate 22.04LTS
New install. Installed through script. Ran when manually started (best results I have had with this).
Started to make it a systemd service and can not get it to run all kinds of failures.
Contents of “kraken_doa_start.sh”
#!/bin/bash
source /home/odroid/miniforge3/etc/profile.d/conda.sh <- required for systemd auto startup (comment out eval and use source instead)
#eval "$(conda shell.bash hook)"
conda activate kraken
# Clear pycache before starting if the -c flag is given
while getopts c flag
do
case "${flag}" in
c) sudo py3clean . ;;
esac
done
./kraken_doa_stop.sh
#sleep 2
cd heimdall_daq_fw/Firmware
#sudo ./daq_synthetic_start.sh
sudo env "PATH=$PATH" ./daq_start_sm.sh
sleep 1
cd ../../krakensdr_doa
sudo env "PATH=$PATH" ./gui_run.sh
Contents of “start.sh” located at /home/odroid
#!/bin/bash
# This script is run on startup by a systemd service at /lib/systemd/system/krakensdr.service
cd /home/odroid/krakensdr_doa
./kraken_doa_start.sh
Contents of krakensdr.service located at /lib/systemd/system
[Unit]
Description=KrakenSDR DOA Startup
#After=multi-user.target
After=network.target network-online.target
StartLimitIntervalSec=1
StartLimitBurst=5
StartLimitIntervalSec=10
[Service]
Type=simple
User=root
Group=root
Restart=always
RestartSec=5
Workingdirectory=/home/odroid/krakensdr_doa
#ExecStart=/bin/sh /home/odroid/krakensdr_doa/kraken_doa_start.sh
#User=odroid
ExecStart=/usr/bin/sh /home/odroid/krakensdr_doa/kraken_doa_start.sh
Restart=always
[Install]
#WantedBy=multi-user.target
WantedBy=default.target
odroid@krakensdr1:/lib/systemd/system$ journalctl -fn 100 -u krakensdr
Mar 02 18:46:58 krakensdr1 systemd[1]: Started KrakenSDR DOA Startup.
Mar 02 18:46:58 krakensdr1 sh[11554]: /home/odroid/krakensdr_doa/kraken_doa_start.sh: 3: Syntax error: “(” unexpected
Mar 02 18:46:58 krakensdr1 systemd[1]: krakensdr.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Mar 02 18:46:58 krakensdr1 systemd[1]: krakensdr.service: Failed with result ‘exit-code’.
Mar 02 18:47:03 krakensdr1 systemd[1]: krakensdr.service: Scheduled restart job, restart counter is at 471.
Mar 02 18:47:03 krakensdr1 systemd[1]: Stopped KrakenSDR DOA Startup.
Mar 02 18:47:03 krakensdr1 systemd[1]: Started KrakenSDR DOA Startup.
Mar 02 18:47:03 krakensdr1 sh[11563]: /home/odroid/krakensdr_doa/kraken_doa_start.sh: 3: Syntax error: “(” unexpected
Mar 02 18:47:03 krakensdr1 systemd[1]: krakensdr.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Mar 02 18:47:03 krakensdr1 systemd[1]: krakensdr.service: Failed with result ‘exit-code’.
Mar 02 18:47:08 krakensdr1 systemd[1]: krakensdr.service: Scheduled restart job, restart counter is at 472.
Mar 02 18:47:08 krakensdr1 systemd[1]: Stopped KrakenSDR DOA Startup.
Mar 02 18:47:08 krakensdr1 systemd[1]: Started KrakenSDR DOA Startup.
Mar 02 18:47:08 krakensdr1 sh[11575]: /home/odroid/krakensdr_doa/kraken_doa_start.sh: 3: Syntax error: “(” unexpected
Mar 02 18:47:08 krakensdr1 systemd[1]: krakensdr.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Mar 02 18:47:08 krakensdr1 systemd[1]: krakensdr.service: Failed with result ‘exit-code’.
I would appreciate any insight into how I can get this working properly. I’ve done a lot of online searching, but I have a feeling that this is mostly an issue of not giving a proper location. For instance start.sh I had to create the file based on what I could find online. I don’t know that is the proper location, but for other software it appeared correct.
Thanks!!! I really wanted to get this running today for a FoxHunt. 