]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - UPDATING
This main goals of this project are:
[FreeBSD/FreeBSD.git] / UPDATING
1 Updating Information for FreeBSD current users
2
3 This file is maintained and copyrighted by M. Warner Losh
4 <imp@village.org>.  See end of file for further details.  For commonly
5 done items, please see the COMMON ITEMS: section later in the file.
6
7 Items affecting the ports and packages system can be found in
8 /usr/ports/UPDATING.  Please read that file before running
9 portupgrade.
10
11 NOTE TO PEOPLE WHO THINK THAT FreeBSD 8.x IS SLOW:
12         FreeBSD 8.x has many debugging features turned on, in
13         both the kernel and userland.  These features attempt to detect
14         incorrect use of system primitives, and encourage loud failure
15         through extra sanity checking and fail stop semantics.  They
16         also substantially impact system performance.  If you want to
17         do performance measurement, benchmarking, and optimization,
18         you'll want to turn them off.  This includes various WITNESS-
19         related kernel options, INVARIANTS, malloc debugging flags
20         in userland, and various verbose features in the kernel.  Many
21         developers choose to disable these features on build machines
22         to maximize performance.  (To disable malloc debugging, run
23         ln -s aj /etc/malloc.conf.)
24
25 20081214:
26         __FreeBSD_version 800059 incorporates the new arp-v2 rewrite.
27         RTF_CLONING, RTF_LLINFO and RTF_WASCLONED flags are eliminated.
28         The new code reduced struct rtentry{} by 16 bytes on 32-bit 
29         architecture and 40 bytes on 64-bit architecture. The userland
30         applications "arp" and "ndp" have been updated accordingly.
31         The output from "netstat -r" shows only routing entries and
32         none of the L2 information.
33
34 20081130:
35         __FreeBSD_version 800057 marks the switchover from the
36         binary ath hal to source code. Users must add the line:
37
38         options AH_SUPPORT_AR5416
39
40         to their kernel config files when specifying:
41
42         device  ath_hal
43
44         The ath_hal module no longer exists; the code is now compiled
45         together with the driver in the ath module.  It is now
46         possible to tailor chip support (i.e. reduce the set of chips
47         and thereby the code size); consult ath_hal(4) for details.
48
49 20081121:
50         __FreeBSD_version 800054 adds memory barriers to
51         <machine/atomic.h>, new interfaces to ifnet to facilitate
52         multiple hardware transmit queues for cards that support
53         them, and a lock-less ring-buffer implementation to
54         enable drivers to more efficiently manage queueing of
55         packets.
56
57 20081117:
58         A new version of ZFS (version 13) has been merged to -HEAD.
59         This version has zpool attribute "listsnapshots" off by
60         default, which means "zfs list" does not show snapshots,
61         and is the same as Solaris behavior.
62
63 20081028:
64         dummynet(4) ABI has changed. ipfw(8) needs to be recompiled.
65
66 20081009:
67         The uhci, ohci, ehci and slhci USB Host controller drivers have
68         been put into separate modules. If you load the usb module
69         separately through loader.conf you will need to load the
70         appropriate *hci module as well. E.g. for a UHCI-based USB 2.0
71         controller add the following to loader.conf:
72
73                 uhci_load="YES"
74                 ehci_load="YES"
75
76 20081009:
77         The ABI used by the PMC toolset has changed.  Please keep
78         userland (libpmc(3)) and the kernel module (hwpmc(4)) in
79         sync.
80
81 20080820:
82         The TTY subsystem of the kernel has been replaced by a new
83         implementation, which provides better scalability and an
84         improved driver model. Most common drivers have been migrated to
85         the new TTY subsystem, while others have not. The following
86         drivers have not yet been ported to the new TTY layer:
87
88         PCI/ISA:
89                 cy, digi, rc, rp, sio
90
91         USB:
92                 ubser, ucycom
93
94         Line disciplines:
95                 ng_h4, ng_tty, ppp, sl, snp
96
97         Adding these drivers to your kernel configuration file shall
98         cause compilation to fail.
99
100 20080818:
101         ntpd has been upgraded to 4.2.4p5.
102
103 20080801:
104         OpenSSH has been upgraded to 5.1p1.
105
106         For many years, FreeBSD's version of OpenSSH preferred DSA
107         over RSA for host and user authentication keys.  With this
108         upgrade, we've switched to the vendor's default of RSA over
109         DSA.  This may cause upgraded clients to warn about unknown
110         host keys even for previously known hosts.  Users should
111         follow the usual procedure for verifying host keys before
112         accepting the RSA key.
113
114         This can be circumvented by setting the "HostKeyAlgorithms"
115         option to "ssh-dss,ssh-rsa" in ~/.ssh/config or on the ssh
116         command line.
117
118         Please note that the sequence of keys offered for
119         authentication has been changed as well.  You may want to
120         specify IdentityFile in a different order to revert this
121         behavior.
122
123 20080713:
124         The sio(4) driver has been removed from the i386 and amd64
125         kernel configuration files. This means uart(4) is now the
126         default serial port driver on those platforms as well.
127
128         To prevent collisions with the sio(4) driver, the uart(4) driver
129         uses different names for its device nodes. This means the
130         onboard serial port will now most likely be called "ttyu0"
131         instead of "ttyd0". You may need to reconfigure applications to
132         use the new device names.
133
134         When using the serial port as a boot console, be sure to update
135         /boot/device.hints and /etc/ttys before booting the new kernel.
136         If you forget to do so, you can still manually specify the hints
137         at the loader prompt:
138
139                 set hint.uart.0.at="isa"
140                 set hint.uart.0.port="0x3F8"
141                 set hint.uart.0.flags="0x10"
142                 set hint.uart.0.irq="4"
143                 boot -s
144
145 20080609:
146         The gpt(8) utility has been removed. Use gpart(8) to partition
147         disks instead.
148
149 20080603:
150         The version that Linuxulator emulates was changed from 2.4.2
151         to 2.6.16. If you experience any problems with Linux binaries
152         please try to set sysctl compat.linux.osrelease to 2.4.2 and
153         if it fixes the problem contact emulation mailing list.
154
155 20080525:
156         ISDN4BSD (I4B) was removed from the src tree. You may need to
157         update a your kernel configuration and remove relevant entries.
158
159 20080509:
160         I have checked in code to support multiple routing tables.
161         See the man pages setfib(1) and setfib(2).
162         This is a hopefully backwards compatible version,
163         but to make use of it you need to compile your kernel
164         with options ROUTETABLES=2 (or more up to 16).
165
166 20080420:
167         The 802.11 wireless support was redone to enable multi-bss
168         operation on devices that are capable.  The underlying device
169         is no longer used directly but instead wlanX devices are
170         cloned with ifconfig.  This requires changes to rc.conf files.
171         For example, change:
172                 ifconfig_ath0="WPA DHCP"
173         to
174                 wlans_ath0=wlan0
175                 ifconfig_wlan0="WPA DHCP"
176         see rc.conf(5) for more details.  In addition, mergemaster of
177         /etc/rc.d is highly recommended.  Simultaneous update of userland
178         and kernel wouldn't hurt either.
179
180         As part of the multi-bss changes the wlan_scan_ap and wlan_scan_sta
181         modules were merged into the base wlan module.  All references
182         to these modules (e.g. in kernel config files) must be removed.
183
184 20080408:
185         psm(4) has gained write(2) support in native operation level.
186         Arbitrary commands can be written to /dev/psm%d and status can
187         be read back from it.  Therefore, an application is responsible
188         for status validation and error recovery.  It is a no-op in
189         other operation levels.
190
191 20080312:
192         Support for KSE threading has been removed from the kernel.  To
193         run legacy applications linked against KSE libmap.conf may
194         be used.  The following libmap.conf may be used to ensure
195         compatibility with any prior release:
196
197         libpthread.so.1 libthr.so.1
198         libpthread.so.2 libthr.so.2
199         libkse.so.3 libthr.so.3
200
201 20080301:
202         The layout of struct vmspace has changed. This affects libkvm
203         and any executables that link against libkvm and use the
204         kvm_getprocs() function. In particular, but not exclusively,
205         it affects ps(1), fstat(1), pkill(1), systat(1), top(1) and w(1).
206         The effects are minimal, but it's advisable to upgrade world
207         nonetheless.
208
209 20080229:
210         The latest em driver no longer has support in it for the
211         82575 adapter, this is now moved to the igb driver. The
212         split was done to make new features that are incompatible
213         with older hardware easier to do.
214
215 20080220:
216         The new geom_lvm(4) geom class has been renamed to geom_linux_lvm(4),
217         likewise the kernel option is now GEOM_LINUX_LVM.
218
219 20080211:
220         The default NFS mount mode has changed from UDP to TCP for
221         increased reliability.  If you rely on (insecurely) NFS
222         mounting across a firewall you may need to update your
223         firewall rules.
224
225 20080208:
226         Belatedly note the addition of m_collapse for compacting
227         mbuf chains.
228
229 20080126:
230         The fts(3) structures have been changed to use adequate
231         integer types for their members and so to be able to cope
232         with huge file trees.  The old fts(3) ABI is preserved
233         through symbol versioning in libc, so third-party binaries
234         using fts(3) should still work, although they will not take
235         advantage of the extended types.  At the same time, some
236         third-party software might fail to build after this change
237         due to unportable assumptions made in its source code about
238         fts(3) structure members.  Such software should be fixed
239         by its vendor or, in the worst case, in the ports tree.
240         FreeBSD_version 800015 marks this change for the unlikely
241         case that a portable fix is impossible.
242
243 20080123:
244         To upgrade to -current after this date, you must be running
245         FreeBSD not older than 6.0-RELEASE.  Upgrading to -current
246         from 5.x now requires a stop over at RELENG_6 or RELENG_7 systems.
247
248 20071128:
249         The ADAPTIVE_GIANT kernel option has been retired because its
250         functionality is the default now.
251
252 20071118:
253         The AT keyboard emulation of sunkbd(4) has been turned on
254         by default. In order to make the special symbols of the Sun
255         keyboards driven by sunkbd(4) work under X these now have
256         to be configured the same way as Sun USB keyboards driven
257         by ukbd(4) (which also does AT keyboard emulation), f.e.:
258
259         Option  "XkbLayout" "us"
260         Option  "XkbRules" "xorg"
261         Option  "XkbSymbols" "pc(pc105)+sun_vndr/usb(sun_usb)+us"
262
263 20071024:
264         It has been decided that it is desirable to provide ABI
265         backwards compatibility to the FreeBSD 4/5/6 versions of the
266         PCIOCGETCONF, PCIOCREAD and PCIOCWRITE IOCTLs, which was
267         broken with the introduction of PCI domain support (see the
268         20070930 entry). Unfortunately, this required the ABI of
269         PCIOCGETCONF to be broken again in order to be able to
270         provide backwards compatibility to the old version of that
271         IOCTL. Thus consumers of PCIOCGETCONF have to be recompiled
272         again. As for prominent ports this affects neither pciutils
273         nor xorg-server this time, the hal port needs to be rebuilt
274         however.
275
276 20071020:
277         The misnamed kthread_create() and friends have been renamed
278         to kproc_create() etc. Many of the callers already
279         used kproc_start()..
280         I will return kthread_create() and friends in a while
281         with implementations that actually create threads, not procs.
282         Renaming corresponds with version 800002.
283
284 20071010:
285         RELENG_7 branched.
286
287 20071009:
288         Setting WITHOUT_LIBPTHREAD now means WITHOUT_LIBKSE and
289         WITHOUT_LIBTHR are set.
290
291 20070930:
292         The PCI code has been made aware of PCI domains. This means that
293         the location strings as used by pciconf(8) etc are now in the
294         following format: pci<domain>:<bus>:<device>[:<function>]. It
295         also means that consumers of <sys/pciio.h> potentially need to
296         be recompiled; this includes the hal and xorg-server ports.
297
298 20070928:
299         The caching daemon (cached) was renamed to nscd. nscd.conf
300         configuration file should be used instead of cached.conf and
301         nscd_enable, nscd_pidfile and nscd_flags options should be used
302         instead of cached_enable, cached_pidfile and cached_flags in
303         rc.conf.
304
305 20070921:
306         The getfacl(1) utility now prints owning user and group name
307         instead of owning uid and gid in the three line comment header.
308         This is the same behavior as getfacl(1) on Solaris and Linux.
309
310 20070704:
311         The new IPsec code is now compiled in using the IPSEC option.  The
312         IPSEC option now requires "device crypto" be defined in your kernel
313         configuration.  The FAST_IPSEC kernel option is now deprecated.
314
315 20070702:
316         The packet filter (pf) code has been updated to OpenBSD 4.1 Please
317         note the changed syntax - keep state is now on by default.  Also
318         note the fact that ftp-proxy(8) has been changed from bottom up and
319         has been moved from libexec to usr/sbin.  Changes in the ALTQ
320         handling also affect users of IPFW's ALTQ capabilities.
321
322 20070701:
323         Remove KAME IPsec in favor of FAST_IPSEC, which is now the
324         only IPsec supported by FreeBSD.  The new IPsec stack
325         supports both IPv4 and IPv6. The kernel option will change
326         after the code changes have settled in.  For now the kernel
327         option IPSEC is deprecated and FAST_IPSEC is the only option, that
328         will change after some settling time.
329
330 20070701:
331         The wicontrol(8) utility has been removed from the base system. wi(4)
332         cards should be configured using ifconfig(8), see the man page for more
333         information.
334
335 20070612:
336         The i386/amd64 GENERIC kernel now defaults to the nfe(4) driver
337         instead of the nve(4) driver. Please update your configuration
338         accordingly.
339
340 20070612:
341         By default, /etc/rc.d/sendmail no longer rebuilds the aliases
342         database if it is missing or older than the aliases file.  If
343         desired, set the new rc.conf option sendmail_rebuild_aliases
344         to "YES" to restore that functionality.
345
346 20070612:
347         The IPv4 multicast socket code has been considerably modified, and
348         moved to the file sys/netinet/in_mcast.c. Initial support for the
349         RFC 3678 Source-Specific Multicast Socket API has been added to
350         the IPv4 network stack.
351
352         Strict multicast and broadcast reception is now the default for
353         UDP/IPv4 sockets; the net.inet.udp.strict_mcast_mship sysctl variable
354         has now been removed.
355
356         The RFC 1724 hack for interface selection has been removed; the use
357         of the Linux-derived ip_mreqn structure with IP_MULTICAST_IF has
358         been added to replace it. Consumers such as routed will soon be
359         updated to reflect this.
360
361         These changes affect users who are running routed(8) or rdisc(8)
362         from the FreeBSD base system on point-to-point or unnumbered
363         interfaces.
364
365 20070610:
366         The net80211 layer has changed significantly and all wireless
367         drivers that depend on it need to be recompiled.  Further these
368         changes require that any program that interacts with the wireless
369         support in the kernel be recompiled; this includes: ifconfig,
370         wpa_supplicant, hostapd, and wlanstats.  Users must also, for
371         the moment, kldload the wlan_scan_sta and/or wlan_scan_ap modules
372         if they use modules for wireless support.  These modules implement
373         scanning support for station and ap modes, respectively.  Failure
374         to load the appropriate module before marking a wireless interface
375         up will result in a message to the console and the device not
376         operating properly.
377
378 20070610:
379         The pam_nologin(8) module ceases to provide an authentication
380         function and starts providing an account management function.
381         Consequent changes to /etc/pam.d should be brought in using
382         mergemaster(8).  Third-party files in /usr/local/etc/pam.d may
383         need manual editing as follows.  Locate this line (or similar):
384
385                 auth    required        pam_nologin.so  no_warn
386
387         and change it according to this example:
388
389                 account required        pam_nologin.so  no_warn
390
391         That is, the first word needs to be changed from "auth" to
392         "account".  The new line can be moved to the account section
393         within the file for clarity.  Not updating pam.conf(5) files
394         will result in nologin(5) ignored by the respective services.
395
396 20070529:
397         The ether_ioctl() function has been synchronized with ioctl(2)
398         and ifnet.if_ioctl.  Due to that, the size of one of its arguments
399         has changed on 64-bit architectures.  All kernel modules using
400         ether_ioctl() need to be rebuilt on such architectures.
401
402 20070516:
403         Improved INCLUDE_CONFIG_FILE support has been introduced to the
404         config(8) utility. In order to take advantage of this new
405         functionality, you are expected to recompile and install
406         src/usr.sbin/config. If you don't rebuild config(8), and your
407         kernel configuration depends on INCLUDE_CONFIG_FILE, the kernel
408         build will be broken because of a missing "kernconfstring"
409         symbol.
410
411 20070513:
412         Symbol versioning is enabled by default.  To disable it, use
413         option WITHOUT_SYMVER.  It is not advisable to attempt to
414         disable symbol versioning once it is enabled; your installworld
415         will break because a symbol version-less libc will get installed
416         before the install tools.  As a result, the old install tools,
417         which previously had symbol dependencies to FBSD_1.0, will fail
418         because the freshly installed libc will not have them.
419
420         The default threading library (providing "libpthread") has been
421         changed to libthr.  If you wish to have libkse as your default,
422         use option DEFAULT_THREAD_LIB=libkse for the buildworld.
423
424 20070423:
425         The ABI breakage in sendmail(8)'s libmilter has been repaired
426         so it is no longer necessary to recompile mail filters (aka,
427         milters).  If you recompiled mail filters after the 20070408
428         note, it is not necessary to recompile them again.
429
430 20070417:
431         The new trunk(4) driver has been renamed to lagg(4) as it better
432         reflects its purpose. ifconfig will need to be recompiled.
433
434 20070408:
435         sendmail(8) has been updated to version 8.14.1.  Mail filters
436         (aka, milters) compiled against the libmilter included in the
437         base operating system should be recompiled.
438
439 20070302:
440         Firmwares for ipw(4) and iwi(4) are now included in the base tree.
441         In order to use them one must agree to the respective LICENSE in
442         share/doc/legal and define legal.intel_<name>.license_ack=1 via
443         loader.conf(5) or kenv(1).  Make sure to deinstall the now
444         deprecated modules from the respective firmware ports.
445
446 20070228:
447         The name resolution/mapping functions addr2ascii(3) and ascii2addr(3)
448         were removed from FreeBSD's libc. These originally came from INRIA
449         IPv6. Nothing in FreeBSD ever used them. They may be regarded as
450         deprecated in previous releases.
451         The AF_LINK support for getnameinfo(3) was merged from NetBSD to
452         replace it as a more portable (and re-entrant) API.
453
454 20070224:
455         To support interrupt filtering a modification to the newbus API
456         has occurred, ABI was broken and __FreeBSD_version was bumped
457         to 700031. Please make sure that your kernel and modules are in
458         sync. For more info:
459         http://docs.freebsd.org/cgi/mid.cgi?20070221233124.GA13941
460
461 20070224:
462         The IPv6 multicast forwarding code may now be loaded into GENERIC
463         kernels by loading the ip_mroute.ko module. This is built into the
464         module unless WITHOUT_INET6 or WITHOUT_INET6_SUPPORT options are
465         set; see src.conf(5) for more information.
466
467 20070214:
468         The output of netstat -r has changed. Without -n, we now only
469         print a "network name" without the prefix length if the network
470         address and mask exactly match a Class A/B/C network, and an entry
471         exists in the nsswitch "networks" map.
472         With -n, we print the full unabbreviated CIDR network prefix in
473         the form "a.b.c.d/p". 0.0.0.0/0 is always printed as "default".
474         This change is in preparation for changes such as equal-cost
475         multipath, and to more generally assist operational deployment
476         of FreeBSD as a modern IPv4 router.
477
478 20070210:
479         PIM has been turned on by default in the IPv4 multicast
480         routing code. The kernel option 'PIM' has now been removed.
481         PIM is now built by default if option 'MROUTING' is specified.
482         It may now be loaded into GENERIC kernels by loading the
483         ip_mroute.ko module.
484
485 20070207:
486         Support for IPIP tunnels (VIFF_TUNNEL) in IPv4 multicast routing
487         has been removed. Its functionality may be achieved by explicitly
488         configuring gif(4) interfaces and using the 'phyint' keyword in
489         mrouted.conf.
490         XORP does not support source-routed IPv4 multicast tunnels nor the
491         integrated IPIP tunneling, therefore it is not affected by this
492         change. The __FreeBSD_version macro has been bumped to 700030.
493
494 20061221:
495         Support for PCI Message Signalled Interrupts has been
496         re-enabled in the bge driver, only for those chips which are
497         believed to support it properly.  If there are any problems,
498         MSI can be disabled completely by setting the
499         'hw.pci.enable_msi' and 'hw.pci.enable_msix' tunables to 0
500         in the loader.
501
502 20061214:
503         Support for PCI Message Signalled Interrupts has been
504         disabled again in the bge driver.  Many revisions of the
505         hardware fail to support it properly.  Support can be
506         re-enabled by removing the #define of BGE_DISABLE_MSI in
507         "src/sys/dev/bge/if_bge.c".
508
509 20061214:
510         Support for PCI Message Signalled Interrupts has been added
511         to the bge driver.  If there are any problems, MSI can be
512         disabled completely by setting the 'hw.pci.enable_msi' and
513         'hw.pci.enable_msix' tunables to 0 in the loader.
514
515 20061205:
516         The removal of several facets of the experimental Threading
517         system from the kernel means that the proc and thread structures
518         have changed quite a bit. I suggest all kernel modules that might
519         reference these structures be recompiled.. Especially the
520         linux module.
521
522 20061126:
523         Sound infrastructure has been updated with various fixes and
524         improvements. Most of the changes are pretty much transparent,
525         with exceptions of followings:
526         1) All sound driver specific sysctls (hw.snd.pcm%d.*) have been
527            moved to their own dev sysctl nodes, for example:
528                 hw.snd.pcm0.vchans -> dev.pcm.0.vchans
529         2) /dev/dspr%d.%d has been deprecated. Each channel now has its
530            own chardev in the form of "dsp%d.<function>%d", where <function>
531            is p = playback, r = record and v = virtual, respectively. Users
532            are encouraged to use these devs instead of (old) "/dev/dsp%d.%d".
533            This does not affect those who are using "/dev/dsp".
534
535 20061122:
536         geom(4)'s gmirror(8) class metadata structure has been
537         rev'd from v3 to v4. If you update across this point and
538         your metadata is converted for you, you will not be easily
539         able to downgrade since the /boot/kernel.old/geom_mirror.ko
540         kernel module will be unable to read the v4 metadata.  You
541         can resolve this by doing from the loader(8) prompt:
542
543                 set vfs.root.mountfrom="ufs:/dev/XXX"
544
545         where XXX is the root slice of one of the disks that composed
546         the mirror (i.e.: /dev/ad0s1a). You can then rebuild
547         the array the same way you built it originally.
548
549 20061122:
550         The following binaries have been disconnected from the build:
551         mount_devfs, mount_ext2fs, mount_fdescfs, mount_procfs, mount_linprocfs,
552         and mount_std.  The functionality of these programs has been
553         moved into the mount program.  For example, to mount a devfs
554         filesystem, instead of using mount_devfs, use: "mount -t devfs".
555         This does not affect entries in /etc/fstab, since entries in
556         /etc/fstab are always processed with "mount -t fstype".
557
558 20061113:
559         Support for PCI Message Signalled Interrupts on i386 and amd64
560         has been added to the kernel and various drivers will soon be
561         updated to use MSI when it is available.  If there are any problems,
562         MSI can be disabled completely by setting the 'hw.pci.enable_msi'
563         and 'hw.pci.enable_msix' tunables to 0 in the loader.
564
565 20061110:
566         The MUTEX_PROFILING option has been renamed to LOCK_PROFILING.
567         The lockmgr object layout has been changed as a result of having
568         a lock_object embedded in it. As a consequence all file system
569         kernel modules must be re-compiled. The mutex profiling man page
570         has not yet been updated to reflect this change.
571
572 20061026:
573         KSE in the kernel has now been made optional and turned on by
574         default. Use 'nooption KSE' in your kernel config to turn it
575         off. All kernel modules *must* be recompiled after this change.
576         There-after, modules from a KSE kernel should be compatible with
577         modules from a NOKSE kernel due to the temporary padding fields
578         added to 'struct proc'.
579
580 20060929:
581         mrouted and its utilities have been removed from the base system.
582
583 20060927:
584         Some ioctl(2) command codes have changed.  Full backward ABI
585         compatibility is provided if the "options COMPAT_FREEBSD6" is
586         present in the kernel configuration file.  Make sure to add
587         this option to your kernel config file, or recompile X.Org
588         and the rest of ports; otherwise they may refuse to work.
589
590 20060924:
591         tcpslice has been removed from the base system.
592
593 20060913:
594         The sizes of struct tcpcb (and struct xtcpcb) have changed due to
595         the rewrite of TCP syncookies.  Tools like netstat, sockstat, and
596         systat needs to be rebuilt.
597
598 20060903:
599         libpcap updated to v0.9.4 and tcpdump to v3.9.4
600
601 20060816:
602         The IPFIREWALL_FORWARD_EXTENDED option is gone and the behaviour
603         for IPFIREWALL_FORWARD is now as it was before when it was first
604         committed and for years after. The behaviour is now ON.
605
606 20060725:
607         enigma(1)/crypt(1) utility has been changed on 64 bit architectures.
608         Now it can decrypt files created from different architectures.
609         Unfortunately, it is no longer able to decrypt a cipher text
610         generated with an older version on 64 bit architectures.
611         If you have such a file, you need old utility to decrypt it.
612
613 20060709:
614         The interface version of the i4b kernel part has changed. So
615         after updating the kernel sources and compiling a new kernel,
616         the i4b user space tools in "/usr/src/usr.sbin/i4b" must also
617         be rebuilt, and vice versa.
618
619 20060627:
620         The XBOX kernel now defaults to the nfe(4) driver instead of
621         the nve(4) driver. Please update your configuration
622         accordingly.
623
624 20060514:
625         The i386-only lnc(4) driver for the AMD Am7900 LANCE and Am79C9xx
626         PCnet family of NICs has been removed. The new le(4) driver serves
627         as an equivalent but cross-platform replacement with the pcn(4)
628         driver still providing performance-optimized support for the subset
629         of AMD Am79C971 PCnet-FAST and greater chips as before.
630
631 20060511:
632         The machdep.* sysctls and the adjkerntz utility have been
633         modified a bit.  The new adjkerntz utility uses the new
634         sysctl names and sysctlbyname() calls, so it may be impossible
635         to run an old /sbin/adjkerntz utility in single-user mode
636         with a new kernel.  Replace the `adjkerntz -i' step before
637         `make installworld' with:
638
639             /usr/obj/usr/src/sbin/adjkerntz/adjkerntz -i
640
641         and proceed as usual with the rest of the installworld-stage
642         steps.  Otherwise, you risk installing binaries with their
643         timestamp set several hours in the future, especially if
644         you are running with local time set to GMT+X hours.
645
646 20060412:
647         The ip6fw utility has been removed.  The behavior provided by
648         ip6fw has been in ipfw2 for a good while and the rc.d scripts
649         have been updated to deal with it.  There are some rules that
650         might not migrate cleanly.  Use rc.firewall6 as a template to
651         rewrite rules.
652
653 20060428:
654         The puc(4) driver has been overhauled. The ebus(4) and sbus(4)
655         attachments have been removed. Make sure to configure scc(4)
656         on sparc64. Note also that by default puc(4) will use uart(4)
657         and not sio(4) for serial ports because interrupt handling has
658         been optimized for multi-port serial cards and only uart(4)
659         implements the interface to support it.
660
661 20060330:
662         The scc(4) driver replaces puc(4) for Serial Communications
663         Controllers (SCCs) like the Siemens SAB82532 and the Zilog
664         Z8530. On sparc64, it is advised to add scc(4) to the kernel
665         configuration to make sure that the serial ports remain
666         functional.
667
668 20060317:
669         Most world/kernel related NO_* build options changed names.
670         New knobs have common prefixes WITHOUT_*/WITH_* (modelled
671         after FreeBSD ports) and should be set in /etc/src.conf
672         (the src.conf(5) manpage is provided).  Full backwards
673         compatibility is maintained for the time being though it's
674         highly recommended to start moving old options out of the
675         system-wide /etc/make.conf file into the new /etc/src.conf
676         while also properly renaming them.  More conversions will
677         likely follow.  Posting to current@:
678
679         http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061725.html
680
681 20060305:
682         The NETSMBCRYPTO kernel option has been retired because its
683         functionality is always included in NETSMB and smbfs.ko now.
684
685 20060303:
686         The TDFX_LINUX kernel option was retired and replaced by the
687         tdfx_linux device.  The latter can be loaded as the 3dfx_linux.ko
688         kernel module.  Loading it alone should suffice to get 3dfx support
689         for Linux apps because it will pull in 3dfx.ko and linux.ko through
690         its dependencies.
691
692 20060204:
693         The 'audit' group was added to support the new auditing functionality
694         in the base system.  Be sure to follow the directions for updating,
695         including the requirement to run mergemaster -p.
696
697 20060201:
698         The kernel ABI to file system modules was changed on i386.
699         Please make sure that your kernel and modules are in sync.
700
701 20060118:
702         This actually occured some time ago, but installing the kernel
703         now also installs a bunch of symbol files for the kernel modules.
704         This increases the size of /boot/kernel to about 67Mbytes. You
705         will need twice this if you will eventually back this up to kernel.old
706         on your next install.
707         If you have a shortage of room in your root partition, you should add
708         -DINSTALL_NODEBUG to your make arguments or add INSTALL_NODEBUG="yes"
709         to your /etc/make.conf.
710
711 20060113:
712         libc's malloc implementation has been replaced.  This change has the
713         potential to uncover application bugs that previously went unnoticed.
714         See the malloc(3) manual page for more details.
715
716 20060112:
717         The generic netgraph(4) cookie has been changed. If you upgrade
718         kernel passing this point, you also need to upgrade userland
719         and netgraph(4) utilities like ports/net/mpd or ports/net/mpd4.
720
721 20060106:
722         si(4)'s device files now contain the unit number.
723         Uses of {cua,tty}A[0-9a-f] should be replaced by {cua,tty}A0[0-9a-f].
724
725 20060106:
726         The kernel ABI was mostly destroyed due to a change in the size
727         of struct lock_object which is nested in other structures such
728         as mutexes which are nested in all sorts of other structures.
729         Make sure your kernel and modules are in sync.
730
731 20051231:
732         The page coloring algorithm in the VM subsystem was converted
733         from tuning with kernel options to autotuning. Please remove
734         any PQ_* option except PQ_NOOPT from your kernel config.
735
736 20051211:
737         The net80211-related tools in the tools/tools/ath directory
738         have been moved to tools/tools/net80211 and renamed with a
739         "wlan" prefix.  Scripts that use them should be adjusted
740         accordingly.
741
742 20051202:
743         Scripts in the local_startup directories (as defined in
744         /etc/defaults/rc.conf) that have the new rc.d semantics will
745         now be run as part of the base system rcorder. If there are
746         errors or problems with one of these local scripts, it could
747         cause boot problems. If you encounter such problems, boot in
748         single user mode, remove that script from the */rc.d directory.
749         Please report the problem to the port's maintainer, and the
750         freebsd-ports@freebsd.org mailing list.
751
752 20051129:
753         The nodev mount option was deprecated in RELENG_6 (where it
754         was a no-op), and is now unsupported.  If you have nodev or dev listed
755         in /etc/fstab, remove it, otherwise it will result in a mount error.
756
757 20051129:
758         ABI between ipfw(4) and ipfw(8) has been changed. You need
759         to rebuild ipfw(8) when rebuilding kernel.
760
761 20051108:
762         rp(4)'s device files now contain the unit number.
763         Uses of {cua,tty}R[0-9a-f] should be replaced by {cua,tty}R0[0-9a-f].
764
765 20051029:
766         /etc/rc.d/ppp-user has been renamed to /etc/rc.d/ppp.
767         Its /etc/rc.conf.d configuration file has been `ppp' from
768         the beginning, and hence there is no need to touch it.
769
770 20051014:
771         Now most modules get their build-time options from the kernel
772         configuration file.  A few modules still have fixed options
773         due to their non-conformant implementation, but they will be
774         corrected eventually.  You may need to review the options of
775         the modules in use, explicitly specify the non-default options
776         in the kernel configuration file, and rebuild the kernel and
777         modules afterwards.
778
779 20051001:
780         kern.polling.enable sysctl MIB is now deprecated. Use ifconfig(8)
781         to turn polling(4) on your interfaces.
782
783 20050927:
784         The old bridge(4) implementation was retired.  The new
785         if_bridge(4) serves as a full functional replacement.
786
787 20050722:
788         The ai_addrlen of a struct addrinfo was changed to a socklen_t
789         to conform to POSIX-2001.  This change broke an ABI
790         compatibility on 64 bit architecture.  You have to recompile
791         userland programs that use getaddrinfo(3) on 64 bit
792         architecture.
793
794 20050711:
795         RELENG_6 branched here.
796
797 20050629:
798         The pccard_ifconfig rc.conf variable has been removed and a new
799         variable, ifconfig_DEFAULT has been introduced.  Unlike
800         pccard_ifconfig, ifconfig_DEFAULT applies to ALL interfaces that
801         do not have ifconfig_ifn entries rather than just those in
802         removable_interfaces.
803
804 20050616:
805         Some previous versions of PAM have permitted the use of
806         non-absolute paths in /etc/pam.conf or /etc/pam.d/* when referring
807         to third party PAM modules in /usr/local/lib.  A change has been
808         made to require the use of absolute paths in order to avoid
809         ambiguity and dependence on library path configuration, which may
810         affect existing configurations.
811
812 20050610:
813         Major changes to network interface API.  All drivers must be
814         recompiled.  Drivers not in the base system will need to be
815         updated to the new APIs.
816
817 20050609:
818         Changes were made to kinfo_proc in sys/user.h.  Please recompile
819         userland, or commands like `fstat', `pkill', `ps', `top' and `w'
820         will not behave correctly.
821
822         The API and ABI for hwpmc(4) have changed with the addition
823         of sampling support.  Please recompile lib/libpmc(3) and
824         usr.sbin/{pmcstat,pmccontrol}.
825
826 20050606:
827         The OpenBSD dhclient was imported in place of the ISC dhclient
828         and the network interface configuration scripts were updated
829         accordingly.  If you use DHCP to configure your interfaces, you
830         must now run devd.  Also, DNS updating was lost so you will need
831         to find a workaround if you use this feature.
832
833         The '_dhcp' user was added to support the OpenBSD dhclient.  Be
834         sure to run mergemaster -p (like you are supposed to do every time
835         anyway).
836
837 20050605:
838         if_bridge was added to the tree. This has changed struct ifnet.
839         Please recompile userland and all network related modules.
840
841 20050603:
842         The n_net of a struct netent was changed to an uint32_t, and
843         1st argument of getnetbyaddr() was changed to an uint32_t, to
844         conform to POSIX-2001.  These changes broke an ABI
845         compatibility on 64 bit architecture.  With these changes,
846         shlib major of libpcap was bumped.  You have to recompile
847         userland programs that use getnetbyaddr(3), getnetbyname(3),
848         getnetent(3) and/or libpcap on 64 bit architecture.
849
850 20050528:
851         Kernel parsing of extra options on '#!' first lines of shell
852         scripts has changed.  Lines with multiple options likely will
853         fail after this date.  For full details, please see
854                 http://people.freebsd.org/~gad/Updating-20050528.txt
855
856 20050503:
857         The packet filter (pf) code has been updated to OpenBSD 3.7
858         Please note the changed anchor syntax and the fact that
859         authpf(8) now needs a mounted fdescfs(5) to function.
860
861 20050415:
862         The NO_MIXED_MODE kernel option has been removed from the i386
863         amd64 platforms as its use has been superceded by the new local
864         APIC timer code.  Any kernel config files containing this option
865         should be updated.
866
867 20050227:
868         The on-disk format of LC_CTYPE files was changed to be machine
869         independent.  Please make sure NOT to use NO_CLEAN buildworld
870         when crossing this point. Crossing this point also requires
871         recompile or reinstall of all locale depended packages.
872
873 20050225:
874         The ifi_epoch member of struct if_data has been changed to
875         contain the uptime at which the interface was created or the
876         statistics zeroed rather then the wall clock time because
877         wallclock time may go backwards.  This should have no impact
878         unless an snmp implementation is using this value (I know of
879         none at this point.)
880
881 20050224:
882         The acpi_perf and acpi_throttle drivers are now part of the
883         acpi(4) main module.  They are no longer built separately.
884
885 20050223:
886         The layout of struct image_params has changed. You have to
887         recompile all compatibility modules (linux, svr4, etc) for use
888         with the new kernel.
889
890 20050223:
891         The p4tcc driver has been merged into cpufreq(4).  This makes
892         "options CPU_ENABLE_TCC" obsolete.  Please load cpufreq.ko or
893         compile in "device cpufreq" to restore this functionality.
894
895 20050220:
896         The responsibility of recomputing the file system summary of
897         a SoftUpdates-enabled dirty volume has been transferred to the
898         background fsck.  A rebuild of fsck(8) utility is recommended
899         if you have updated the kernel.
900
901         To get the old behavior (recompute file system summary at mount
902         time), you can set vfs.ffs.compute_summary_at_mount=1 before
903         mounting the new volume.
904
905 20050206:
906         The cpufreq import is complete.  As part of this, the sysctls for
907         acpi(4) throttling have been removed.  The power_profile script
908         has been updated, so you can use performance/economy_cpu_freq in
909         rc.conf(5) to set AC on/offline cpu frequencies.
910
911 20050206:
912         NG_VERSION has been increased. Recompiling kernel (or ng_socket.ko)
913         requires recompiling libnetgraph and userland netgraph utilities.
914
915 20050114:
916         Support for abbreviated forms of a number of ipfw options is
917         now deprecated.  Warnings are printed to stderr indicating the
918         correct full form when a match occurs.  Some abbreviations may
919         be supported at a later date based on user feedback.  To be
920         considered for support, abbreviations must be in use prior to
921         this commit and unlikely to be confused with current key words.
922
923 20041221:
924         By a popular demand, a lot of NOFOO options were renamed
925         to NO_FOO (see bsd.compat.mk for a full list).  The old
926         spellings are still supported, but will cause annoying
927         warnings on stderr.  Make sure you upgrade properly (see
928         the COMMON ITEMS: section later in this file).
929
930 20041219:
931         Auto-loading of ancillary wlan modules such as wlan_wep has
932         been temporarily disabled; you need to statically configure
933         the modules you need into your kernel or explicitly load them
934         prior to use.  Specifically, if you intend to use WEP encryption
935         with an 802.11 device load/configure wlan_wep; if you want to
936         use WPA with the ath driver load/configure wlan_tkip, wlan_ccmp,
937         and wlan_xauth as required.
938
939 20041213:
940         The behaviour of ppp(8) has changed slightly.  If lqr is enabled
941         (``enable lqr''), older versions would revert to LCP ECHO mode on
942         negotiation failure.  Now, ``enable echo'' is required for this
943         behaviour.  The ppp version number has been bumped to 3.4.2 to
944         reflect the change.
945
946 20041201:
947         The wlan support has been updated to split the crypto support
948         into separate modules.  For static WEP you must configure the
949         wlan_wep module in your system or build and install the module
950         in place where it can be loaded (the kernel will auto-load
951         the module when a wep key is configured).
952
953 20041201:
954         The ath driver has been updated to split the tx rate control
955         algorithm into a separate module.  You need to include either
956         ath_rate_onoe or ath_rate_amrr when configuring the kernel.
957
958 20041116:
959         Support for systems with an 80386 CPU has been removed.  Please
960         use FreeBSD 5.x or earlier on systems with an 80386.
961
962 20041110:
963         We have had a hack which would mount the root filesystem
964         R/W if the device were named 'md*'.  As part of the vnode
965         work I'm doing I have had to remove this hack.  People
966         building systems which use preloaded MD root filesystems
967         may need to insert a "/sbin/mount -u -o rw /dev/md0 /" in
968         their /etc/rc scripts.
969
970 20041104:
971         FreeBSD 5.3 shipped here.
972
973 20041102:
974         The size of struct tcpcb has changed again due to the removal
975         of RFC1644 T/TCP.  You have to recompile userland programs that
976         read kmem for tcp sockets directly (netstat, sockstat, etc.)
977
978 20041022:
979         The size of struct tcpcb has changed.  You have to recompile
980         userland programs that read kmem for tcp sockets directly
981         (netstat, sockstat, etc.)
982
983 20041016:
984         RELENG_5 branched here.  For older entries, please see updating
985         in the RELENG_5 branch.
986
987 COMMON ITEMS:
988
989         General Notes
990         -------------
991         Avoid using make -j when upgrading.  From time to time in the
992         past there have been problems using -j with buildworld and/or
993         installworld.  This is especially true when upgrading between
994         "distant" versions (eg one that cross a major release boundary
995         or several minor releases, or when several months have passed
996         on the -current branch).
997
998         Sometimes, obscure build problems are the result of environment
999         poisoning.  This can happen because the make utility reads its
1000         environment when searching for values for global variables.
1001         To run your build attempts in an "environmental clean room",
1002         prefix all make commands with 'env -i '.  See the env(1) manual
1003         page for more details.
1004
1005         When upgrading from one major version to another it is generally
1006         best to upgrade to the latest code in the currently installed branch
1007         first, then do an upgrade to the new branch. This is the best-tested
1008         upgrade path, and has the highest probability of being successful.
1009         Please try this approach before reporting problems with a major
1010         version upgrade.
1011
1012         To build a kernel
1013         -----------------
1014         If you are updating from a prior version of FreeBSD (even one just
1015         a few days old), you should follow this procedure.  It is the most
1016         failsafe as it uses a /usr/obj tree with a fresh mini-buildworld,
1017
1018         make kernel-toolchain
1019         make -DALWAYS_CHECK_MAKE buildkernel KERNCONF=YOUR_KERNEL_HERE
1020         make -DALWAYS_CHECK_MAKE installkernel KERNCONF=YOUR_KERNEL_HERE
1021
1022         To test a kernel once
1023         ---------------------
1024         If you just want to boot a kernel once (because you are not sure
1025         if it works, or if you want to boot a known bad kernel to provide
1026         debugging information) run
1027         make installkernel KERNCONF=YOUR_KERNEL_HERE KODIR=/boot/testkernel
1028         nextboot -k testkernel
1029
1030         To just build a kernel when you know that it won't mess you up
1031         --------------------------------------------------------------
1032         This assumes you are already running a 5.X system.  Replace
1033         ${arch} with the architecture of your machine (e.g. "i386",
1034         "alpha", "amd64", "ia64", "pc98", "sparc64", etc).
1035
1036         cd src/sys/${arch}/conf
1037         config KERNEL_NAME_HERE
1038         cd ../compile/KERNEL_NAME_HERE
1039         make depend
1040         make
1041         make install
1042
1043         If this fails, go to the "To build a kernel" section.
1044
1045         To rebuild everything and install it on the current system.
1046         -----------------------------------------------------------
1047         # Note: sometimes if you are running current you gotta do more than
1048         # is listed here if you are upgrading from a really old current.
1049
1050         <make sure you have good level 0 dumps>
1051         make buildworld
1052         make kernel KERNCONF=YOUR_KERNEL_HERE
1053                                                         [1]
1054         <reboot in single user>                         [3]
1055         mergemaster -p                                  [5]
1056         make installworld
1057         make delete-old
1058         mergemaster                                     [4]
1059         <reboot>
1060
1061
1062         To cross-install current onto a separate partition
1063         --------------------------------------------------
1064         # In this approach we use a separate partition to hold
1065         # current's root, 'usr', and 'var' directories.   A partition
1066         # holding "/", "/usr" and "/var" should be about 2GB in
1067         # size.
1068
1069         <make sure you have good level 0 dumps>
1070         <boot into -stable>
1071         make buildworld
1072         make buildkernel KERNCONF=YOUR_KERNEL_HERE
1073         <maybe newfs current's root partition>
1074         <mount current's root partition on directory ${CURRENT_ROOT}>
1075         make installworld DESTDIR=${CURRENT_ROOT}
1076         make distribution DESTDIR=${CURRENT_ROOT} # if newfs'd
1077         make installkernel KERNCONF=YOUR_KERNEL_HERE DESTDIR=${CURRENT_ROOT}
1078         cp /etc/fstab ${CURRENT_ROOT}/etc/fstab                    # if newfs'd
1079         <edit ${CURRENT_ROOT}/etc/fstab to mount "/" from the correct partition>
1080         <reboot into current>
1081         <do a "native" rebuild/install as described in the previous section>
1082         <maybe install compatibility libraries from ports/misc/compat*>
1083         <reboot>
1084
1085
1086         To upgrade in-place from 5.x-stable to current
1087         ----------------------------------------------
1088         <make sure you have good level 0 dumps>
1089         make buildworld                                 [9]
1090         make kernel KERNCONF=YOUR_KERNEL_HERE           [8]
1091                                                         [1]
1092         <reboot in single user>                         [3]
1093         mergemaster -p                                  [5]
1094         make installworld
1095         make delete-old
1096         mergemaster -i                                  [4]
1097         <reboot>
1098
1099         Make sure that you've read the UPDATING file to understand the
1100         tweaks to various things you need.  At this point in the life
1101         cycle of current, things change often and you are on your own
1102         to cope.  The defaults can also change, so please read ALL of
1103         the UPDATING entries.
1104
1105         Also, if you are tracking -current, you must be subscribed to
1106         freebsd-current@freebsd.org.  Make sure that before you update
1107         your sources that you have read and understood all the recent
1108         messages there.  If in doubt, please track -stable which has
1109         much fewer pitfalls.
1110
1111         [1] If you have third party modules, such as vmware, you
1112         should disable them at this point so they don't crash your
1113         system on reboot.
1114
1115         [3] From the bootblocks, boot -s, and then do
1116                 fsck -p
1117                 mount -u /
1118                 mount -a
1119                 cd src
1120                 adjkerntz -i            # if CMOS is wall time
1121         Also, when doing a major release upgrade, it is required that
1122         you boot into single user mode to do the installworld.
1123
1124         [4] Note: This step is non-optional.  Failure to do this step
1125         can result in a significant reduction in the functionality of the
1126         system.  Attempting to do it by hand is not recommended and those
1127         that pursue this avenue should read this file carefully, as well
1128         as the archives of freebsd-current and freebsd-hackers mailing lists
1129         for potential gotchas.
1130
1131         [5] Usually this step is a noop.  However, from time to time
1132         you may need to do this if you get unknown user in the following
1133         step.  It never hurts to do it all the time.  You may need to
1134         install a new mergemaster (cd src/usr.sbin/mergemaster && make
1135         install) after the buildworld before this step if you last updated
1136         from current before 20020224 or from -stable before 20020408.
1137
1138         [8] In order to have a kernel that can run the 4.x binaries
1139         needed to do an installworld, you must include the COMPAT_FREEBSD4
1140         option in your kernel.  Failure to do so may leave you with a system
1141         that is hard to boot to recover. A similar kernel option COMPAT_FREEBSD5
1142         is required to run the 5.x binaries on more recent kernels.
1143
1144         Make sure that you merge any new devices from GENERIC since the
1145         last time you updated your kernel config file.
1146
1147         [9] When checking out sources, you must include the -P flag to have
1148         cvs prune empty directories.
1149
1150         If CPUTYPE is defined in your /etc/make.conf, make sure to use the
1151         "?=" instead of the "=" assignment operator, so that buildworld can
1152         override the CPUTYPE if it needs to.
1153
1154         MAKEOBJDIRPREFIX must be defined in an environment variable, and
1155         not on the command line, or in /etc/make.conf.  buildworld will
1156         warn if it is improperly defined.
1157 FORMAT:
1158
1159 This file contains a list, in reverse chronological order, of major
1160 breakages in tracking -current.  Not all things will be listed here,
1161 and it only starts on October 16, 2004.  Updating files can found in
1162 previous releases if your system is older than this.
1163
1164 Copyright information:
1165
1166 Copyright 1998-2005 M. Warner Losh.  All Rights Reserved.
1167
1168 Redistribution, publication, translation and use, with or without
1169 modification, in full or in part, in any form or format of this
1170 document are permitted without further permission from the author.
1171
1172 THIS DOCUMENT IS PROVIDED BY WARNER LOSH ``AS IS'' AND ANY EXPRESS OR
1173 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1174 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
1175 DISCLAIMED.  IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT,
1176 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
1177 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
1178 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
1179 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
1180 STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
1181 IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1182 POSSIBILITY OF SUCH DAMAGE.
1183
1184 If you find this document useful, and you want to, you may buy the
1185 author a beer.
1186
1187 Contact Warner Losh if you have any questions about your use of
1188 this document.
1189
1190 $FreeBSD$