RoPieee uses an so-called ‘double partition model’: there’s an active partition (the current running system), and a passive one. This brings a few very cool advantages:
updates are ‘stream’ based: it’s not an individual package being updated, but a complete image
the image is being streamed to the passive partition
the system reboots, switches active and passive, and voila: you’ve got an newer version running
if something breaks you can always revert to the previous version
There are also some downsides (most for me ), but one of them being that the image size is quite large. And if you’ve got a slow internet connection this can be an obstacle. On my side it costs me more storage capacity.
With 2026.04 I’ve changed the layout a bit, which brings some cool possibilities:
Introducing RoPieee Network Installer
A very small initial image, which contains a bare RoPieee system that will partition the microSD card upon boot and then installs the RoPieee update image (the latest stable one). In short: your initial download is way smaller.
To give you an idea:
the latest 2026.04 image is roughly 1.4 GB (uncompressed), and 275 MB (compressed). (this is already smaller than previous releases because of the changed partition layout).
the Network Installer image is roughly 250 MB (uncompressed), and 60 MB (!) (compressed).
Was it worth it? Well, I had fun while building it, so maybe that’s already enough
I’ve adapted the documentation a bit to promote the Network Installer, also for newbies. That’s because the Network Installer is generic, so the same image runs on a PI 3, 4 and 5. It will automatically select the correct final image automagically.
Thank you again for this improvement of RoPieee. And also a big thanks to explain what’s behind the changes.
Nevertheless, I still have some questions about the RoPieee Network Installer.
When RoPieee Network Installer (RNI) is used to do an new installation, are there afterwards again two partions: one for the active RoPieee and one for the previous version (after an upgrade)? Or will only one partition be available so that, when updating, the previous version will be overwritten?
You say that using RNI, you will have to use less storage capacity on your server. But RNI still have to download the full version from your side. So how can it be that you will need less storage capacity? Or is RNI only using the compressed image so that you do not need to store unpressed images?
When we, end-users, have installed the Stable or Beta-version, would you like us to re-install the actual RoPieee’s via RNI, or will the final reslult after installation will be exactly the same, so that it doesn’t matter if it was installed using RNI, or via the “old” methode?
Kind regards, Frank.
The end-result, a running RoPieee instance, is the same for both ‘routes’: whether you use the complete image or the network installer, the outcome is exactly the same. The difference is that the complete image has already a partition model, while RNI creates this ‘on the fly’.
As always @Frank_M , sharp
But more serious: I left something out in this part. An update for RoPieee is not a full image, but an update ‘bundle’: a specialized, highly compressed file with only the contents of the file image. So an image (in RoPieee world, the file ending with .bin) contains a full filesystem and it’s content. So that’s bigger then an update bundle. If you write an update bundle to an SD card you have a non booting system.
But in all honesty: the gain on space is not why I did this: I think that RNI can makes things easier for those that have a wired Raspberry Pi and just want to get started. There are users that find it already difficult to figure out what image they need exactly, and for those users RNI is created.
It does however mean (I did not mention that in the first post) that installation takes longer: RNI needs to download the update bundle first, then stream it to the freshly created partition, then reboot and start regular installation process.
The result is exactly the same, so no need to reflash.