You should be able to disable/turn-off docker logging I believe.
If I read the entire contents of the eMMC on boot-up, then ran my container with logging turned off, then finished by reading the entire contents of the eMMC again, would any data other than logging cause those two readings to be different? If no other data would cause the eMMC contents to change at all, then this would certainly solve my use-case.
If everything will be run and processed within the container does the host filesystem matter in this case?
The --read-only flag mounts the container’s root filesystem as read only but doesn’t change the r/w permissions of the host. Although everything will run and be processed within the container, the host filesystem matters in this case because I have mounts and privilege flags that would allow the container to write to the host’s filesystem. If the container can write to the host filesystem, I once again need a methodology of guaranteeing that none of the data was written to the eMMC.
For reference, my flags:
docker run --restart always -itd --network host --cap-add=ALL -v /run/systemd/system:/run/systemd/system -v /var/run/dbus/system_bus_socket:/var/run/dbus/system_bus_socket -v /sys/fs/cgroup:/sys/fs/cgroup -v /dev/bus/usb:/dev/bus/usb -v /mnt/ssd:/media/ssd -v /dev:/dev --privileged=true --name NAME my-imported-image:v1 /bin/bash -c "<command to run code>"
what is the usual method/processes to guarantee that data never hits the eMMC? Is the “proof beyond any doubt” requirement that strict?
Typically, a letter of volatility document (LoV) is written for a device, and approval to use the device is based on information in that document. If we can “prove beyond any doubt” that no data from the USB device ever contaminates memory other than the SSD, then we can write a similar document for approval. Unfortunately, the requirements really are that strict.
Another idea, I just had what if the container/docker data is stored on a USB/SD card medium rather than the internal eMMC?
Am I understanding it correctly that docker will then use the external media to store all its process data, but TorizonCore itself will still be running on the eMMC? Aka this method would not allow me to completely remove/de-solder the eMMC?
Thank you again for all the help with this Jeremias!