I had the same need and also cobbled something together to do it. This project looks far easier to use, so I will also likely switch.
Checking the Dockerfile this also uses qemu to run the actual ARM binaries, I really liked how easy it was to set this up back then. All I had to do was loop mount the RPi image and then chroot into it. Everything else was handled transparently by qemu. Of course, I didn't have nice things like resize, so I was limited to making small additions.
Super interesting! Thank you for this. I was working on a hardware project that this probably would have helped a lot with. I was writing some python but the package couldn't be compiled on my local machine so I had to run a dev server off my pi directly. I wonder if this can help.
This is exactly what I was trying to do a few months ago, but all the RPi VMs I found were a pain in the ass and I never got it to work. Ansible deployments are conveniently but take forever on RPi, golden images are great for distribution but suck to make. Using Ansible to deploy to a VM and then exporting that image for flashing is the best of both approaches.
11 comments
[ 1.9 ms ] story [ 35.7 ms ] threadChecking the Dockerfile this also uses qemu to run the actual ARM binaries, I really liked how easy it was to set this up back then. All I had to do was loop mount the RPi image and then chroot into it. Everything else was handled transparently by qemu. Of course, I didn't have nice things like resize, so I was limited to making small additions.
> The default image is 2 gigabytes in size. This can be increased (but not decreased!) through the resize command.
Is this the smallest size of an industrial SD card these days?
Looking at pricing, 1GB is only about 25% more in unit quantity.
https://www.mouser.co.uk/ProductDetail/Swissbit/SFSD1024N1AS...
MLC/TLC flash will be 2GB and up, and most consumer cards you can buy.
I believe that can also work in non-RPi images, but I didn't get very far in the Pi-CI docs so maybe that does too.