@Nicholas-Hansen In order to set an IP address at boot you could create a systemd service that runs a script similar to this portion of the voxl-modem startup script:
https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-modem/-/blob/master/scripts/voxl-modem-start?ref_type=heads#L242
You could probably highjack the doodle workflow if you really want to. It's pretty basic, it just waits for the network interface to enumerate and sets the IP address if it is different from what is set in the config file. It then monitors that interface and sets the IP again if it ever changes
echo -e "\nWaiting for eth0..."
rc=1
while [ $rc -ne 0 ]; do
ifconfig -s | grep eth0
rc=$?
sleep 1
done
echo -e "\neth0 initialized"
# loop and re-set IP if network interface goes down and back up
while true
do
# grab ip address from eth0
eth0_ip=$(ip -4 addr show eth0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}' | head -1)
# if it's not what we expect, fix it
if [[ "$eth0_ip" != *"$DOODLE_IP"* ]]; then
echo "setting IP address to: $DOODLE_IP"
ifconfig eth0 $DOODLE_IP netmask 255.0.0.0 up
fi
sleep 1
done