Quick question about when Berrylan runs

If I have a project run at start up by executing a shell script in rc.local, will this effect BerryLan from starting the bluetooth service if not connected to a wifi signal? I guess I’m just curious when it starts running and if it will effect rc.local at all. I would test it but I am primarily connecting using ssh and if I put the program in rc.local it doesn’t allow me to connect using a keyboard and mouse and I am just afraid of not being able to connect to the internet. Worst case I can put the SD card in another linux machine but I figured it wouldnt hurt to post here first.

Thanks!

Hello cobaj_ellave, welcome to the nymea forums.

I don’t think it would prevent nymea-networkmanager to start if you block the rc.local script…

However, you probably still don’t want to do this. The easiest and hacky way to not block in rc.local is to add a & at the end of the line… E.g. if your program is callyed myprogram and your rc.local looks something like this:

/root/myprogram

you can try changing it to

#!/bin/bash
/root/myprogram &

This will likely solve the issue that you’re not able to log in… However, this is still not the recommended way.

The best way to autostart something would be if you create a systemd service file for it. Check out nymea-networkmanager’s systemd service which is located in /lib/systemd/system/nymea-networkmanager.service
Copy that file to e.e. /lib/systemd/system/myprogram.service and change the Exec line. Then call

sudo systemctl daemon-reload

After that you can use

sudo systemctl start myprogram
sudo systemctl stop myprogram

to start/stop your application. If you want your prog to be autostarted on system boot you can enable it with

sudo systemctl enable myprogram