Alfred Morgan <alf...@54.org> 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.