It is possible to access the CCGX via SSH, or straight on the Serial Console, with the root user.
Note that additions made to the rootfs are not safe during an update, as the complete rootfs is replaced during an update.
Of course it is always possible to disable automatic firmware updates. Also there is a data partition (/data), which will be left alone in the image updates.
There are hooks that can be used to start or re-install something at boot: https://github.com/victronenergy/meta-victronenergy/commit/2dbd16c560ff7cdf70b1d676c0616013169c7484
You can test the 'update' with /opt/victronenergy/swupdate-scripts/check-updates.sh -update -force which will install the same version again, but in the other rootfs.
For details of the used update mechanism, see here: https://github.com/victronenergy/venus/wiki/swupdate-project
To set the root password, first set the access level to Superuser:
Now you have access to the super user features.
Go to Settings → General → Set root password. And create a root password.
Note that, for firmware version v2.00 and later, the root password will be reset by a firmware update. The reason is that the passwd file is on the rootfs, which is fully replaced by an update. More info here.
Our advice is to create a root password. But use it to login only the first time, and then install a public ssh key(s). Thereafter login with the keys.
To login via ssh, enable Remote Support (Settings → General). Besides enabling the reverse tunnel it also enables sshd. More info on Remote Support here.
To the login, enter the ip address of the ccgx in a ssh client. Most Linux and Mac users will simply do this from the command line:
Using a ssh key for authentication, instead of a root password, has the advantage that it isn't lost during a firmware update. The keys are stored on the /data partition/
First set the root password (once), use that to login, and then copy a public ssh key to ~/.ssh/authorized_keys.
sshd works with three authorized keys files:
The third file contains the keys we use for Remote Support login.
First, note that this is only relevant for the CCGX, as the Beagleboards have a uart dedicated to a console function.
See menu item Settings → Services → Console on VE.Direct 1
Enable the Serial Console on VE.Direct Port 1. Serial console is a software developers feature. This will disable VE.Direct 1 functionality on this port.
Settings are 115k2 / 8N1. Note that a normal VE.Direct to USB interface cable won't work, since you need to power the VE.Direct port on the CCGX from the outside. A small mod can be made to the interface cable. More information about the serial console.