UPDATING revision 158601
1132718SkanUpdating Information for FreeBSD current users 2169689Skan 3169689SkanThis file is maintained and copyrighted by M. Warner Losh 4169689Skan<imp@village.org>. See end of file for further details. For commonly 5132718Skandone items, please see the COMMON ITEMS: section later in the file. 6169689Skan 7132718SkanItems affecting the ports and packages system can be found in 8169689Skan/usr/ports/UPDATING. Please read that file before running 9169689Skanportupgrade. 10169689Skan 11169689SkanNOTE TO PEOPLE WHO THINK THAT FreeBSD 7.x IS SLOW: 12132718Skan FreeBSD 7.x has many debugging features turned on, in 13169689Skan both the kernel and userland. These features attempt to detect 14169689Skan incorrect use of system primitives, and encourage loud failure 15169689Skan through extra sanity checking and fail stop semantics. They 16169689Skan also substantially impact system performance. If you want to 17132718Skan do performance measurement, benchmarking, and optimization, 18169689Skan you'll want to turn them off. This includes various WITNESS- 19169689Skan related kernel options, INVARIANTS, malloc debugging flags 20169689Skan in userland, and various verbose features in the kernel. Many 21169689Skan developers choose to disable these features on build machines 22132718Skan to maximize performance. 23169689Skan 24169689Skan20060511: 25169689Skan The machdep.* sysctls and the adjkerntz utility have been 26169689Skan modified a bit. The new adjkerntz utility uses the new 27169689Skan sysctl names and sysctlbyname() calls, so it may be impossible 28169689Skan to run an old /sbin/adjkerntz utility in single-user mode 29169689Skan with a new kernel. Replace the `adjkerntz -i' step before 30169689Skan `make installworld' with: 31169689Skan 32169689Skan /usr/obj/usr/src/sbin/adjkerntz/adjkerntz -i 33169689Skan 34132718Skan and proceed as usual with the rest of the installworld-stage 35132718Skan steps. Otherwise, you risk installing binaries with their 36132718Skan timestamp set several hours in the future, especially if 37169689Skan you are running with local time set to GMT+X hours. 38169689Skan 39169689Skan20060412: 40132718Skan The ip6fw utility has been removed. The behavior provided by 41169689Skan ip6fw has been in ipfw2 for a good while and the rc.d scripts 42169689Skan have been updated to deal with it. There are some rules that 43169689Skan might not migrate cleanly. Use rc.firewall6 as a template to 44169689Skan rewrite rules. 45169689Skan 46169689Skan20060428: 47132718Skan The puc(4) driver has been overhauled. The ebus(4) and sbus(4) 48132718Skan attachments have been removed. Make sure to configure scc(4) 49132718Skan on sparc64. Note also that by default puc(4) will use uart(4) 50169689Skan and not sio(4) for serial ports because interrupt handling has 51169689Skan been optimized for multi-port serial cards and only uart(4) 52169689Skan implements the interface to support it. 53169689Skan 54132718Skan20060330: 55132718Skan The scc(4) driver replaces puc(4) for Serial Communications 56132718Skan Controllers (SCCs) like the Siemens SAB82532 and the Zilog 57132718Skan Z8530. On sparc64, it is advised to add scc(4) to the kernel 58132718Skan configuration to make sure that the serial ports remain 59132718Skan functional. 60132718Skan 61132718Skan20060317: 62132718Skan Most world/kernel related NO_* build options changed names. 63132718Skan New knobs have common prefixes WITHOUT_*/WITH_* (modelled 64132718Skan after FreeBSD ports) and should be set in /etc/src.conf 65169689Skan (the src.conf(5) manpage is provided). Full backwards 66169689Skan compatibility is maintained for the time being though it's 67132718Skan highly recommended to start moving old options out of the 68169689Skan system-wide /etc/make.conf file into the new /etc/src.conf 69169689Skan while also properly renaming them. More conversions will 70169689Skan likely follow. Posting to current@: 71169689Skan 72169689Skan http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061725.html 73169689Skan 74169689Skan20060305: 75169689Skan The NETSMBCRYPTO kernel option has been retired because its 76169689Skan functionality is always included in NETSMB and smbfs.ko now. 77169689Skan 78132718Skan20060303: 79169689Skan The TDFX_LINUX kernel option was retired and replaced by the 80169689Skan tdfx_linux device. The latter can be loaded as the 3dfx_linux.ko 81132718Skan kernel module. Loading it alone should suffice to get 3dfx support 82169689Skan for Linux apps because it will pull in 3dfx.ko and linux.ko through 83132718Skan its dependencies. 84132718Skan 85169689Skan20060204: 86169689Skan The 'audit' group was added to support the new auditing functionality 87169689Skan in the base system. Be sure to follow the directions for updating, 88169689Skan including the requirement to run mergemaster -p. 89169689Skan 90132718Skan20060201: 91169689Skan The kernel ABI to file system modules was changed on i386. 92169689Skan Please make sure that your kernel and modules are in sync. 93169689Skan 94169689Skan20060118: 95169689Skan This actually occured some time ago, but installing the kernel 96169689Skan now also installs a bunch of symbol files for the kernel modules. 97169689Skan This increases the size of /boot/kernel to about 67Mbytes. You 98169689Skan will need twice this if you will eventually back this up to kernel.old 99132718Skan on your next install. 100169689Skan If you have a shortage of room in your root partition, you should add 101169689Skan -DINSTALL_NODEBUG to your make arguments or add INSTALL_NODEBUG="yes" 102169689Skan to your /etc/make.conf. 103169689Skan 104169689Skan20060113: 105169689Skan libc's malloc implementation has been replaced. This change has the 106169689Skan potential to uncover application bugs that previously went unnoticed. 107169689Skan See the malloc(3) manual page for more details. 108169689Skan 109169689Skan20060112: 110169689Skan The generic netgraph(4) cookie has been changed. If you upgrade 111169689Skan kernel passing this point, you also need to upgrade userland 112169689Skan and netgraph(4) utilities like ports/net/mpd or ports/net/mpd4. 113169689Skan 114169689Skan20060106: 115169689Skan si(4)'s device files now contain the unit number. 116169689Skan Uses of {cua,tty}A[0-9a-f] should be replaced by {cua,tty}A0[0-9a-f]. 117169689Skan 118169689Skan20060106: 119169689Skan The kernel ABI was mostly destroyed due to a change in the size 120169689Skan of struct lock_object which is nested in other structures such 121169689Skan as mutexes which are nested in all sorts of other structures. 122169689Skan Make sure your kernel and modules are in sync. 123169689Skan 124169689Skan20051231: 125169689Skan The page coloring algorithm in the VM subsystem was converted 126169689Skan from tuning with kernel options to autotuning. Please remove 127169689Skan any PQ_* option except PQ_NOOPT from your kernel config. 128169689Skan 129169689Skan20051211: 130169689Skan The net80211-related tools in the tools/tools/ath directory 131169689Skan have been moved to tools/tools/net80211 and renamed with a 132169689Skan "wlan" prefix. Scripts that use them should be adjusted 133169689Skan accordingly. 134169689Skan 135169689Skan20051202: 136169689Skan Scripts in the local_startup directories (as defined in 137169689Skan /etc/defaults/rc.conf) that have the new rc.d semantics will 138169689Skan now be run as part of the base system rcorder. If there are 139169689Skan errors or problems with one of these local scripts, it could 140169689Skan cause boot problems. If you encounter such problems, boot in 141169689Skan single user mode, remove that script from the */rc.d directory. 142169689Skan Please report the problem to the port's maintainer, and the 143169689Skan freebsd-ports@freebsd.org mailing list. 144169689Skan 145169689Skan20051129: 146169689Skan The nodev mount option was deprecated in RELENG_6 (where it 147169689Skan was a no-op), and is now unsupported. If you have nodev or dev listed 148169689Skan in /etc/fstab, remove it, otherwise it will result in a mount error. 149169689Skan 150169689Skan20051129: 151169689Skan ABI between ipfw(4) and ipfw(8) has been changed. You need 152169689Skan to rebuild ipfw(8) when rebuilding kernel. 153169689Skan 15420051108: 155 rp(4)'s device files now contain the unit number. 156 Uses of {cua,tty}R[0-9a-f] should be replaced by {cua,tty}R0[0-9a-f]. 157 15820051029: 159 /etc/rc.d/ppp-user has been renamed to /etc/rc.d/ppp. 160 Its /etc/rc.conf.d configuration file has been `ppp' from 161 the beginning, and hence there is no need to touch it. 162 16320051014: 164 Now most modules get their build-time options from the kernel 165 configuration file. A few modules still have fixed options 166 due to their non-conformant implementation, but they will be 167 corrected eventually. You may need to review the options of 168 the modules in use, explicitly specify the non-default options 169 in the kernel configuration file, and rebuild the kernel and 170 modules afterwards. 171 17220051001: 173 kern.polling.enable sysctl MIB is now deprecated. Use ifconfig(8) 174 to turn polling(4) on your interfaces. 175 17620050927: 177 The old bridge(4) implementation was retired. The new 178 if_bridge(4) serves as a full functional replacement. 179 18020050722: 181 The ai_addrlen of a struct addrinfo was changed to a socklen_t 182 to conform to POSIX-2001. This change broke an ABI 183 compatibility on 64 bit architecture. You have to recompile 184 userland programs that use getaddrinfo(3) on 64 bit 185 architecture. 186 18720050711: 188 RELENG_6 branched here. 189 19020050629: 191 The pccard_ifconfig rc.conf variable has been removed and a new 192 variable, ifconfig_DEFAULT has been introduced. Unlike 193 pccard_ifconfig, ifconfig_DEFAULT applies to ALL interfaces that 194 do not have ifconfig_ifn entries rather than just those in 195 removable_interfaces. 196 19720050616: 198 Some previous versions of PAM have permitted the use of 199 non-absolute paths in /etc/pam.conf or /etc/pam.d/* when referring 200 to third party PAM modules in /usr/local/lib. A change has been 201 made to require the use of absolute paths in order to avoid 202 ambiguity and dependence on library path configuration, which may 203 affect existing configurations. 204 20520050610: 206 Major changes to network interface API. All drivers must be 207 recompiled. Drivers not in the base system will need to be 208 updated to the new APIs. 209 21020050609: 211 Changes were made to kinfo_proc in sys/user.h. Please recompile 212 userland, or commands like `fstat', `pkill', `ps', `top' and `w' 213 will not behave correctly. 214 215 The API and ABI for hwpmc(4) have changed with the addition 216 of sampling support. Please recompile lib/libpmc(3) and 217 usr.sbin/{pmcstat,pmccontrol}. 218 21920050606: 220 The OpenBSD dhclient was imported in place of the ISC dhclient 221 and the network interface configuration scripts were updated 222 accordingly. If you use DHCP to configure your interfaces, you 223 must now run devd. Also, DNS updating was lost so you will need 224 to find a workaround if you use this feature. 225 226 The '_dhcp' user was added to support the OpenBSD dhclient. Be 227 sure to run mergemaster -p (like you are supposed to do every time 228 anyway). 229 23020050605: 231 if_bridge was added to the tree. This has changed struct ifnet. 232 Please recompile userland and all network related modules. 233 23420050603: 235 The n_net of a struct netent was changed to an uint32_t, and 236 1st argument of getnetbyaddr() was changed to an uint32_t, to 237 conform to POSIX-2001. These changes broke an ABI 238 compatibility on 64 bit architecture. With these changes, 239 shlib major of libpcap was bumped. You have to recompile 240 userland programs that use getnetbyaddr(3), getnetbyname(3), 241 getnetent(3) and/or libpcap on 64 bit architecture. 242 24320050528: 244 Kernel parsing of extra options on '#!' first lines of shell 245 scripts has changed. Lines with multiple options likely will 246 fail after this date. For full details, please see 247 http://people.freebsd.org/~gad/Updating-20050528.txt 248 24920050503: 250 The packet filter (pf) code has been updated to OpenBSD 3.7 251 Please note the changed anchor syntax and the fact that 252 authpf(8) now needs a mounted fdescfs(5) to function. 253 25420050415: 255 The NO_MIXED_MODE kernel option has been removed from the i386 256 amd64 platforms as its use has been superceded by the new local 257 APIC timer code. Any kernel config files containing this option 258 should be updated. 259 26020050227: 261 The on-disk format of LC_CTYPE files was changed to be machine 262 independent. Please make sure NOT to use NO_CLEAN buildworld 263 when crossing this point. Crossing this point also requires 264 recompile or reinstall of all locale depended packages. 265 26620050225: 267 The ifi_epoch member of struct if_data has been changed to 268 contain the uptime at which the interface was created or the 269 statistics zeroed rather then the wall clock time because 270 wallclock time may go backwards. This should have no impact 271 unless an snmp implementation is using this value (I know of 272 none at this point.) 273 27420050224: 275 The acpi_perf and acpi_throttle drivers are now part of the 276 acpi(4) main module. They are no longer built separately. 277 27820050223: 279 The layout of struct image_params has changed. You have to 280 recompile all compatibility modules (linux, svr4, etc) for use 281 with the new kernel. 282 28320050223: 284 The p4tcc driver has been merged into cpufreq(4). This makes 285 "options CPU_ENABLE_TCC" obsolete. Please load cpufreq.ko or 286 compile in "device cpufreq" to restore this functionality. 287 28820050220: 289 The responsibility of recomputing the file system summary of 290 a SoftUpdates-enabled dirty volume has been transferred to the 291 background fsck. A rebuild of fsck(8) utility is recommended 292 if you have updated the kernel. 293 294 To get the old behavior (recompute file system summary at mount 295 time), you can set vfs.ffs.compute_summary_at_mount=1 before 296 mounting the new volume. 297 29820050206: 299 The cpufreq import is complete. As part of this, the sysctls for 300 acpi(4) throttling have been removed. The power_profile script 301 has been updated, so you can use performance/economy_cpu_freq in 302 rc.conf(5) to set AC on/offline cpu frequencies. 303 30420050206: 305 NG_VERSION has been increased. Recompiling kernel (or ng_socket.ko) 306 requires recompiling libnetgraph and userland netgraph utilities. 307 30820050114: 309 Support for abbreviated forms of a number of ipfw options is 310 now deprecated. Warnings are printed to stderr indicating the 311 correct full form when a match occurs. Some abbreviations may 312 be supported at a later date based on user feedback. To be 313 considered for support, abbreviations must be in use prior to 314 this commit and unlikely to be confused with current key words. 315 31620041221: 317 By a popular demand, a lot of NOFOO options were renamed 318 to NO_FOO (see bsd.compat.mk for a full list). The old 319 spellings are still supported, but will cause annoying 320 warnings on stderr. Make sure you upgrade properly (see 321 the COMMON ITEMS: section later in this file). 322 32320041219: 324 Auto-loading of ancillary wlan modules such as wlan_wep has 325 been temporarily disabled; you need to statically configure 326 the modules you need into your kernel or explicitly load them 327 prior to use. Specifically, if you intend to use WEP encryption 328 with an 802.11 device load/configure wlan_wep; if you want to 329 use WPA with the ath driver load/configure wlan_tkip, wlan_ccmp, 330 and wlan_xauth as required. 331 33220041213: 333 The behaviour of ppp(8) has changed slightly. If lqr is enabled 334 (``enable lqr''), older versions would revert to LCP ECHO mode on 335 negotiation failure. Now, ``enable echo'' is required for this 336 behaviour. The ppp version number has been bumped to 3.4.2 to 337 reflect the change. 338 33920041201: 340 The wlan support has been updated to split the crypto support 341 into separate modules. For static WEP you must configure the 342 wlan_wep module in your system or build and install the module 343 in place where it can be loaded (the kernel will auto-load 344 the module when a wep key is configured). 345 34620041201: 347 The ath driver has been updated to split the tx rate control 348 algorithm into a separate module. You need to include either 349 ath_rate_onoe or ath_rate_amrr when configuring the kernel. 350 35120041116: 352 Support for systems with an 80386 CPU has been removed. Please 353 use FreeBSD 5.x or earlier on systems with an 80386. 354 35520041110: 356 We have had a hack which would mount the root filesystem 357 R/W if the device were named 'md*'. As part of the vnode 358 work I'm doing I have had to remove this hack. People 359 building systems which use preloaded MD root filesystems 360 may need to insert a "/sbin/mount -u -o rw /dev/md0 /" in 361 their /etc/rc scripts. 362 36320041104: 364 FreeBSD 5.3 shipped here. 365 36620041102: 367 The size of struct tcpcb has changed again due to the removal 368 of RFC1644 T/TCP. You have to recompile userland programs that 369 read kmem for tcp sockets directly (netstat, sockstat, etc.) 370 37120041022: 372 The size of struct tcpcb has changed. You have to recompile 373 userland programs that read kmem for tcp sockets directly 374 (netstat, sockstat, etc.) 375 37620041016: 377 RELENG_5 branched here. For older entries, please see updating 378 in the RELENG_5 branch. 379 380COMMON ITEMS: 381 382 General Notes 383 ------------- 384 Avoid using make -j when upgrading. From time to time in the 385 past there have been problems using -j with buildworld and/or 386 installworld. This is especially true when upgrading between 387 "distant" versions (eg one that cross a major release boundary 388 or several minor releases, or when several months have passed 389 on the -current branch). 390 391 Sometimes, obscure build problems are the result of environment 392 poisoning. This can happen because the make utility reads its 393 environment when searching for values for global variables. 394 To run your build attempts in an "environmental clean room", 395 prefix all make commands with 'env -i '. See the env(1) manual 396 page for more details. 397 398 When upgrading from one major version to another it is generally 399 best to upgrade to the latest code in the currently installed branch 400 first, then do an upgrade to the new branch. This is the best-tested 401 upgrade path, and has the highest probability of being successful. 402 Please try this approach before reporting problems with a major 403 version upgrade. 404 405 To build a kernel 406 ----------------- 407 If you are updating from a prior version of FreeBSD (even one just 408 a few days old), you should follow this procedure. It is the most 409 failsafe as it uses a /usr/obj tree with a fresh mini-buildworld, 410 411 make kernel-toolchain 412 make -DALWAYS_CHECK_MAKE buildkernel KERNCONF=YOUR_KERNEL_HERE 413 make -DALWAYS_CHECK_MAKE installkernel KERNCONF=YOUR_KERNEL_HERE 414 415 To test a kernel once 416 --------------------- 417 If you just want to boot a kernel once (because you are not sure 418 if it works, or if you want to boot a known bad kernel to provide 419 debugging information) run 420 make installkernel KERNCONF=YOUR_KERNEL_HERE KODIR=/boot/testkernel 421 nextboot -k testkernel 422 423 To just build a kernel when you know that it won't mess you up 424 -------------------------------------------------------------- 425 This assumes you are already running a 5.X system. Replace 426 ${arch} with the architecture of your machine (e.g. "i386", 427 "alpha", "amd64", "ia64", "pc98", "sparc64", etc). 428 429 cd src/sys/${arch}/conf 430 config KERNEL_NAME_HERE 431 cd ../compile/KERNEL_NAME_HERE 432 make depend 433 make 434 make install 435 436 If this fails, go to the "To build a kernel" section. 437 438 To rebuild everything and install it on the current system. 439 ----------------------------------------------------------- 440 # Note: sometimes if you are running current you gotta do more than 441 # is listed here if you are upgrading from a really old current. 442 443 <make sure you have good level 0 dumps> 444 make buildworld 445 make kernel KERNCONF=YOUR_KERNEL_HERE 446 [1] 447 <reboot in single user> [3] 448 mergemaster -p [5] 449 make installworld 450 make delete-old 451 mergemaster [4] 452 <reboot> 453 454 455 To cross-install current onto a separate partition 456 -------------------------------------------------- 457 # In this approach we use a separate partition to hold 458 # current's root, 'usr', and 'var' directories. A partition 459 # holding "/", "/usr" and "/var" should be about 2GB in 460 # size. 461 462 <make sure you have good level 0 dumps> 463 <boot into -stable> 464 make buildworld 465 make buildkernel KERNCONF=YOUR_KERNEL_HERE 466 <maybe newfs current's root partition> 467 <mount current's root partition on directory ${CURRENT_ROOT}> 468 make installworld DESTDIR=${CURRENT_ROOT} 469 make distribution DESTDIR=${CURRENT_ROOT} # if newfs'd 470 make installkernel KERNCONF=YOUR_KERNEL_HERE DESTDIR=${CURRENT_ROOT} 471 cp /etc/fstab ${CURRENT_ROOT}/etc/fstab # if newfs'd 472 <edit ${CURRENT_ROOT}/etc/fstab to mount "/" from the correct partition> 473 <reboot into current> 474 <do a "native" rebuild/install as described in the previous section> 475 <maybe install compatibility libraries from src/lib/compat> 476 <reboot> 477 478 479 To upgrade in-place from 5.x-stable to current 480 ---------------------------------------------- 481 <make sure you have good level 0 dumps> 482 make buildworld [9] 483 make kernel KERNCONF=YOUR_KERNEL_HERE [8] 484 [1] 485 <reboot in single user> [3] 486 mergemaster -p [5] 487 make installworld 488 make delete-old 489 mergemaster -i [4] 490 <reboot> 491 492 Make sure that you've read the UPDATING file to understand the 493 tweaks to various things you need. At this point in the life 494 cycle of current, things change often and you are on your own 495 to cope. The defaults can also change, so please read ALL of 496 the UPDATING entries. 497 498 Also, if you are tracking -current, you must be subscribed to 499 freebsd-current@freebsd.org. Make sure that before you update 500 your sources that you have read and understood all the recent 501 messages there. If in doubt, please track -stable which has 502 much fewer pitfalls. 503 504 [1] If you have third party modules, such as vmware, you 505 should disable them at this point so they don't crash your 506 system on reboot. 507 508 [3] From the bootblocks, boot -s, and then do 509 fsck -p 510 mount -u / 511 mount -a 512 cd src 513 adjkerntz -i # if CMOS is wall time 514 Also, when doing a major release upgrade, it is required that 515 you boot into single user mode to do the installworld. 516 517 [4] Note: This step is non-optional. Failure to do this step 518 can result in a significant reduction in the functionality of the 519 system. Attempting to do it by hand is not recommended and those 520 that pursue this avenue should read this file carefully, as well 521 as the archives of freebsd-current and freebsd-hackers mailing lists 522 for potential gotchas. 523 524 [5] Usually this step is a noop. However, from time to time 525 you may need to do this if you get unknown user in the following 526 step. It never hurts to do it all the time. You may need to 527 install a new mergemaster (cd src/usr.sbin/mergemaster && make 528 install) after the buildworld before this step if you last updated 529 from current before 20020224 or from -stable before 20020408. 530 531 [8] In order to have a kernel that can run the 4.x binaries 532 needed to do an installworld, you must include the COMPAT_FREEBSD4 533 option in your kernel. Failure to do so may leave you with a system 534 that is hard to boot to recover. A similar kernel option COMPAT_FREEBSD5 535 is required to run the 5.x binaries on more recent kernels. 536 537 Make sure that you merge any new devices from GENERIC since the 538 last time you updated your kernel config file. 539 540 [9] When checking out sources, you must include the -P flag to have 541 cvs prune empty directories. 542 543 If CPUTYPE is defined in your /etc/make.conf, make sure to use the 544 "?=" instead of the "=" assignment operator, so that buildworld can 545 override the CPUTYPE if it needs to. 546 547 MAKEOBJDIRPREFIX must be defined in an environment variable, and 548 not on the command line, or in /etc/make.conf. buildworld will 549 warn if it is improperly defined. 550FORMAT: 551 552This file contains a list, in reverse chronological order, of major 553breakages in tracking -current. Not all things will be listed here, 554and it only starts on October 16, 2004. Updating files can found in 555previous releases if your system is older than this. 556 557Copyright information: 558 559Copyright 1998-2005 M. Warner Losh. All Rights Reserved. 560 561Redistribution, publication, translation and use, with or without 562modification, in full or in part, in any form or format of this 563document are permitted without further permission from the author. 564 565THIS DOCUMENT IS PROVIDED BY WARNER LOSH ``AS IS'' AND ANY EXPRESS OR 566IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 567WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 568DISCLAIMED. IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT, 569INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 570(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 571SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 572HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 573STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 574IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 575POSSIBILITY OF SUCH DAMAGE. 576 577If you find this document useful, and you want to, you may buy the 578author a beer. 579 580Contact Warner Losh if you have any questions about your use of 581this document. 582 583$FreeBSD: head/UPDATING 158601 2006-05-15 15:47:45Z keramida $ 584