I have noticed that this behaviour changed. A few months ago we’ve implemented dynamic routing with bird4 and this problem didn’t exist, I was able to start/stop processes correctly.
Right now, after one of last updates, we have broken init script for bird4 - which in end effect also causes service to be not started after reboot:
# BIRD not running:
root@turris-bnd:~# ps ax | grep bird
12789 pts/0 S+ 0:00 grep bird
Hardware: Turris Omnia 2 GB Wi-Fi
Turris OS: 3.11.10
Kernel: 4.4.196-a890a5a94ebb621f8f1720c24d12fef1-0
Package version: bird4 - 1.6.8-1
When I look on release notes, I see that bird was updated in version 3.11.8 (released on 14th October 2019) and while I can’t prove it right now, it seems like a time match - as far as I remember, it was in late October / early November when init script was broken.
I uninstalled those packages - and also tried uninstalling all packages and installing then just bird4+birdc4. Still same result, calling init script does not start the service. This made me think that something can be broken on my side. I figured out that I’ve started the service once as root and this created logfiles - starting with init script drops user to bird, who couldn’t write to the log file. Thanks for your suggestions, problems is solved.
I might suggest that we could maybe not “lose” the error message from bird4 (or any other service handled by rc.common) and display it when service fails to start: