#StackBounty: #filesystems #rsync #aufs #opkg Opkg, update dual r/o rfs's under aufs

Bounty: 100

Using Opkg I’d like to update two different Linux 3.16 based RFS’s partitions. They are both mounted read only & there is a data partition, which via aufs, does the write overlays. How can I do an upgrade to each partition such that I get an atomic update (all or nothing). Is there an opkg way to do this?

My current approach is running update/install/upgrade under chroot/chdir in the non-booted rfs partition, after mounting it r/w, but I always get non-zero exit codes from the upgrade, even though there are no ‘collected errors’ reported. I’ve also tried using the setting dest root /.rfs2 in the .conf to install in the non-booted rfs. However, only some packages seem to then be correctly referencing/installing to .rfs2.

Before trying to go further I just wanted to see if this was a good approach or if there was a more standard(opkg) way to do this? Could anyone provide any instruction on the best way to do this?

Filesystem           1K-blocks      Used Available Use% Mounted on
ubi0:rootfs              98284     66484     31800  68% /.rfs1
ubi2:data               178908     36664    137404  21% /.data
ubi1:rootfs              98284     66484     31800  68% /.rfs2

Edit: I’ve found the some .ipk files install with post scripts containing systemctl(enable/start/stop) cmd’s which, can’t (easily)?, be run from within chroot. These appear to be the source of the error codes. Not sure what to do about that.

Edit: I don’t need to update them both at the same time, if fact I really want to update the non-booted partition first, swap boot partitions, verify the one I just booted to/updated is valid, then nanddump to clone.

Get this bounty!!!

Leave a Reply