On Sun, Oct 08, 2017 at 09:56:15AM +0000, Robert Peichaer wrote:
> Up to now, the upgrade procedure from one to the next release meant
> that you had to manually download and verify the new ramdisk kernel.
> What about if you just needed to boot into the existing bsd.rd and
> it would support downloading and verifying the bsd.rd of the next
> release?
> This diff changes the installer script to support such a scenario.
> 1) Boot the existing bsd.rd and choose (U)pgrade
> 2) Enter the "Server directory" of the new release
>    The installer then offers just the bsd.rd
>    The on-disk signify key of the new release is used for verify it
> 3) Reboot into the new bsd.rd and do the upgrade
> An important assumption for this to work properly is:
>    Upgrades are only supported from one release to the release
>    immediately following it. [1]
> It would look like this for the 6.2 to 6.3 upgrade situation.
> (The version numbers are obviously faked)
>   Let's upgrade the sets!
>   Location of sets? (cd0 disk http or 'done') [http]
>   HTTP proxy URL? (e.g. 'http://proxy:8080', or 'none') [none]
>   HTTP Server? (hostname, list#, 'done' or '?') [ftp.hostserver.de]
>   Server directory? [pub/OpenBSD/6.2/amd64] pub/OpenBSD/6.3/amd64
>   Unable to get a verified list of distribution sets.
>   Select sets by entering a set name, a file name pattern or 'all'. De-select
>   sets by prepending a '-', e.g.: '-game*'. Selected sets are labelled '[X]'.
>       [X] bsd.rd
>   Set name(s)? (or 'abort' or 'done') [done]
>   Get/Verify SHA256.sig   100% |**************************|  2152       00:00
>   Signature Verified
>   Get/Verify bsd.rd       100% |**************************|  9565 KB    00:14
>   Installing bsd.rd       100% |**************************|  9565 KB    00:00
>   Location of sets? (cd0 disk http or 'done') [done]
>   Making all device nodes...done.
>   CONGRATULATIONS! Your OpenBSD upgrade has been successfully completed!
>   To boot the new system, enter 'reboot' at the command prompt.

In October 2017 I've added this "feature" to the installer that allows
to boot with an existing bsd.rd and to download/install the bsd.rd of
the next release which can then be used to do the actual system upgrade.

It depends on differing release versions of the booted bsd.rd and sets
found in the specified HTTP "Server directory". To be more precise it
assumes the sets release version is one version ahead of the bsd.rd.

The logic is meant to be simple and to support this scenario reliably.

This is a best-effort, convenience feature intended for users that do
upgrades from release to release. Users will be able to use it when
they upgrade from 6.3 to 6.4 and so forth.

I'm aware of reports that this does not work as expected, but as far
as I was able to test and verify, the problem most probably was that 
in these cases the 6.2-current bsd.rd was too old to have the feature
or was already on some version of 6.3 which means no release version
difference and so this feature was not triggerd.


Reply via email to