GSoC/GCI Archive
Google Summer of Code 2013 The NetBSD Foundation

System upgrade

by gnrp for The NetBSD Foundation

NetBSD currently has no option to upgrade the system without issueing one command. When you do an upgrade from sources, you have to rebuild everything (or only the updated part), copy the new kernel, boot into the new kernel and then do an installation from the build.sh script (i.e., `build.sh install` or `make installworld`). The part with the kernel can be skipped when you are only doing userland upgrades. When upgrading to a new (even minor) release, you should run etcupdate(8). While this process is rather simple due to build.sh and make wrappers around everything, the process with binary updates is rather complicated. First, you have to dig into the details of NetBSD release engineering (e.g., when a security advisory [SA] occurs, there are only instructions how to *rebuild* NetBSD with the patch applied). Then, you have to choose a mirror, download the sets you think are appropriate for an update, unpack the kernel, boot into it, and *carefully* unpack them to your root directory (such that permissions are preserved). After that, you run etcupdate(8) again.