a /etc/fstab , changing the occurrences of .Sy ufs to .Sy ffs and let you edit the resulting file. t Make new device nodes in your root file system under
a /dev . t Don't forget to extract the .Sy kern set from the distribution. .(Note The existing kernel .Em will not be backed up; doing so would be pointless, since older kernels may not be capable of running .Nx \*V executables. .Note) t Install a new boot block. t Check your file systems for integrity. .enum)
p While using the miniroot's upgrade program is the preferred method of upgrading your system, it is possible to upgrade your system manually. To do this, follow the following procedure: .(enum Place .Em at least the .Sy base binary set in a file system accessible to the target machine. A local file system is preferred, since the NFS subsystem in the .Nx \*V kernel may be incompatible with your old binaries. t Back up your pre-existing kernel and copy the \*V kernel into your root partition
q Pa / . t Reboot with the \*V kernel into single-user mode. t Check all file systems:
p .Dl # Ic "/sbin/fsck -pf" t Mount all local file systems:
p .Dl # Ic "/sbin/mount -a -t nonfs" t If you keep
a /usr or
a /usr/share on an NFS server, you will want to mount those file systems as well. To do this, you will need to enable the network:
p
.Dl # Ic "sh /etc/rc.d/network start"
t Run the
.Xr update 8
daemon, to ensure that new programs
are actually stored on disk.
XXX: this exist anymore?
p .Dl # Ic "update" t Make sure you are in the root file system
q Pa / and extract the .Sy base binary set:
p .Dl # Ic "cd /" .Dl # Ic "pax -zrvpe -f " Ar /path/to/ Ns Ic base.tgz" t Install a new boot block:
p .Dl # Ic "cd /usr/mdec" .Dl # Ic "disklabel -B Ar root-disk" E.g.: .Ar root-disk could be .Li sd0 . .\} .Dl # Ic "cp bootsd /.bootsd" .Dl # Ic "./installboot /.bootsd bootxx \*< Ar root-disk"
p E.g.: .Ar root-disk could be
a /dev/rsd0a . .\} t Sync the file systems:
p .Dl # Ic sync t At this point you may extract any other binary sets you may have placed on local file systems, or you may wish to extract additional sets at a later time. To extract these sets, use the following commands:
p .Dl # Ic "cd /" .Dl # Ic "pax -zrvpe -f Ar path_to_set" .enum) .(Note You .Em should not extract the .Sy etc set if upgrading. Instead, you should extract that set into another area and carefully merge the changes by hand. .Note)