Pushing a load to a device while fully disconnected from the internet

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.

  1. Balena push to fleet with a device online
  2. SSH to the device that received the new build
  3. Enter “balena-engine images” and find the [IMAGE ID]
  4. Enter "balena-engine save [IMAGE ID] > /tmp/image.tar
  5. Exit SSH
  6. scp -P 22222 root@[IP OF DEVICE ONLINE]:/tmp/image.tar .
  7. scp -P 2222 image.tar root@[IP OF DEVICE OFFLINE]:/tmp/
  8. Enter “balena-engine load -i /tmp/cont.tar” and find the [NEW IMAGE ID]
  9. Enter “balena-engine create [NEW IMAGE ID]”
  10. 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

Hi, the only supported mechanism for offline updates is described in Offline updates - Balena Documentation. This involves downloading and preloading an OS image, and reflashing the device on site.
Unfortunately application-only offline updates are not currently supported.

Thank you for the reply. Unfortunately for us, the uSD card and jumper terminals for flashing are not accessible to the user. The ability to push a release offline is critical for our use. Any updates on this down the road would be appreciated.

Thanks for the support!
Richard