versioned partitioned upgrading: safety boot configuration

Michael Stone michael at laptop.org
Wed Nov 4 21:02:38 EST 2009


Hi Dan,

> I'm working on updating olpc-update and the initramfs to be able to
> work with a partitioned layout where /boot is separate from the rest
> of the system. Thanks for the good documentation at
> http://wiki.laptop.org/go/Early_boot

You're welcome; apologies that it isn't better. :)

> First one, I'm implementing the "Create a "safety" boot configuration"
> bit. I guess the purpose of this is to ensure that the current running
> OS is marked as "current", and to free up the other OS image (so that
> it can be deleted soon after to make space for the incoming update).

Correct.

> So onto the bit I have to add:
>   (If partitioned: Make /boot/alt point to ../$a.)
>
> I don't understand this part. Surely the instructions for /boot would be
> equivalent to what was done above, i.e. on the boot partition:
> 
>  1. make sure that /boot points at boot-versions/$a
>  2. remove /boot/alt

First, understand that Scott+Mitch wrote the logic for updates with
partitions. I am only a secondary source for this scenario. The primary
source is the pre-formatted version of the upgrade procedure, which may
be found here:

   http://wiki.laptop.org/index.php?title=Early_boot&oldid=77286#Upgrade_procedure

Second, unfortunately, the instructions as written are *not* equivalent:
Mitch and Scott decided to simplify the partitioned design by insisting
that 

   a) boot:/boot     be a symlink pointing to 'boot-versions/XXX' 
   b) boot:/boot/alt be a symlink pointing to '../YYY'.

> Or have I just answered my own question through writing this mail? Step
> 1 is deemed unnecessary (we can assume that it's already pointing to the
> right place), and your instructions are simply making the alternate boot
> configuration point to exactly the same one that is booted (hence there
> is no longer an alternative)

I concur with this answer to your question.

Regards,

Michael

P.S. - Tit for tat: how is the correct root partition identified and
communicated from ??? -> OFW -> initramfs -> ??? -> updater -> ????



More information about the Devel mailing list