You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
So, currently I have a embedded ARM system that has its 4GB of MMC flash storage split into 3 partitions, one persistent storage and two 1GB ext4 read-only system partitons that each contain a uboot boot script, kernel, bunch of different squashfs files and a initramfs that mounts the current system partition and uses overlayfs to mount squashfs file on top of each other to form a working rootfs.
My initial idea was to specify all the files the ext4 system partition in the manifest.raucm like so
That of course didn't work as currently (if I understood correctly from reading the source code) rauc can only use [image.<slot>] targets for updating the system. One option would be to put all the squashfs files to a system.tar.gz file and then let the tar_to_ext4_handler do its work. But in that case it would always override all the file even when only a single one has changed. (also for some reason I didn't manage to get this option to work when I was playing around)
So currently i'm using manifest.raucm[handler] option to add a custom shell script that configures the bootloader, mounts the unused system partition given to us by rauc as read-write and copies all the [file.<slot>] files to the partition.
If there is a better way to do it then I would happily hear about it.
(ps, I found out about RAUC at FOSDEM, awesome presentation :)
The text was updated successfully, but these errors were encountered:
First of all, the file type you used is not designed to work with the bundle update case. You already figured that out. It is more or less a remnant from an alternative 'network' installation method that does not use bundles and that we want to replace with a better mechanism in the future. So first of all, using [file.slotname/filename] is not an option for you.
If you intend to update files within a partition, you could simply define a path in your rootfs as a slot and then perform 'image' updates on this pseudo-slot. It will look like:
[slot.config.0]
device=/path/in/your/rootfs
...
and
[image.config]
filename=30-static-config.squashfs
BUT, you intend to do this for skipping slots not to update. There are 2 ways this could be done:
Place only those images in your update you intend to change. This solution I would NOT recommend as for a robust update you always want to define the entire state of your system and not only an untested loose collection of components!!
Rely on RAUCs ability to skip updates for slots that are already installed in the exact same version on the target slot. This unfortunately does not work yet with non-writable images, such as a SquashFS as currently the information about the slot status (i.e. its sha1) is only stored in the updated slot itself.
Thus, from my point of view, the system.tar.gz option seems to be the most suitable for now. What kind of issues did you encounter with that?
We have plans for different features that will solve parts of your problem (e.g. a central slot metadata store, delta-updates, etc.) but for now, these are not yet implemented.
So, currently I have a embedded ARM system that has its 4GB of MMC flash storage split into 3 partitions, one persistent storage and two 1GB ext4 read-only system partitons that each contain a uboot boot script, kernel, bunch of different squashfs files and a initramfs that mounts the current system partition and uses overlayfs to mount squashfs file on top of each other to form a working rootfs.
My initial idea was to specify all the files the ext4 system partition in the
manifest.raucm
like soThat of course didn't work as currently (if I understood correctly from reading the source code) rauc can only use
[image.<slot>]
targets for updating the system. One option would be to put all the squashfs files to asystem.tar.gz
file and then let thetar_to_ext4_handler
do its work. But in that case it would always override all the file even when only a single one has changed. (also for some reason I didn't manage to get this option to work when I was playing around)So currently i'm using
manifest.raucm
[handler]
option to add a custom shell script that configures the bootloader, mounts the unused system partition given to us by rauc as read-write and copies all the[file.<slot>]
files to the partition.If there is a better way to do it then I would happily hear about it.
(ps, I found out about RAUC at FOSDEM, awesome presentation :)
The text was updated successfully, but these errors were encountered: