> OpenBSD uses a monolithic kernel -- all the parts to the kernel are in
> the kernel file, which is loaded into RAM at boot.  You may now safely
> delete the kernel if you so desire once the system is booted, it isn't
> used until the next boot.  You may also REPLACE the kernel, it has NO
> impact on the running system until reboot.
>
> As for the other binaries, sure, some are loaded and unloaded on the fly
> on a running system, but nothing on the base system will suffer problems
> by being killed this way.  As for other things, that's why we advise you
> shut 'em down first.  I like apps with a robustness to them, so I just
> like letting them whimper and die.
>
> So, that basically leaves the extraction process and reboot.  "reboot"
> is a statically linked binary.  We copy that to "oreboot" to make sure
> the old one is still available, but I've tested a lot of platforms over
> the last few releases and have been unable to find a combination where
> an old kernel can't run the new reboot successfully, but we don't
> promise this, so we save "reboot" as "oreboot".
>
> Extraction via tar and gunzip are the "problems".  They are both in
> baseXX.tgz, this is why that's the last package to unpack.  But, they
> are loaded into RAM (along with any libraries) at the start of the
> process, and no need to "reload" them exists unless a new tar or gunzip
> process is started.
>
> After you have unpacked the userland, your system is pretty well hosed,
> about all that is running is your old kernel from RAM and your shell,
> not much else to do other than reboot it, which (fortunately) is just an
> interaction between the kernel in memory and the reboot program (which
> you saved an old copy of).


Nick,
I have always assumed that you don't run X, i.e you kill X and then
you upgrade from a root console. (I don't have xdm started, as I
prefer startx, been bitten a few times by the endless loop) I make
sure that top shows less than 20 processes, just those started by the
system and then I upgrade. Is that a valid and safer assumption?

steps i would take on production system
0) stop all applications, kill X, make sure you su into root in a
shell. (check with top)
1) pkg_delete all installed packages after taking backups of
configuration files + data
2) cp /sbin/reboot /sbin/oreboot
3) follow upgrade guide and do extraction
4) /sbin/oreboot
5) start X and do normal operation on your box.

Thanks

Reply via email to