Alfred Morgan <[email protected]> wrote:
> > You claimed sysupgrade does this.
> > sysupgrade does nothing like that. It placed a /bsd.upgrade file, and
> that is the end of the story.
> > You told boot (via commands in boot.conf) to do something, so it did,
> before discovering the file.
>
> Theo,
> When I mentioned sysupgrade I was referring to the full sysupgrade
> procedure all the way through to completion. Sorry for not being specific
> enough. Thank you, you brought focus to boot which is really where my
> suggestion will be focused on.
>
> So, how can I explicitly tell boot to act normally to boot /bsd.upgrade and
> if that doesn't exist then boot /bsd? I would expect # echo boot >
> /etc/boot.conf to do just that.
The code is in sys/stand/boot.c
devboot(bootdev, cmd.bootdev);
strlcpy(cmd.image, kernelfile, sizeof(cmd.image));
cmd.boothowto = 0;
cmd.conf = "/etc/boot.conf";
cmd.addr = (void *)DEFAULT_KERNEL_ADDRESS;
cmd.timeout = boottimeout;
if (upgrade()) {
strlcpy(cmd.image, "/bsd.upgrade", sizeof(cmd.image));
printf("upgrade detected: switching to %s\n", cmd.image);
isupgrade = 1;
}
st = read_conf();
Figure out how to build and install. It is not hard to test.