I have am imx8mm-var-dart device with aarch64 architecture using BalenaOS within a network with no access to the Internet. I have other similar devices with internet access. How can I update the container image on the system that lives with no internet access. I am able to bring files into the network via a laptop from the outside world. A simple offline never starts if there is no internet access on the laptop at the time of the push (which there is not). Even if it did work however, part of the build process involves running pip install which would fail.
I was hoping I could build an image on one of the other devices, clone it, pull it with scp to the laptop, bring the laptop onto the isolated network, then finally upload it to the device. I’ve nearly found a way to do this with balena engine doing the following, however I can’t seem to override the main container with my container.
- Balena push to fleet with a device online
- SSH to the device that received the new build
- Enter “balena-engine images” and find the [IMAGE ID]
- Enter "balena-engine save [IMAGE ID] > /tmp/image.tar
- Exit SSH
- scp -P 22222 root@[IP OF DEVICE ONLINE]:/tmp/image.tar .
- scp -P 2222 image.tar root@[IP OF DEVICE OFFLINE]:/tmp/
- Enter “balena-engine load -i /tmp/cont.tar” and find the [NEW IMAGE ID]
- Enter “balena-engine create [NEW IMAGE ID]”
- Stop the old container and start the new container
Unfortunately the old container is still there and the new container fails printing “the container must be run in privledge mode to start udev!”
If there is a better solution I would much appreciate it!
Thanks!
Richard