Index: UPDATING =================================================================== --- UPDATING +++ UPDATING @@ -2517,12 +2517,12 @@ make buildworld make buildkernel KERNCONF=YOUR_KERNEL_HERE make installkernel KERNCONF=YOUR_KERNEL_HERE - [1] - [3] + [3] + [4] etcupdate -p [5] make installworld - etcupdate -B [4] - make delete-old [6] + etcupdate -B [6] + make delete-old [7] To cross-install current onto a separate partition @@ -2552,15 +2552,15 @@ To upgrade in-place from stable to current ---------------------------------------------- - make buildworld [9] - make buildkernel KERNCONF=YOUR_KERNEL_HERE [8] + make buildworld [1] + make buildkernel KERNCONF=YOUR_KERNEL_HERE [2] make installkernel KERNCONF=YOUR_KERNEL_HERE - [1] - [3] + [3] + [4] etcupdate -p [5] make installworld - etcupdate -B [4] - make delete-old [6] + etcupdate -B [6] + make delete-old [7] Make sure that you've read the UPDATING file to understand the @@ -2575,7 +2575,29 @@ messages there. If in doubt, please track -stable which has much fewer pitfalls. - [1] If you have third party modules, such as vmware, you should disable + [1] If CPUTYPE is defined in your /etc/make.conf, make sure to use the + "?=" instead of the "=" assignment operator, so that buildworld can + override the CPUTYPE if it needs to. + + MAKEOBJDIRPREFIX must be defined in an environment variable, and + not on the command line, or in /etc/make.conf. buildworld will + warn if it is improperly defined. + + [2] The new kernel must be able to run existing binaries used by an + installworld. When upgrading across major versions, the new kernel's + configuration must include the correct COMPAT_FREEBSD option for + existing binaries (e.g. COMPAT_FREEBSD11 to run 11.x binaries). Failure + to do so may leave you with a system that is hard to boot to recover. A + GENERIC kernel will include suitable compatibility options to run + binaries from older branches. Note that the ability to run binaries + from unsupported branches is not guaranteed. + + Make sure that you merge any new devices from GENERIC since the + last time you updated your kernel config file. Options also + change over time, so you may need to adjust your custom kernels + for these as well. + + [3] If you have third party modules, such as vmware, you should disable them at this point so they don't crash your system on reboot. Alternatively, you should rebuild all the modules you have in your system and install them as well. If you are running -current, you @@ -2586,7 +2608,7 @@ and effective, eg: PORTS_MODULES+=x11/nvidia-driver - [3] From the bootblocks, boot -s, and then do + [4] From the bootblocks, boot -s, and then do fsck -p mount -u / mount -a @@ -2596,42 +2618,23 @@ Also, when doing a major release upgrade, it is required that you boot into single user mode to do the installworld. - [4] Note: This step is non-optional. Failure to do this step + [5] Usually this step is a no-op. However, from time to time + you may need to do this if you get unknown user in the following + step. + + [6] Note: This step is non-optional. Failure to do this step can result in a significant reduction in the functionality of the system. Attempting to do it by hand is not recommended and those that pursue this avenue should read this file carefully, as well as the archives of freebsd-current and freebsd-hackers mailing lists - for potential gotchas. See etcupdate(8) for more information. - - [5] Usually this step is a no-op. However, from time to time - you may need to do this if you get unknown user in the following - step. + for potential gotchas. The -U option is also useful to consider. + See mergemaster(8) for more information. - [6] This only deletes old files and directories. Old libraries + [7] This only deletes old files and directories. Old libraries can be deleted by "make delete-old-libs", but you have to make sure that no program is using those libraries anymore. - [8] The new kernel must be able to run existing binaries used by an - installworld. When upgrading across major versions, the new kernel's - configuration must include the correct COMPAT_FREEBSD option for - existing binaries (e.g. COMPAT_FREEBSD11 to run 11.x binaries). Failure - to do so may leave you with a system that is hard to boot to recover. A - GENERIC kernel will include suitable compatibility options to run - binaries from older branches. Note that the ability to run binaries - from unsupported branches is not guaranteed. - Make sure that you merge any new devices from GENERIC since the - last time you updated your kernel config file. Options also - change over time, so you may need to adjust your custom kernels - for these as well. - - [9] If CPUTYPE is defined in your /etc/make.conf, make sure to use the - "?=" instead of the "=" assignment operator, so that buildworld can - override the CPUTYPE if it needs to. - - MAKEOBJDIRPREFIX must be defined in an environment variable, and - not on the command line, or in /etc/make.conf. buildworld will - warn if it is improperly defined. FORMAT: This file contains a list, in reverse chronological order, of major