Hello all,
Is there a good resource (besides this list! that would help me understand what to remove/disable from the stock Debian Wheezy distro, on a BeagleBone Black, to arrive at a barest-minimum/rock-solid setup to run a dedicated app, as an embedded device?
Background:
Iāve developed a C++ app for the Bbb, which I intend to sell as a headless, embedded device that only runs this app when turned on. The Bbb, with a Debian/Wheezy distro, arrives as a much more general purpose device with a lot of services/options that arenāt needed, and to keep the system lean and mean, and as reliable as possible, arenāt desired.
I am a seasoned software developer, but donāt know a whole lot about overall linux system configuration.
I understand systemctl, but in many cases I donāt know how to pick which services are needed for my use case.
Also, are there things besides services I should consider disabling? (eg Device Tree overlays?)
Is there any system maintenance that I would need to worry about over the long term (years/decades) to keep the device reliably up and running āforeverā?
Fwiw, my app does the following:
-
acts as a specialized, single purpose webserver that serves up a web app on a particular address/port communicating with it using websockets
-
based on interaction with the web app, sends information out some GPIO pins (in my case, installation control signals)
-
when (optionally) connected to the internet, hits a live server to check for available updates (if found, download it)
-
maintains the watchdog timer to self-reset in case of problems
To facilitate this, and also retain bare-bones remote access to the device (for remote troubleshooting/config), the system
-
has a wifi USB dongle that creates a private network serving the web app
-
fires up a DHCP server allowing easy connection on the private network
-
can receive incoming ssh connections (mainly for diagnostics, setup, debugging)
-
when connected to the live internet, updates a free dynamic dns server with its local ip, so can be accessed on the ālive internetā (assuming port forwarding has been properly set up)
Thank you in advance for any pointers you can provide,
ST