> 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