]> CyberLeo.Net >> Repos - FreeBSD/releng/8.1.git/blob - UPDATING
Extend the character set accepted by freebsd-update(8) in file
[FreeBSD/releng/8.1.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 ON IA64 OR SUN4V:
12         For ia64 the INVARIANTS and INVARIANT_SUPPORT kernel options
13         were left in the GENERIC kernel because the kernel does not
14         work properly without them.  For sun4v all of the normal kernel
15         debugging tools present in HEAD were left in place because
16         sun4v support still needs work to become production ready.
17
18 20120104:       p8      FreeBSD-EN-12:01.freebsd-update
19         Extend the character set accepted by freebsd-update(8) in file
20         names in order to allow upgrades to FreeBSD 9.0-RELEASE.
21
22 20111223:       p7      FreeBSD-SA-11:06.bind, FreeBSD-SA-11:07.chroot
23                         FreeBSD-SA-11:08.telnetd, FreeBSD-SA-11:09.pam_ssh
24                         FreeBSD-SA-11:10.pam
25         Fix a problem whereby a corrupt DNS record can cause named to crash.
26         [11:06]
27
28         Add an API for alerting internal libc routines to the presence of
29         "unsafe" paths post-chroot, and use it in ftpd. [11:07]
30
31         Fix a buffer overflow in telnetd. [11:08]
32
33         Make pam_ssh ignore unpassphrased keys unless the "nullok" option is
34         specified. [11:09]
35
36         Add sanity checking of service names in pam_start. [11:10]
37
38 20111004:       p6      FreeBSD-SA-11:05.unix (revised)
39         Fix a bug in UNIX socket handling in the linux emulator which was
40         exposed by the security fix in FreeBSD-SA-11:05.unix.
41
42 20110928:       p5      FreeBSD-SA-11:04.compress, FreeBSD-SA-11:05.unix
43         Fix handling of corrupt compress(1)ed data. [11:04]
44
45         Add missing length checks on unix socket addresses. [11:05]
46
47 20110528:       p4      FreeBSD-SA-11:02.bind
48         Fix BIND remote DoS with large RRSIG RRsets and negative
49         caching.
50
51 20110420:       p3      FreeBSD-SA-11:01.mountd
52         Fix CIDR parsing bug in mountd ACLs.
53
54 20101129:       p2      FreeBSD-SA-10:10.openssl
55         Fix OpenSSL multiple vulnerabilities.
56
57 20100920:       p1      FreeBSD-SA-10:08.bzip2
58         Fix an integer overflow in RLE length parsing when decompressing
59         corrupt bzip2 data.
60
61 20100720:
62         8.1-RELEASE.
63
64 20100713:               FreeBSD-SA-10:07.mbuf
65         Correctly copy the M_RDONLY flag when duplicating a reference
66         to an mbuf external buffer.
67
68 20100502:
69         The config(8) command has been updated to maintain compatibility
70         with config files from 8.0-RELEASE.  You will need a new version
71         of config to build kernels (this version can be used from 8.0-RELEASE
72         forward).  The buildworld target will generate it, so following
73         the instructions in this file for updating will work glitch-free.
74         Merely doing a make buildkernel without first doing a make buildworld
75         (or kernel-toolchain), or attempting to build a kernel using
76         traidtional methods will generate a config version warning, indicating
77         you should update.
78
79 20100408:
80         The rc.firewall and rc.firewall6 were unified, and
81         rc.firewall6 and rc.d/ip6fw were removed.
82         According to the removal of rc.d/ip6fw, ipv6_firewall_* rc
83         variables are obsoleted.  Instead, the following new rc
84         variables are added to rc.d/ipfw:
85
86                 firewall_client_net_ipv6, firewall_simple_iif_ipv6,
87                 firewall_simple_inet_ipv6, firewall_simple_oif_ipv6,
88                 firewall_simple_onet_ipv6
89
90         The meanings correspond to the relevant IPv4 variables.
91
92 20100417:
93         COMPAT_IA32 has been added as an alias for COMPAT_FREEBSD32.  A new
94         version of config(8) is required.  The error message when you hit this
95         condition is confusing (COMPAT_FREEBSD32 duplicate option), when it
96         should really say "your config is too old to compile this new kernel."
97
98 20100406:
99         The kernel option COMPAT_IA32 has been replaced with COMPAT_FREEBSD32
100         to allow 32-bit compatibility on non-x86 platforms. All kernel
101         configurations on amd64 and ia64 platforms using these options must
102         be modified accordingly.
103
104 20100125:
105         Introduce the kernel thread "deadlock resolver" (which can be enabled
106         via the DEADLKRES option, see NOTES for more details) and the
107         sleepq_type() function for sleepqueues.
108
109 20091125:
110         8.0-RELEASE.
111
112 20090929:
113         802.11s D3.03 support was committed. This is incompatible with
114         the previous code, which was based on D3.0.
115
116 20090915:
117         ZFS snapshots are now mounted with MNT_IGNORE flag. Use -v option for
118         mount(8) and -a option for df(1) to see them.
119
120 20090813:
121         Remove the option STOP_NMI.  The default action is now to use NMI
122         only for KDB via the newly introduced function stop_cpus_hard()
123         and maintain stop_cpus() to just use a normal IPI_STOP on ia32
124         and amd64.
125
126 20090803:
127         RELENG_8 branched.
128
129 20090719:
130         Bump the shared library version numbers for all libraries that
131         do not use symbol versioning as part of the 8.0-RELEASE cycle.
132         Bump __FreeBSD_version to 800105.
133
134 20090714:
135         Due to changes in the implementation of virtual network stack
136         support, all network-related kernel modules must be recompiled.
137         As this change breaks the ABI, bump __FreeBSD_version to 800104.
138
139 20090713:
140         The TOE interface to the TCP syncache has been modified to remove struct
141         tcpopt (<netinet/tcp_var.h>) from the ABI of the network stack.  The
142         cxgb driver is the only TOE consumer affected by this change, and needs
143         to be recompiled along with the kernel. As this change breaks the ABI,
144         bump __FreeBSD_version to 800103.
145
146 20090712:
147         Padding has been added to struct tcpcb, sackhint and tcpstat in
148         <netinet/tcp_var.h> to facilitate future MFCs and bug fixes whilst
149         maintainig the ABI. However, this change breaks the ABI, so bump
150         __FreeBSD_version to 800102. User space tools that rely on the size of
151         any of these structs (e.g. sockstat) need to be recompiled.
152
153 20090630:
154         The NFS_LEGACYRPC option has been removed along with the old
155         kernel RPC implementation that this option selected. Kernel
156         configurations may need to be adjusted.
157
158 20090629:
159         The network interface device nodes at /dev/net/<interface> have
160         been removed.  All ioctl operations can be performed the normal
161         way using routing sockets.  The kqueue functionality can
162         generally be replaced with routing sockets.
163
164 20090628:
165         The documentation from the FreeBSD Documentation Project
166         (Handbook, FAQ, etc.) is now installed via packages by
167         sysinstall(8) and under the /usr/local/share/doc/freebsd
168         directory instead of /usr/share/doc.
169
170 20090624:
171         The ABI of various structures related to the SYSV IPC API have
172         been changed.  As a result, the COMPAT_FREEBSD[456] and COMPAT_43
173         kernel options now all require COMPAT_FREEBSD7.
174         Bump __FreeBSD_version to 800100.
175
176 20090622:
177         Layout of struct vnet has changed as routing related variables
178         were moved to their own Vimage module. Modules need to be
179         recompiled.  Bump __FreeBSD_version to 800099.
180
181 20090619:
182         NGROUPS_MAX and NGROUPS have been increased from 16 to 1023
183         and 1024 respectively.  As long as no more than 16 groups per
184         process are used, no changes should be visible.  When more
185         than 16 groups are used, old binaries may fail if they call
186         getgroups() or getgrouplist() with statically sized storage.
187         Recompiling will work around this, but applications should be
188         modified to use dynamically allocated storage for group arrays
189         as POSIX.1-2008 does not cap an implementation's number of
190         supported groups at NGROUPS_MAX+1 as previous versions did.
191
192         NFS and portalfs mounts may also be affected as the list of
193         groups is truncated to 16.  Users of NFS who use more than 16
194         groups, should take care that negative group permissions are not
195         used on the exported file systems as they will not be reliable
196         unless a GSSAPI based authentication method is used.
197
198 20090616:
199         The compiling option ADAPTIVE_LOCKMGRS has been introduced.
200         This option compiles in the support for adaptive spinning for lockmgrs
201         which want to enable it.  The lockinit() function now accepts the
202         flag LK_ADAPTIVE in order to make the lock object subject to
203         adaptive spinning when both held in write and read mode.
204
205 20090613:
206         The layout of the structure returned by IEEE80211_IOC_STA_INFO
207         has changed.  User applications that use this ioctl need to be
208         rebuilt.
209
210 20090611:
211         The layout of struct thread has changed.  Kernel and modules
212         need to be rebuilt.
213
214 20090608:
215         The layout of structs ifnet, domain, protosw and vnet_net has
216         changed.  Kernel modules need to be rebuilt.
217         Bump __FreeBSD_version to 800097.
218
219 20090602:
220         window(1) has been removed from the base system. It can now be
221         installed from ports. The port is called misc/window.
222
223 20090601:
224         The way we are storing and accessing `routing table' entries
225         has changed. Programs reading the FIB, like netstat, need to
226         be re-compiled.
227
228 20090601:
229         A new netisr implementation has been added for FreeBSD 8.  Network
230         file system modules, such as igmp, ipdivert, and others, should be
231         rebuilt.
232         Bump __FreeBSD_version to 800096.
233
234 20090530:
235         Remove the tunable/sysctl debug.mpsafevfs as its initial purpose
236         is no more valid.
237
238 20090530:
239         Add VOP_ACCESSX(9).  File system modules need to be rebuilt.
240         Bump __FreeBSD_version to 800094.
241
242 20090529:
243         Add mnt_xflag field to 'struct mount'.  File system modules
244         need to be rebuilt.
245         Bump __FreeBSD_version to 800093.
246
247 20090528:
248         The compiling option ADAPTIVE_SX has been retired while it has been
249         introduced the option NO_ADAPTIVE_SX which handles the reversed logic.
250         The KPI for sx_init_flags() changes as accepting flags:
251         SX_ADAPTIVESPIN flag has been retired while the SX_NOADAPTIVE flag
252         has been introduced in order to handle the reversed logic.
253         Bump __FreeBSD_version to 800092.
254
255 20090527:
256         Add support for hierarchical jails.  Remove global securelevel.
257         Bump __FreeBSD_version to 800091.
258
259 20090523:
260         The layout of struct vnet_net has changed, therefore modules
261         need to be rebuilt.
262         Bump __FreeBSD_version to 800090.
263
264 20090523:
265         The newly imported zic(8) produces a new format in the
266         output. Please run tzsetup(8) to install the newly created
267         data to /etc/localtime.
268
269 20090520:
270         The sysctl tree for the usb stack has renamed from hw.usb2.* to
271         hw.usb.* and is now consistent again with previous releases.
272
273 20090520:
274         802.11 monitor mode support was revised and driver api's
275         were changed.  Drivers dependent on net80211 now support
276         DLT_IEEE802_11_RADIO instead of DLT_IEEE802_11.  No
277         user-visible data structures were changed but applications
278         that use DLT_IEEE802_11 may require changes.
279         Bump __FreeBSD_version to 800088.
280
281 20090430:
282         The layout of the following structs has changed: sysctl_oid,
283         socket, ifnet, inpcbinfo, tcpcb, syncache_head, vnet_inet,
284         vnet_inet6 and vnet_ipfw.  Most modules need to be rebuild or
285         panics may be experienced.  World rebuild is required for
286         correctly checking networking state from userland.
287         Bump __FreeBSD_version to 800085.
288
289 20090429:
290         MLDv2 and Source-Specific Multicast (SSM) have been merged
291         to the IPv6 stack. VIMAGE hooks are in but not yet used.
292         The implementation of SSM within FreeBSD's IPv6 stack closely
293         follows the IPv4 implementation.
294
295         For kernel developers:
296
297         * The most important changes are that the ip6_output() and
298           ip6_input() paths no longer take the IN6_MULTI_LOCK,
299           and this lock has been downgraded to a non-recursive mutex.
300
301         * As with the changes to the IPv4 stack to support SSM, filtering
302           of inbound multicast traffic must now be performed by transport
303           protocols within the IPv6 stack. This does not apply to TCP and
304           SCTP, however, it does apply to UDP in IPv6 and raw IPv6.
305
306         * The KPIs used by IPv6 multicast are similar to those used by
307           the IPv4 stack, with the following differences:
308            * im6o_mc_filter() is analogous to imo_multicast_filter().
309            * The legacy KAME entry points in6_joingroup and in6_leavegroup()
310              are shimmed to in6_mc_join() and in6_mc_leave() respectively.
311            * IN6_LOOKUP_MULTI() has been deprecated and removed.
312            * IPv6 relies on MLD for the DAD mechanism. KAME's internal KPIs
313              for MLDv1 have an additional 'timer' argument which is used to
314              jitter the initial membership report for the solicited-node
315              multicast membership on-link.
316            * This is not strictly needed for MLDv2, which already jitters
317              its report transmissions.  However, the 'timer' argument is
318              preserved in case MLDv1 is active on the interface.
319
320         * The KAME linked-list based IPv6 membership implementation has
321           been refactored to use a vector similar to that used by the IPv4
322           stack.
323           Code which maintains a list of its own multicast memberships
324           internally, e.g. carp, has been updated to reflect the new
325           semantics.
326
327         * There is a known Lock Order Reversal (LOR) due to in6_setscope()
328           acquiring the IF_AFDATA_LOCK and being called within ip6_output().
329           Whilst MLDv2 tries to avoid this otherwise benign LOR, it is an
330           implementation constraint which needs to be addressed in HEAD.
331
332         For application developers:
333
334         * The changes are broadly similar to those made for the IPv4
335           stack.
336
337         * The use of IPv4 and IPv6 multicast socket options on the same
338           socket, using mapped addresses, HAS NOT been tested or supported.
339
340         * There are a number of issues with the implementation of various
341           IPv6 multicast APIs which need to be resolved in the API surface
342           before the implementation is fully compatible with KAME userland
343           use, and these are mostly to do with interface index treatment.
344
345         * The literature available discusses the use of either the delta / ASM
346           API with setsockopt(2)/getsockopt(2), or the full-state / ASM API
347           using setsourcefilter(3)/getsourcefilter(3). For more information
348           please refer to RFC 3768, 'Socket Interface Extensions for
349           Multicast Source Filters'.
350
351         * Applications which use the published RFC 3678 APIs should be fine.
352
353         For systems administrators:
354
355         * The mtest(8) utility has been refactored to support IPv6, in
356           addition to IPv4. Interface addresses are no longer accepted
357           as arguments, their names must be used instead. The utility
358           will map the interface name to its first IPv4 address as
359           returned by getifaddrs(3).
360
361         * The ifmcstat(8) utility has also been updated to print the MLDv2
362           endpoint state and source filter lists via sysctl(3).
363
364         * The net.inet6.ip6.mcast.loop sysctl may be tuned to 0 to disable
365           loopback of IPv6 multicast datagrams by default; it defaults to 1
366           to preserve the existing behaviour. Disabling multicast loopback is
367           recommended for optimal system performance.
368
369         * The IPv6 MROUTING code has been changed to examine this sysctl
370           instead of attempting to perform a group lookup before looping
371           back forwarded datagrams.
372
373         Bump __FreeBSD_version to 800084.
374
375 20090422:
376         Implement low-level Bluetooth HCI API.
377         Bump __FreeBSD_version to 800083.
378
379 20090419:
380         The layout of struct malloc_type, used by modules to register new
381         memory allocation types, has changed.  Most modules will need to
382         be rebuilt or panics may be experienced.
383         Bump __FreeBSD_version to 800081.
384
385 20090415:
386         Anticipate overflowing inp_flags - add inp_flags2.
387         This changes most offsets in inpcb, so checking v4 connection
388         state will require a world rebuild.
389         Bump __FreeBSD_version to 800080.
390
391 20090415:
392         Add an llentry to struct route and struct route_in6. Modules
393         embedding a struct route will need to be recompiled.
394         Bump __FreeBSD_version to 800079.
395
396 20090414:
397         The size of rt_metrics_lite and by extension rtentry has changed.
398         Networking administration apps will need to be recompiled.
399         The route command now supports show as an alias for get, weighting
400         of routes, sticky and nostick flags to alter the behavior of stateful
401         load balancing.
402         Bump __FreeBSD_version to 800078.
403
404 20090408:
405         Do not use Giant for kbdmux(4) locking. This is wrong and
406         apparently causing more problems than it solves. This will
407         re-open the issue where interrupt handlers may race with
408         kbdmux(4) in polling mode. Typical symptoms include (but
409         not limited to) duplicated and/or missing characters when
410         low level console functions (such as gets) are used while
411         interrupts are enabled (for example geli password prompt,
412         mountroot prompt etc.). Disabling kbdmux(4) may help.
413
414 20090407:
415         The size of structs vnet_net, vnet_inet and vnet_ipfw has changed;
416         kernel modules referencing any of the above need to be recompiled.
417         Bump __FreeBSD_version to 800075.
418
419 20090320:
420         GEOM_PART has become the default partition slicer for storage devices,
421         replacing GEOM_MBR, GEOM_BSD, GEOM_PC98 and GEOM_GPT slicers. It
422         introduces some changes:
423
424         MSDOS/EBR: the devices created from MSDOS extended partition entries
425         (EBR) can be named differently than with GEOM_MBR and are now symlinks
426         to devices with offset-based names. fstabs may need to be modified.
427
428         BSD: the "geometry does not match label" warning is harmless in most
429         cases but it points to problems in file system misalignment with
430         disk geometry. The "c" partition is now implicit, covers the whole
431         top-level drive and cannot be (mis)used by users.
432
433         General: Kernel dumps are now not allowed to be written to devices
434         whose partition types indicate they are meant to be used for file
435         systems (or, in case of MSDOS partitions, as something else than
436         the "386BSD" type).
437
438         Most of these changes date approximately from 200812.
439
440 20090319:
441         The uscanner(4) driver has been removed from the kernel. This follows
442         Linux removing theirs in 2.6 and making libusb the default interface
443         (supported by sane).
444
445 20090319:
446         The multicast forwarding code has been cleaned up. netstat(1)
447         only relies on KVM now for printing bandwidth upcall meters.
448         The IPv4 and IPv6 modules are split into ip_mroute_mod and
449         ip6_mroute_mod respectively. The config(5) options for statically
450         compiling this code remain the same, i.e. 'options MROUTING'.
451
452 20090315:
453         Support for the IFF_NEEDSGIANT network interface flag has been
454         removed, which means that non-MPSAFE network device drivers are no
455         longer supported.  In particular, if_ar, if_sr, and network device
456         drivers from the old (legacy) USB stack can no longer be built or
457         used.
458
459 20090313:
460         POSIX.1 Native Language Support (NLS) has been enabled in libc and
461         a bunch of new language catalog files have also been added.
462         This means that some common libc messages are now localized and
463         they depend on the LC_MESSAGES environmental variable.
464
465 20090313:
466         The k8temp(4) driver has been renamed to amdtemp(4) since
467         support for K10 and K11 CPU families was added.
468
469 20090309:
470         IGMPv3 and Source-Specific Multicast (SSM) have been merged
471         to the IPv4 stack. VIMAGE hooks are in but not yet used.
472
473         For kernel developers, the most important changes are that the
474         ip_output() and ip_input() paths no longer take the IN_MULTI_LOCK(),
475         and this lock has been downgraded to a non-recursive mutex.
476
477         Transport protocols (UDP, Raw IP) are now responsible for filtering
478         inbound multicast traffic according to group membership and source
479         filters. The imo_multicast_filter() KPI exists for this purpose.
480         Transports which do not use multicast (SCTP, TCP) already reject
481         multicast by default. Forwarding and receive performance may improve
482         as a mutex acquisition is no longer needed in the ip_input()
483         low-level input path.  in_addmulti() and in_delmulti() are shimmed
484         to new KPIs which exist to support SSM in-kernel.
485
486         For application developers, it is recommended that loopback of
487         multicast datagrams be disabled for best performance, as this
488         will still cause the lock to be taken for each looped-back
489         datagram transmission. The net.inet.ip.mcast.loop sysctl may
490         be tuned to 0 to disable loopback by default; it defaults to 1
491         to preserve the existing behaviour.
492
493         For systems administrators, to obtain best performance with
494         multicast reception and multiple groups, it is always recommended
495         that a card with a suitably precise hash filter is used. Hash
496         collisions will still result in the lock being taken within the
497         transport protocol input path to check group membership.
498
499         If deploying FreeBSD in an environment with IGMP snooping switches,
500         it is recommended that the net.inet.igmp.sendlocal sysctl remain
501         enabled; this forces 224.0.0.0/24 group membership to be announced
502         via IGMP.
503
504         The size of 'struct igmpstat' has changed; netstat needs to be
505         recompiled to reflect this.
506         Bump __FreeBSD_version to 800070.
507
508 20090309:
509         libusb20.so.1 is now installed as libusb.so.1 and the ports system
510         updated to use it. This requires a buildworld/installworld in order to
511         update the library and dependencies (usbconfig, etc). Its advisable to
512         rebuild all ports which uses libusb. More specific directions are given
513         in the ports collection UPDATING file. Any /etc/libmap.conf entries for
514         libusb are no longer required and can be removed.
515
516 20090302:
517         A workaround is committed to allow the creation of System V shared
518         memory segment of size > 2 GB on the 64-bit architectures.
519         Due to a limitation of the existing ABI, the shm_segsz member
520         of the struct shmid_ds, returned by shmctl(IPC_STAT) call is
521         wrong for large segments. Note that limits must be explicitly
522         raised to allow such segments to be created.
523
524 20090301:
525         The layout of struct ifnet has changed, requiring a rebuild of all
526         network device driver modules.
527
528 20090227:
529         The /dev handling for the new USB stack has changed, a
530         buildworld/installworld is required for libusb20.
531
532 20090223:
533         The new USB2 stack has now been permanently moved in and all kernel and
534         module names reverted to their previous values (eg, usb, ehci, ohci,
535         ums, ...).  The old usb stack can be compiled in by prefixing the name
536         with the letter 'o', the old usb modules have been removed.
537         Updating entry 20090216 for xorg and 20090215 for libmap may still
538         apply.
539
540 20090217:
541         The rc.conf(5) option if_up_delay has been renamed to
542         defaultroute_delay to better reflect its purpose. If you have
543         customized this setting in /etc/rc.conf you need to update it to
544         use the new name.
545
546 20090216:
547         xorg 7.4 wants to configure its input devices via hald which does not
548         yet work with USB2. If the keyboard/mouse does not work in xorg then
549         add
550                 Option "AllowEmptyInput" "off"
551         to your ServerLayout section.  This will cause X to use the configured
552         kbd and mouse sections from your xorg.conf.
553
554 20090215:
555         The GENERIC kernels for all architectures now default to the new USB2
556         stack. No kernel config options or code have been removed so if a
557         problem arises please report it and optionally revert to the old USB
558         stack. If you are loading USB kernel modules or have a custom kernel
559         that includes GENERIC then ensure that usb names are also changed over,
560         eg uftdi -> usb2_serial_ftdi.
561
562         Older programs linked against the ports libusb 0.1 need to be
563         redirected to the new stack's libusb20.  /etc/libmap.conf can
564         be used for this:
565                 # Map old usb library to new one for usb2 stack
566                 libusb-0.1.so.8 libusb20.so.1
567
568 20090209:
569         All USB ethernet devices now attach as interfaces under the name ueN
570         (eg. ue0). This is to provide a predictable name as vendors often
571         change usb chipsets in a product without notice.
572
573 20090203:
574         The ichsmb(4) driver has been changed to require SMBus slave
575         addresses be left-justified (xxxxxxx0b) rather than right-justified.
576         All of the other SMBus controller drivers require left-justified
577         slave addresses, so this change makes all the drivers provide the
578         same interface.
579
580 20090201:
581         INET6 statistics (struct ip6stat) was updated.
582         netstat(1) needs to be recompiled.
583
584 20090119:
585         NTFS has been removed from GENERIC kernel on amd64 to match
586         GENERIC on i386. Should not cause any issues since mount_ntfs(8)
587         will load ntfs.ko module automatically when NTFS support is
588         actually needed, unless ntfs.ko is not installed or security
589         level prohibits loading kernel modules. If either is the case,
590         "options NTFS" has to be added into kernel config.
591
592 20090115:
593         TCP Appropriate Byte Counting (RFC 3465) support added to kernel.
594         New field in struct tcpcb breaks ABI, so bump __FreeBSD_version to
595         800061. User space tools that rely on the size of struct tcpcb in
596         tcp_var.h (e.g. sockstat) need to be recompiled.
597
598 20081225:
599         ng_tty(4) module updated to match the new TTY subsystem.
600         Due to API change, user-level applications must be updated.
601         New API support added to mpd5 CVS and expected to be present
602         in next mpd5.3 release.
603
604 20081219:
605         With __FreeBSD_version 800060 the makefs tool is part of
606         the base system (it was a port).
607
608 20081216:
609         The afdata and ifnet locks have been changed from mutexes to
610         rwlocks, network modules will need to be re-compiled.
611
612 20081214:
613         __FreeBSD_version 800059 incorporates the new arp-v2 rewrite.
614         RTF_CLONING, RTF_LLINFO and RTF_WASCLONED flags are eliminated.
615         The new code reduced struct rtentry{} by 16 bytes on 32-bit
616         architecture and 40 bytes on 64-bit architecture. The userland
617         applications "arp" and "ndp" have been updated accordingly.
618         The output from "netstat -r" shows only routing entries and
619         none of the L2 information.
620
621 20081130:
622         __FreeBSD_version 800057 marks the switchover from the
623         binary ath hal to source code. Users must add the line:
624
625         options AH_SUPPORT_AR5416
626
627         to their kernel config files when specifying:
628
629         device  ath_hal
630
631         The ath_hal module no longer exists; the code is now compiled
632         together with the driver in the ath module.  It is now
633         possible to tailor chip support (i.e. reduce the set of chips
634         and thereby the code size); consult ath_hal(4) for details.
635
636 20081121:
637         __FreeBSD_version 800054 adds memory barriers to
638         <machine/atomic.h>, new interfaces to ifnet to facilitate
639         multiple hardware transmit queues for cards that support
640         them, and a lock-less ring-buffer implementation to
641         enable drivers to more efficiently manage queueing of
642         packets.
643
644 20081117:
645         A new version of ZFS (version 13) has been merged to -HEAD.
646         This version has zpool attribute "listsnapshots" off by
647         default, which means "zfs list" does not show snapshots,
648         and is the same as Solaris behavior.
649
650 20081028:
651         dummynet(4) ABI has changed. ipfw(8) needs to be recompiled.
652
653 20081009:
654         The uhci, ohci, ehci and slhci USB Host controller drivers have
655         been put into separate modules. If you load the usb module
656         separately through loader.conf you will need to load the
657         appropriate *hci module as well. E.g. for a UHCI-based USB 2.0
658         controller add the following to loader.conf:
659
660                 uhci_load="YES"
661                 ehci_load="YES"
662
663 20081009:
664         The ABI used by the PMC toolset has changed.  Please keep
665         userland (libpmc(3)) and the kernel module (hwpmc(4)) in
666         sync.
667
668 20081009:
669         atapci kernel module now includes only generic PCI ATA
670         driver. AHCI driver moved to ataahci kernel module.
671         All vendor-specific code moved into separate kernel modules:
672         ataacard, ataacerlabs, ataadaptec, ataamd, ataati, atacenatek,
673         atacypress, atacyrix, atahighpoint, ataintel, ataite, atajmicron,
674         atamarvell, atamicron, atanational, atanetcell, atanvidia,
675         atapromise, ataserverworks, atasiliconimage, atasis, atavia
676
677 20080820:
678         The TTY subsystem of the kernel has been replaced by a new
679         implementation, which provides better scalability and an
680         improved driver model. Most common drivers have been migrated to
681         the new TTY subsystem, while others have not. The following
682         drivers have not yet been ported to the new TTY layer:
683
684         PCI/ISA:
685                 cy, digi, rc, rp, sio
686
687         USB:
688                 ubser, ucycom
689
690         Line disciplines:
691                 ng_h4, ng_tty, ppp, sl, snp
692
693         Adding these drivers to your kernel configuration file shall
694         cause compilation to fail.
695
696 20080818:
697         ntpd has been upgraded to 4.2.4p5.
698
699 20080801:
700         OpenSSH has been upgraded to 5.1p1.
701
702         For many years, FreeBSD's version of OpenSSH preferred DSA
703         over RSA for host and user authentication keys.  With this
704         upgrade, we've switched to the vendor's default of RSA over
705         DSA.  This may cause upgraded clients to warn about unknown
706         host keys even for previously known hosts.  Users should
707         follow the usual procedure for verifying host keys before
708         accepting the RSA key.
709
710         This can be circumvented by setting the "HostKeyAlgorithms"
711         option to "ssh-dss,ssh-rsa" in ~/.ssh/config or on the ssh
712         command line.
713
714         Please note that the sequence of keys offered for
715         authentication has been changed as well.  You may want to
716         specify IdentityFile in a different order to revert this
717         behavior.
718
719 20080713:
720         The sio(4) driver has been removed from the i386 and amd64
721         kernel configuration files. This means uart(4) is now the
722         default serial port driver on those platforms as well.
723
724         To prevent collisions with the sio(4) driver, the uart(4) driver
725         uses different names for its device nodes. This means the
726         onboard serial port will now most likely be called "ttyu0"
727         instead of "ttyd0". You may need to reconfigure applications to
728         use the new device names.
729
730         When using the serial port as a boot console, be sure to update
731         /boot/device.hints and /etc/ttys before booting the new kernel.
732         If you forget to do so, you can still manually specify the hints
733         at the loader prompt:
734
735                 set hint.uart.0.at="isa"
736                 set hint.uart.0.port="0x3F8"
737                 set hint.uart.0.flags="0x10"
738                 set hint.uart.0.irq="4"
739                 boot -s
740
741 20080609:
742         The gpt(8) utility has been removed. Use gpart(8) to partition
743         disks instead.
744
745 20080603:
746         The version that Linuxulator emulates was changed from 2.4.2
747         to 2.6.16. If you experience any problems with Linux binaries
748         please try to set sysctl compat.linux.osrelease to 2.4.2 and
749         if it fixes the problem contact emulation mailing list.
750
751 20080525:
752         ISDN4BSD (I4B) was removed from the src tree. You may need to
753         update a your kernel configuration and remove relevant entries.
754
755 20080509:
756         I have checked in code to support multiple routing tables.
757         See the man pages setfib(1) and setfib(2).
758         This is a hopefully backwards compatible version,
759         but to make use of it you need to compile your kernel
760         with options ROUTETABLES=2 (or more up to 16).
761
762 20080420:
763         The 802.11 wireless support was redone to enable multi-bss
764         operation on devices that are capable.  The underlying device
765         is no longer used directly but instead wlanX devices are
766         cloned with ifconfig.  This requires changes to rc.conf files.
767         For example, change:
768                 ifconfig_ath0="WPA DHCP"
769         to
770                 wlans_ath0=wlan0
771                 ifconfig_wlan0="WPA DHCP"
772         see rc.conf(5) for more details.  In addition, mergemaster of
773         /etc/rc.d is highly recommended.  Simultaneous update of userland
774         and kernel wouldn't hurt either.
775
776         As part of the multi-bss changes the wlan_scan_ap and wlan_scan_sta
777         modules were merged into the base wlan module.  All references
778         to these modules (e.g. in kernel config files) must be removed.
779
780 20080408:
781         psm(4) has gained write(2) support in native operation level.
782         Arbitrary commands can be written to /dev/psm%d and status can
783         be read back from it.  Therefore, an application is responsible
784         for status validation and error recovery.  It is a no-op in
785         other operation levels.
786
787 20080312:
788         Support for KSE threading has been removed from the kernel.  To
789         run legacy applications linked against KSE libmap.conf may
790         be used.  The following libmap.conf may be used to ensure
791         compatibility with any prior release:
792
793         libpthread.so.1 libthr.so.1
794         libpthread.so.2 libthr.so.2
795         libkse.so.3 libthr.so.3
796
797 20080301:
798         The layout of struct vmspace has changed. This affects libkvm
799         and any executables that link against libkvm and use the
800         kvm_getprocs() function. In particular, but not exclusively,
801         it affects ps(1), fstat(1), pkill(1), systat(1), top(1) and w(1).
802         The effects are minimal, but it's advisable to upgrade world
803         nonetheless.
804
805 20080229:
806         The latest em driver no longer has support in it for the
807         82575 adapter, this is now moved to the igb driver. The
808         split was done to make new features that are incompatible
809         with older hardware easier to do.
810
811 20080220:
812         The new geom_lvm(4) geom class has been renamed to geom_linux_lvm(4),
813         likewise the kernel option is now GEOM_LINUX_LVM.
814
815 20080211:
816         The default NFS mount mode has changed from UDP to TCP for
817         increased reliability.  If you rely on (insecurely) NFS
818         mounting across a firewall you may need to update your
819         firewall rules.
820
821 20080208:
822         Belatedly note the addition of m_collapse for compacting
823         mbuf chains.
824
825 20080126:
826         The fts(3) structures have been changed to use adequate
827         integer types for their members and so to be able to cope
828         with huge file trees.  The old fts(3) ABI is preserved
829         through symbol versioning in libc, so third-party binaries
830         using fts(3) should still work, although they will not take
831         advantage of the extended types.  At the same time, some
832         third-party software might fail to build after this change
833         due to unportable assumptions made in its source code about
834         fts(3) structure members.  Such software should be fixed
835         by its vendor or, in the worst case, in the ports tree.
836         FreeBSD_version 800015 marks this change for the unlikely
837         case that a portable fix is impossible.
838
839 20080123:
840         To upgrade to -current after this date, you must be running
841         FreeBSD not older than 6.0-RELEASE.  Upgrading to -current
842         from 5.x now requires a stop over at RELENG_6 or RELENG_7 systems.
843
844 20071128:
845         The ADAPTIVE_GIANT kernel option has been retired because its
846         functionality is the default now.
847
848 20071118:
849         The AT keyboard emulation of sunkbd(4) has been turned on
850         by default. In order to make the special symbols of the Sun
851         keyboards driven by sunkbd(4) work under X these now have
852         to be configured the same way as Sun USB keyboards driven
853         by ukbd(4) (which also does AT keyboard emulation), f.e.:
854
855         Option  "XkbLayout" "us"
856         Option  "XkbRules" "xorg"
857         Option  "XkbSymbols" "pc(pc105)+sun_vndr/usb(sun_usb)+us"
858
859 20071024:
860         It has been decided that it is desirable to provide ABI
861         backwards compatibility to the FreeBSD 4/5/6 versions of the
862         PCIOCGETCONF, PCIOCREAD and PCIOCWRITE IOCTLs, which was
863         broken with the introduction of PCI domain support (see the
864         20070930 entry). Unfortunately, this required the ABI of
865         PCIOCGETCONF to be broken again in order to be able to
866         provide backwards compatibility to the old version of that
867         IOCTL. Thus consumers of PCIOCGETCONF have to be recompiled
868         again. As for prominent ports this affects neither pciutils
869         nor xorg-server this time, the hal port needs to be rebuilt
870         however.
871
872 20071020:
873         The misnamed kthread_create() and friends have been renamed
874         to kproc_create() etc. Many of the callers already
875         used kproc_start()..
876         I will return kthread_create() and friends in a while
877         with implementations that actually create threads, not procs.
878         Renaming corresponds with version 800002.
879
880 20071010:
881         RELENG_7 branched.
882
883 20071009:
884         Setting WITHOUT_LIBPTHREAD now means WITHOUT_LIBKSE and
885         WITHOUT_LIBTHR are set.
886
887 20070930:
888         The PCI code has been made aware of PCI domains. This means that
889         the location strings as used by pciconf(8) etc are now in the
890         following format: pci<domain>:<bus>:<device>[:<function>]. It
891         also means that consumers of <sys/pciio.h> potentially need to
892         be recompiled; this includes the hal and xorg-server ports.
893
894 20070928:
895         The caching daemon (cached) was renamed to nscd. nscd.conf
896         configuration file should be used instead of cached.conf and
897         nscd_enable, nscd_pidfile and nscd_flags options should be used
898         instead of cached_enable, cached_pidfile and cached_flags in
899         rc.conf.
900
901 20070921:
902         The getfacl(1) utility now prints owning user and group name
903         instead of owning uid and gid in the three line comment header.
904         This is the same behavior as getfacl(1) on Solaris and Linux.
905
906 20070704:
907         The new IPsec code is now compiled in using the IPSEC option.  The
908         IPSEC option now requires "device crypto" be defined in your kernel
909         configuration.  The FAST_IPSEC kernel option is now deprecated.
910
911 20070702:
912         The packet filter (pf) code has been updated to OpenBSD 4.1 Please
913         note the changed syntax - keep state is now on by default.  Also
914         note the fact that ftp-proxy(8) has been changed from bottom up and
915         has been moved from libexec to usr/sbin.  Changes in the ALTQ
916         handling also affect users of IPFW's ALTQ capabilities.
917
918 20070701:
919         Remove KAME IPsec in favor of FAST_IPSEC, which is now the
920         only IPsec supported by FreeBSD.  The new IPsec stack
921         supports both IPv4 and IPv6. The kernel option will change
922         after the code changes have settled in.  For now the kernel
923         option IPSEC is deprecated and FAST_IPSEC is the only option, that
924         will change after some settling time.
925
926 20070701:
927         The wicontrol(8) utility has been removed from the base system. wi(4)
928         cards should be configured using ifconfig(8), see the man page for more
929         information.
930
931 20070612:
932         The i386/amd64 GENERIC kernel now defaults to the nfe(4) driver
933         instead of the nve(4) driver. Please update your configuration
934         accordingly.
935
936 20070612:
937         By default, /etc/rc.d/sendmail no longer rebuilds the aliases
938         database if it is missing or older than the aliases file.  If
939         desired, set the new rc.conf option sendmail_rebuild_aliases
940         to "YES" to restore that functionality.
941
942 20070612:
943         The IPv4 multicast socket code has been considerably modified, and
944         moved to the file sys/netinet/in_mcast.c. Initial support for the
945         RFC 3678 Source-Specific Multicast Socket API has been added to
946         the IPv4 network stack.
947
948         Strict multicast and broadcast reception is now the default for
949         UDP/IPv4 sockets; the net.inet.udp.strict_mcast_mship sysctl variable
950         has now been removed.
951
952         The RFC 1724 hack for interface selection has been removed; the use
953         of the Linux-derived ip_mreqn structure with IP_MULTICAST_IF has
954         been added to replace it. Consumers such as routed will soon be
955         updated to reflect this.
956
957         These changes affect users who are running routed(8) or rdisc(8)
958         from the FreeBSD base system on point-to-point or unnumbered
959         interfaces.
960
961 20070610:
962         The net80211 layer has changed significantly and all wireless
963         drivers that depend on it need to be recompiled.  Further these
964         changes require that any program that interacts with the wireless
965         support in the kernel be recompiled; this includes: ifconfig,
966         wpa_supplicant, hostapd, and wlanstats.  Users must also, for
967         the moment, kldload the wlan_scan_sta and/or wlan_scan_ap modules
968         if they use modules for wireless support.  These modules implement
969         scanning support for station and ap modes, respectively.  Failure
970         to load the appropriate module before marking a wireless interface
971         up will result in a message to the console and the device not
972         operating properly.
973
974 20070610:
975         The pam_nologin(8) module ceases to provide an authentication
976         function and starts providing an account management function.
977         Consequent changes to /etc/pam.d should be brought in using
978         mergemaster(8).  Third-party files in /usr/local/etc/pam.d may
979         need manual editing as follows.  Locate this line (or similar):
980
981                 auth    required        pam_nologin.so  no_warn
982
983         and change it according to this example:
984
985                 account required        pam_nologin.so  no_warn
986
987         That is, the first word needs to be changed from "auth" to
988         "account".  The new line can be moved to the account section
989         within the file for clarity.  Not updating pam.conf(5) files
990         will result in nologin(5) ignored by the respective services.
991
992 20070529:
993         The ether_ioctl() function has been synchronized with ioctl(2)
994         and ifnet.if_ioctl.  Due to that, the size of one of its arguments
995         has changed on 64-bit architectures.  All kernel modules using
996         ether_ioctl() need to be rebuilt on such architectures.
997
998 20070516:
999         Improved INCLUDE_CONFIG_FILE support has been introduced to the
1000         config(8) utility. In order to take advantage of this new
1001         functionality, you are expected to recompile and install
1002         src/usr.sbin/config. If you don't rebuild config(8), and your
1003         kernel configuration depends on INCLUDE_CONFIG_FILE, the kernel
1004         build will be broken because of a missing "kernconfstring"
1005         symbol.
1006
1007 20070513:
1008         Symbol versioning is enabled by default.  To disable it, use
1009         option WITHOUT_SYMVER.  It is not advisable to attempt to
1010         disable symbol versioning once it is enabled; your installworld
1011         will break because a symbol version-less libc will get installed
1012         before the install tools.  As a result, the old install tools,
1013         which previously had symbol dependencies to FBSD_1.0, will fail
1014         because the freshly installed libc will not have them.
1015
1016         The default threading library (providing "libpthread") has been
1017         changed to libthr.  If you wish to have libkse as your default,
1018         use option DEFAULT_THREAD_LIB=libkse for the buildworld.
1019
1020 20070423:
1021         The ABI breakage in sendmail(8)'s libmilter has been repaired
1022         so it is no longer necessary to recompile mail filters (aka,
1023         milters).  If you recompiled mail filters after the 20070408
1024         note, it is not necessary to recompile them again.
1025
1026 20070417:
1027         The new trunk(4) driver has been renamed to lagg(4) as it better
1028         reflects its purpose. ifconfig will need to be recompiled.
1029
1030 20070408:
1031         sendmail(8) has been updated to version 8.14.1.  Mail filters
1032         (aka, milters) compiled against the libmilter included in the
1033         base operating system should be recompiled.
1034
1035 20070302:
1036         Firmwares for ipw(4) and iwi(4) are now included in the base tree.
1037         In order to use them one must agree to the respective LICENSE in
1038         share/doc/legal and define legal.intel_<name>.license_ack=1 via
1039         loader.conf(5) or kenv(1).  Make sure to deinstall the now
1040         deprecated modules from the respective firmware ports.
1041
1042 20070228:
1043         The name resolution/mapping functions addr2ascii(3) and ascii2addr(3)
1044         were removed from FreeBSD's libc. These originally came from INRIA
1045         IPv6. Nothing in FreeBSD ever used them. They may be regarded as
1046         deprecated in previous releases.
1047         The AF_LINK support for getnameinfo(3) was merged from NetBSD to
1048         replace it as a more portable (and re-entrant) API.
1049
1050 20070224:
1051         To support interrupt filtering a modification to the newbus API
1052         has occurred, ABI was broken and __FreeBSD_version was bumped
1053         to 700031. Please make sure that your kernel and modules are in
1054         sync. For more info:
1055         http://docs.freebsd.org/cgi/mid.cgi?20070221233124.GA13941
1056
1057 20070224:
1058         The IPv6 multicast forwarding code may now be loaded into GENERIC
1059         kernels by loading the ip_mroute.ko module. This is built into the
1060         module unless WITHOUT_INET6 or WITHOUT_INET6_SUPPORT options are
1061         set; see src.conf(5) for more information.
1062
1063 20070214:
1064         The output of netstat -r has changed. Without -n, we now only
1065         print a "network name" without the prefix length if the network
1066         address and mask exactly match a Class A/B/C network, and an entry
1067         exists in the nsswitch "networks" map.
1068         With -n, we print the full unabbreviated CIDR network prefix in
1069         the form "a.b.c.d/p". 0.0.0.0/0 is always printed as "default".
1070         This change is in preparation for changes such as equal-cost
1071         multipath, and to more generally assist operational deployment
1072         of FreeBSD as a modern IPv4 router.
1073
1074 20070210:
1075         PIM has been turned on by default in the IPv4 multicast
1076         routing code. The kernel option 'PIM' has now been removed.
1077         PIM is now built by default if option 'MROUTING' is specified.
1078         It may now be loaded into GENERIC kernels by loading the
1079         ip_mroute.ko module.
1080
1081 20070207:
1082         Support for IPIP tunnels (VIFF_TUNNEL) in IPv4 multicast routing
1083         has been removed. Its functionality may be achieved by explicitly
1084         configuring gif(4) interfaces and using the 'phyint' keyword in
1085         mrouted.conf.
1086         XORP does not support source-routed IPv4 multicast tunnels nor the
1087         integrated IPIP tunneling, therefore it is not affected by this
1088         change. The __FreeBSD_version macro has been bumped to 700030.
1089
1090 20061221:
1091         Support for PCI Message Signalled Interrupts has been
1092         re-enabled in the bge driver, only for those chips which are
1093         believed to support it properly.  If there are any problems,
1094         MSI can be disabled completely by setting the
1095         'hw.pci.enable_msi' and 'hw.pci.enable_msix' tunables to 0
1096         in the loader.
1097
1098 20061214:
1099         Support for PCI Message Signalled Interrupts has been
1100         disabled again in the bge driver.  Many revisions of the
1101         hardware fail to support it properly.  Support can be
1102         re-enabled by removing the #define of BGE_DISABLE_MSI in
1103         "src/sys/dev/bge/if_bge.c".
1104
1105 20061214:
1106         Support for PCI Message Signalled Interrupts has been added
1107         to the bge driver.  If there are any problems, MSI can be
1108         disabled completely by setting the 'hw.pci.enable_msi' and
1109         'hw.pci.enable_msix' tunables to 0 in the loader.
1110
1111 20061205:
1112         The removal of several facets of the experimental Threading
1113         system from the kernel means that the proc and thread structures
1114         have changed quite a bit. I suggest all kernel modules that might
1115         reference these structures be recompiled.. Especially the
1116         linux module.
1117
1118 20061126:
1119         Sound infrastructure has been updated with various fixes and
1120         improvements. Most of the changes are pretty much transparent,
1121         with exceptions of followings:
1122         1) All sound driver specific sysctls (hw.snd.pcm%d.*) have been
1123            moved to their own dev sysctl nodes, for example:
1124                 hw.snd.pcm0.vchans -> dev.pcm.0.vchans
1125         2) /dev/dspr%d.%d has been deprecated. Each channel now has its
1126            own chardev in the form of "dsp%d.<function>%d", where <function>
1127            is p = playback, r = record and v = virtual, respectively. Users
1128            are encouraged to use these devs instead of (old) "/dev/dsp%d.%d".
1129            This does not affect those who are using "/dev/dsp".
1130
1131 20061122:
1132         geom(4)'s gmirror(8) class metadata structure has been
1133         rev'd from v3 to v4. If you update across this point and
1134         your metadata is converted for you, you will not be easily
1135         able to downgrade since the /boot/kernel.old/geom_mirror.ko
1136         kernel module will be unable to read the v4 metadata.  You
1137         can resolve this by doing from the loader(8) prompt:
1138
1139                 set vfs.root.mountfrom="ufs:/dev/XXX"
1140
1141         where XXX is the root slice of one of the disks that composed
1142         the mirror (i.e.: /dev/ad0s1a). You can then rebuild
1143         the array the same way you built it originally.
1144
1145 20061122:
1146         The following binaries have been disconnected from the build:
1147         mount_devfs, mount_ext2fs, mount_fdescfs, mount_procfs, mount_linprocfs,
1148         and mount_std.  The functionality of these programs has been
1149         moved into the mount program.  For example, to mount a devfs
1150         filesystem, instead of using mount_devfs, use: "mount -t devfs".
1151         This does not affect entries in /etc/fstab, since entries in
1152         /etc/fstab are always processed with "mount -t fstype".
1153
1154 20061113:
1155         Support for PCI Message Signalled Interrupts on i386 and amd64
1156         has been added to the kernel and various drivers will soon be
1157         updated to use MSI when it is available.  If there are any problems,
1158         MSI can be disabled completely by setting the 'hw.pci.enable_msi'
1159         and 'hw.pci.enable_msix' tunables to 0 in the loader.
1160
1161 20061110:
1162         The MUTEX_PROFILING option has been renamed to LOCK_PROFILING.
1163         The lockmgr object layout has been changed as a result of having
1164         a lock_object embedded in it. As a consequence all file system
1165         kernel modules must be re-compiled. The mutex profiling man page
1166         has not yet been updated to reflect this change.
1167
1168 20061026:
1169         KSE in the kernel has now been made optional and turned on by
1170         default. Use 'nooption KSE' in your kernel config to turn it
1171         off. All kernel modules *must* be recompiled after this change.
1172         There-after, modules from a KSE kernel should be compatible with
1173         modules from a NOKSE kernel due to the temporary padding fields
1174         added to 'struct proc'.
1175
1176 20060929:
1177         mrouted and its utilities have been removed from the base system.
1178
1179 20060927:
1180         Some ioctl(2) command codes have changed.  Full backward ABI
1181         compatibility is provided if the "options COMPAT_FREEBSD6" is
1182         present in the kernel configuration file.  Make sure to add
1183         this option to your kernel config file, or recompile X.Org
1184         and the rest of ports; otherwise they may refuse to work.
1185
1186 20060924:
1187         tcpslice has been removed from the base system.
1188
1189 20060913:
1190         The sizes of struct tcpcb (and struct xtcpcb) have changed due to
1191         the rewrite of TCP syncookies.  Tools like netstat, sockstat, and
1192         systat needs to be rebuilt.
1193
1194 20060903:
1195         libpcap updated to v0.9.4 and tcpdump to v3.9.4
1196
1197 20060816:
1198         The IPFIREWALL_FORWARD_EXTENDED option is gone and the behaviour
1199         for IPFIREWALL_FORWARD is now as it was before when it was first
1200         committed and for years after. The behaviour is now ON.
1201
1202 20060725:
1203         enigma(1)/crypt(1) utility has been changed on 64 bit architectures.
1204         Now it can decrypt files created from different architectures.
1205         Unfortunately, it is no longer able to decrypt a cipher text
1206         generated with an older version on 64 bit architectures.
1207         If you have such a file, you need old utility to decrypt it.
1208
1209 20060709:
1210         The interface version of the i4b kernel part has changed. So
1211         after updating the kernel sources and compiling a new kernel,
1212         the i4b user space tools in "/usr/src/usr.sbin/i4b" must also
1213         be rebuilt, and vice versa.
1214
1215 20060627:
1216         The XBOX kernel now defaults to the nfe(4) driver instead of
1217         the nve(4) driver. Please update your configuration
1218         accordingly.
1219
1220 20060514:
1221         The i386-only lnc(4) driver for the AMD Am7900 LANCE and Am79C9xx
1222         PCnet family of NICs has been removed. The new le(4) driver serves
1223         as an equivalent but cross-platform replacement with the pcn(4)
1224         driver still providing performance-optimized support for the subset
1225         of AMD Am79C971 PCnet-FAST and greater chips as before.
1226
1227 20060511:
1228         The machdep.* sysctls and the adjkerntz utility have been
1229         modified a bit.  The new adjkerntz utility uses the new
1230         sysctl names and sysctlbyname() calls, so it may be impossible
1231         to run an old /sbin/adjkerntz utility in single-user mode
1232         with a new kernel.  Replace the `adjkerntz -i' step before
1233         `make installworld' with:
1234
1235             /usr/obj/usr/src/sbin/adjkerntz/adjkerntz -i
1236
1237         and proceed as usual with the rest of the installworld-stage
1238         steps.  Otherwise, you risk installing binaries with their
1239         timestamp set several hours in the future, especially if
1240         you are running with local time set to GMT+X hours.
1241
1242 20060412:
1243         The ip6fw utility has been removed.  The behavior provided by
1244         ip6fw has been in ipfw2 for a good while and the rc.d scripts
1245         have been updated to deal with it.  There are some rules that
1246         might not migrate cleanly.  Use rc.firewall6 as a template to
1247         rewrite rules.
1248
1249 20060428:
1250         The puc(4) driver has been overhauled. The ebus(4) and sbus(4)
1251         attachments have been removed. Make sure to configure scc(4)
1252         on sparc64. Note also that by default puc(4) will use uart(4)
1253         and not sio(4) for serial ports because interrupt handling has
1254         been optimized for multi-port serial cards and only uart(4)
1255         implements the interface to support it.
1256
1257 20060330:
1258         The scc(4) driver replaces puc(4) for Serial Communications
1259         Controllers (SCCs) like the Siemens SAB82532 and the Zilog
1260         Z8530. On sparc64, it is advised to add scc(4) to the kernel
1261         configuration to make sure that the serial ports remain
1262         functional.
1263
1264 20060317:
1265         Most world/kernel related NO_* build options changed names.
1266         New knobs have common prefixes WITHOUT_*/WITH_* (modelled
1267         after FreeBSD ports) and should be set in /etc/src.conf
1268         (the src.conf(5) manpage is provided).  Full backwards
1269         compatibility is maintained for the time being though it's
1270         highly recommended to start moving old options out of the
1271         system-wide /etc/make.conf file into the new /etc/src.conf
1272         while also properly renaming them.  More conversions will
1273         likely follow.  Posting to current@:
1274
1275         http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061725.html
1276
1277 20060305:
1278         The NETSMBCRYPTO kernel option has been retired because its
1279         functionality is always included in NETSMB and smbfs.ko now.
1280
1281 20060303:
1282         The TDFX_LINUX kernel option was retired and replaced by the
1283         tdfx_linux device.  The latter can be loaded as the 3dfx_linux.ko
1284         kernel module.  Loading it alone should suffice to get 3dfx support
1285         for Linux apps because it will pull in 3dfx.ko and linux.ko through
1286         its dependencies.
1287
1288 20060204:
1289         The 'audit' group was added to support the new auditing functionality
1290         in the base system.  Be sure to follow the directions for updating,
1291         including the requirement to run mergemaster -p.
1292
1293 20060201:
1294         The kernel ABI to file system modules was changed on i386.
1295         Please make sure that your kernel and modules are in sync.
1296
1297 20060118:
1298         This actually occured some time ago, but installing the kernel
1299         now also installs a bunch of symbol files for the kernel modules.
1300         This increases the size of /boot/kernel to about 67Mbytes. You
1301         will need twice this if you will eventually back this up to kernel.old
1302         on your next install.
1303         If you have a shortage of room in your root partition, you should add
1304         -DINSTALL_NODEBUG to your make arguments or add INSTALL_NODEBUG="yes"
1305         to your /etc/make.conf.
1306
1307 20060113:
1308         libc's malloc implementation has been replaced.  This change has the
1309         potential to uncover application bugs that previously went unnoticed.
1310         See the malloc(3) manual page for more details.
1311
1312 20060112:
1313         The generic netgraph(4) cookie has been changed. If you upgrade
1314         kernel passing this point, you also need to upgrade userland
1315         and netgraph(4) utilities like ports/net/mpd or ports/net/mpd4.
1316
1317 20060106:
1318         si(4)'s device files now contain the unit number.
1319         Uses of {cua,tty}A[0-9a-f] should be replaced by {cua,tty}A0[0-9a-f].
1320
1321 20060106:
1322         The kernel ABI was mostly destroyed due to a change in the size
1323         of struct lock_object which is nested in other structures such
1324         as mutexes which are nested in all sorts of other structures.
1325         Make sure your kernel and modules are in sync.
1326
1327 20051231:
1328         The page coloring algorithm in the VM subsystem was converted
1329         from tuning with kernel options to autotuning. Please remove
1330         any PQ_* option except PQ_NOOPT from your kernel config.
1331
1332 20051211:
1333         The net80211-related tools in the tools/tools/ath directory
1334         have been moved to tools/tools/net80211 and renamed with a
1335         "wlan" prefix.  Scripts that use them should be adjusted
1336         accordingly.
1337
1338 20051202:
1339         Scripts in the local_startup directories (as defined in
1340         /etc/defaults/rc.conf) that have the new rc.d semantics will
1341         now be run as part of the base system rcorder. If there are
1342         errors or problems with one of these local scripts, it could
1343         cause boot problems. If you encounter such problems, boot in
1344         single user mode, remove that script from the */rc.d directory.
1345         Please report the problem to the port's maintainer, and the
1346         freebsd-ports@freebsd.org mailing list.
1347
1348 20051129:
1349         The nodev mount option was deprecated in RELENG_6 (where it
1350         was a no-op), and is now unsupported.  If you have nodev or dev listed
1351         in /etc/fstab, remove it, otherwise it will result in a mount error.
1352
1353 20051129:
1354         ABI between ipfw(4) and ipfw(8) has been changed. You need
1355         to rebuild ipfw(8) when rebuilding kernel.
1356
1357 20051108:
1358         rp(4)'s device files now contain the unit number.
1359         Uses of {cua,tty}R[0-9a-f] should be replaced by {cua,tty}R0[0-9a-f].
1360
1361 20051029:
1362         /etc/rc.d/ppp-user has been renamed to /etc/rc.d/ppp.
1363         Its /etc/rc.conf.d configuration file has been `ppp' from
1364         the beginning, and hence there is no need to touch it.
1365
1366 20051014:
1367         Now most modules get their build-time options from the kernel
1368         configuration file.  A few modules still have fixed options
1369         due to their non-conformant implementation, but they will be
1370         corrected eventually.  You may need to review the options of
1371         the modules in use, explicitly specify the non-default options
1372         in the kernel configuration file, and rebuild the kernel and
1373         modules afterwards.
1374
1375 20051001:
1376         kern.polling.enable sysctl MIB is now deprecated. Use ifconfig(8)
1377         to turn polling(4) on your interfaces.
1378
1379 20050927:
1380         The old bridge(4) implementation was retired.  The new
1381         if_bridge(4) serves as a full functional replacement.
1382
1383 20050722:
1384         The ai_addrlen of a struct addrinfo was changed to a socklen_t
1385         to conform to POSIX-2001.  This change broke an ABI
1386         compatibility on 64 bit architecture.  You have to recompile
1387         userland programs that use getaddrinfo(3) on 64 bit
1388         architecture.
1389
1390 20050711:
1391         RELENG_6 branched here.
1392
1393 20050629:
1394         The pccard_ifconfig rc.conf variable has been removed and a new
1395         variable, ifconfig_DEFAULT has been introduced.  Unlike
1396         pccard_ifconfig, ifconfig_DEFAULT applies to ALL interfaces that
1397         do not have ifconfig_ifn entries rather than just those in
1398         removable_interfaces.
1399
1400 20050616:
1401         Some previous versions of PAM have permitted the use of
1402         non-absolute paths in /etc/pam.conf or /etc/pam.d/* when referring
1403         to third party PAM modules in /usr/local/lib.  A change has been
1404         made to require the use of absolute paths in order to avoid
1405         ambiguity and dependence on library path configuration, which may
1406         affect existing configurations.
1407
1408 20050610:
1409         Major changes to network interface API.  All drivers must be
1410         recompiled.  Drivers not in the base system will need to be
1411         updated to the new APIs.
1412
1413 20050609:
1414         Changes were made to kinfo_proc in sys/user.h.  Please recompile
1415         userland, or commands like `fstat', `pkill', `ps', `top' and `w'
1416         will not behave correctly.
1417
1418         The API and ABI for hwpmc(4) have changed with the addition
1419         of sampling support.  Please recompile lib/libpmc(3) and
1420         usr.sbin/{pmcstat,pmccontrol}.
1421
1422 20050606:
1423         The OpenBSD dhclient was imported in place of the ISC dhclient
1424         and the network interface configuration scripts were updated
1425         accordingly.  If you use DHCP to configure your interfaces, you
1426         must now run devd.  Also, DNS updating was lost so you will need
1427         to find a workaround if you use this feature.
1428
1429         The '_dhcp' user was added to support the OpenBSD dhclient.  Be
1430         sure to run mergemaster -p (like you are supposed to do every time
1431         anyway).
1432
1433 20050605:
1434         if_bridge was added to the tree. This has changed struct ifnet.
1435         Please recompile userland and all network related modules.
1436
1437 20050603:
1438         The n_net of a struct netent was changed to an uint32_t, and
1439         1st argument of getnetbyaddr() was changed to an uint32_t, to
1440         conform to POSIX-2001.  These changes broke an ABI
1441         compatibility on 64 bit architecture.  With these changes,
1442         shlib major of libpcap was bumped.  You have to recompile
1443         userland programs that use getnetbyaddr(3), getnetbyname(3),
1444         getnetent(3) and/or libpcap on 64 bit architecture.
1445
1446 20050528:
1447         Kernel parsing of extra options on '#!' first lines of shell
1448         scripts has changed.  Lines with multiple options likely will
1449         fail after this date.  For full details, please see
1450                 http://people.freebsd.org/~gad/Updating-20050528.txt
1451
1452 20050503:
1453         The packet filter (pf) code has been updated to OpenBSD 3.7
1454         Please note the changed anchor syntax and the fact that
1455         authpf(8) now needs a mounted fdescfs(5) to function.
1456
1457 20050415:
1458         The NO_MIXED_MODE kernel option has been removed from the i386
1459         amd64 platforms as its use has been superceded by the new local
1460         APIC timer code.  Any kernel config files containing this option
1461         should be updated.
1462
1463 20050227:
1464         The on-disk format of LC_CTYPE files was changed to be machine
1465         independent.  Please make sure NOT to use NO_CLEAN buildworld
1466         when crossing this point. Crossing this point also requires
1467         recompile or reinstall of all locale depended packages.
1468
1469 20050225:
1470         The ifi_epoch member of struct if_data has been changed to
1471         contain the uptime at which the interface was created or the
1472         statistics zeroed rather then the wall clock time because
1473         wallclock time may go backwards.  This should have no impact
1474         unless an snmp implementation is using this value (I know of
1475         none at this point.)
1476
1477 20050224:
1478         The acpi_perf and acpi_throttle drivers are now part of the
1479         acpi(4) main module.  They are no longer built separately.
1480
1481 20050223:
1482         The layout of struct image_params has changed. You have to
1483         recompile all compatibility modules (linux, svr4, etc) for use
1484         with the new kernel.
1485
1486 20050223:
1487         The p4tcc driver has been merged into cpufreq(4).  This makes
1488         "options CPU_ENABLE_TCC" obsolete.  Please load cpufreq.ko or
1489         compile in "device cpufreq" to restore this functionality.
1490
1491 20050220:
1492         The responsibility of recomputing the file system summary of
1493         a SoftUpdates-enabled dirty volume has been transferred to the
1494         background fsck.  A rebuild of fsck(8) utility is recommended
1495         if you have updated the kernel.
1496
1497         To get the old behavior (recompute file system summary at mount
1498         time), you can set vfs.ffs.compute_summary_at_mount=1 before
1499         mounting the new volume.
1500
1501 20050206:
1502         The cpufreq import is complete.  As part of this, the sysctls for
1503         acpi(4) throttling have been removed.  The power_profile script
1504         has been updated, so you can use performance/economy_cpu_freq in
1505         rc.conf(5) to set AC on/offline cpu frequencies.
1506
1507 20050206:
1508         NG_VERSION has been increased. Recompiling kernel (or ng_socket.ko)
1509         requires recompiling libnetgraph and userland netgraph utilities.
1510
1511 20050114:
1512         Support for abbreviated forms of a number of ipfw options is
1513         now deprecated.  Warnings are printed to stderr indicating the
1514         correct full form when a match occurs.  Some abbreviations may
1515         be supported at a later date based on user feedback.  To be
1516         considered for support, abbreviations must be in use prior to
1517         this commit and unlikely to be confused with current key words.
1518
1519 20041221:
1520         By a popular demand, a lot of NOFOO options were renamed
1521         to NO_FOO (see bsd.compat.mk for a full list).  The old
1522         spellings are still supported, but will cause annoying
1523         warnings on stderr.  Make sure you upgrade properly (see
1524         the COMMON ITEMS: section later in this file).
1525
1526 20041219:
1527         Auto-loading of ancillary wlan modules such as wlan_wep has
1528         been temporarily disabled; you need to statically configure
1529         the modules you need into your kernel or explicitly load them
1530         prior to use.  Specifically, if you intend to use WEP encryption
1531         with an 802.11 device load/configure wlan_wep; if you want to
1532         use WPA with the ath driver load/configure wlan_tkip, wlan_ccmp,
1533         and wlan_xauth as required.
1534
1535 20041213:
1536         The behaviour of ppp(8) has changed slightly.  If lqr is enabled
1537         (``enable lqr''), older versions would revert to LCP ECHO mode on
1538         negotiation failure.  Now, ``enable echo'' is required for this
1539         behaviour.  The ppp version number has been bumped to 3.4.2 to
1540         reflect the change.
1541
1542 20041201:
1543         The wlan support has been updated to split the crypto support
1544         into separate modules.  For static WEP you must configure the
1545         wlan_wep module in your system or build and install the module
1546         in place where it can be loaded (the kernel will auto-load
1547         the module when a wep key is configured).
1548
1549 20041201:
1550         The ath driver has been updated to split the tx rate control
1551         algorithm into a separate module.  You need to include either
1552         ath_rate_onoe or ath_rate_amrr when configuring the kernel.
1553
1554 20041116:
1555         Support for systems with an 80386 CPU has been removed.  Please
1556         use FreeBSD 5.x or earlier on systems with an 80386.
1557
1558 20041110:
1559         We have had a hack which would mount the root filesystem
1560         R/W if the device were named 'md*'.  As part of the vnode
1561         work I'm doing I have had to remove this hack.  People
1562         building systems which use preloaded MD root filesystems
1563         may need to insert a "/sbin/mount -u -o rw /dev/md0 /" in
1564         their /etc/rc scripts.
1565
1566 20041104:
1567         FreeBSD 5.3 shipped here.
1568
1569 20041102:
1570         The size of struct tcpcb has changed again due to the removal
1571         of RFC1644 T/TCP.  You have to recompile userland programs that
1572         read kmem for tcp sockets directly (netstat, sockstat, etc.)
1573
1574 20041022:
1575         The size of struct tcpcb has changed.  You have to recompile
1576         userland programs that read kmem for tcp sockets directly
1577         (netstat, sockstat, etc.)
1578
1579 20041016:
1580         RELENG_5 branched here.  For older entries, please see updating
1581         in the RELENG_5 branch.
1582
1583 COMMON ITEMS:
1584
1585         General Notes
1586         -------------
1587         Avoid using make -j when upgrading.  From time to time in the
1588         past there have been problems using -j with buildworld and/or
1589         installworld.  This is especially true when upgrading between
1590         "distant" versions (eg one that cross a major release boundary
1591         or several minor releases, or when several months have passed
1592         on the -current branch).
1593
1594         Sometimes, obscure build problems are the result of environment
1595         poisoning.  This can happen because the make utility reads its
1596         environment when searching for values for global variables.
1597         To run your build attempts in an "environmental clean room",
1598         prefix all make commands with 'env -i '.  See the env(1) manual
1599         page for more details.
1600
1601         When upgrading from one major version to another it is generally
1602         best to upgrade to the latest code in the currently installed branch
1603         first, then do an upgrade to the new branch. This is the best-tested
1604         upgrade path, and has the highest probability of being successful.
1605         Please try this approach before reporting problems with a major
1606         version upgrade.
1607
1608         To build a kernel
1609         -----------------
1610         If you are updating from a prior version of FreeBSD (even one just
1611         a few days old), you should follow this procedure.  It is the most
1612         failsafe as it uses a /usr/obj tree with a fresh mini-buildworld,
1613
1614         make kernel-toolchain
1615         make -DALWAYS_CHECK_MAKE buildkernel KERNCONF=YOUR_KERNEL_HERE
1616         make -DALWAYS_CHECK_MAKE installkernel KERNCONF=YOUR_KERNEL_HERE
1617
1618         To test a kernel once
1619         ---------------------
1620         If you just want to boot a kernel once (because you are not sure
1621         if it works, or if you want to boot a known bad kernel to provide
1622         debugging information) run
1623         make installkernel KERNCONF=YOUR_KERNEL_HERE KODIR=/boot/testkernel
1624         nextboot -k testkernel
1625
1626         To just build a kernel when you know that it won't mess you up
1627         --------------------------------------------------------------
1628         This assumes you are already running a 5.X system.  Replace
1629         ${arch} with the architecture of your machine (e.g. "i386",
1630         "alpha", "amd64", "ia64", "pc98", "sparc64", etc).
1631
1632         cd src/sys/${arch}/conf
1633         config KERNEL_NAME_HERE
1634         cd ../compile/KERNEL_NAME_HERE
1635         make depend
1636         make
1637         make install
1638
1639         If this fails, go to the "To build a kernel" section.
1640
1641         To rebuild everything and install it on the current system.
1642         -----------------------------------------------------------
1643         # Note: sometimes if you are running current you gotta do more than
1644         # is listed here if you are upgrading from a really old current.
1645
1646         <make sure you have good level 0 dumps>
1647         make buildworld
1648         make kernel KERNCONF=YOUR_KERNEL_HERE
1649                                                         [1]
1650         <reboot in single user>                         [3]
1651         mergemaster -p                                  [5]
1652         make installworld
1653         make delete-old
1654         mergemaster                                     [4]
1655         <reboot>
1656
1657
1658         To cross-install current onto a separate partition
1659         --------------------------------------------------
1660         # In this approach we use a separate partition to hold
1661         # current's root, 'usr', and 'var' directories.   A partition
1662         # holding "/", "/usr" and "/var" should be about 2GB in
1663         # size.
1664
1665         <make sure you have good level 0 dumps>
1666         <boot into -stable>
1667         make buildworld
1668         make buildkernel KERNCONF=YOUR_KERNEL_HERE
1669         <maybe newfs current's root partition>
1670         <mount current's root partition on directory ${CURRENT_ROOT}>
1671         make installworld DESTDIR=${CURRENT_ROOT}
1672         make distribution DESTDIR=${CURRENT_ROOT} # if newfs'd
1673         make installkernel KERNCONF=YOUR_KERNEL_HERE DESTDIR=${CURRENT_ROOT}
1674         cp /etc/fstab ${CURRENT_ROOT}/etc/fstab                    # if newfs'd
1675         <edit ${CURRENT_ROOT}/etc/fstab to mount "/" from the correct partition>
1676         <reboot into current>
1677         <do a "native" rebuild/install as described in the previous section>
1678         <maybe install compatibility libraries from ports/misc/compat*>
1679         <reboot>
1680
1681
1682         To upgrade in-place from 5.x-stable to current
1683         ----------------------------------------------
1684         <make sure you have good level 0 dumps>
1685         make buildworld                                 [9]
1686         make kernel KERNCONF=YOUR_KERNEL_HERE           [8]
1687                                                         [1]
1688         <reboot in single user>                         [3]
1689         mergemaster -p                                  [5]
1690         make installworld
1691         make delete-old
1692         mergemaster -i                                  [4]
1693         <reboot>
1694
1695         Make sure that you've read the UPDATING file to understand the
1696         tweaks to various things you need.  At this point in the life
1697         cycle of current, things change often and you are on your own
1698         to cope.  The defaults can also change, so please read ALL of
1699         the UPDATING entries.
1700
1701         Also, if you are tracking -current, you must be subscribed to
1702         freebsd-current@freebsd.org.  Make sure that before you update
1703         your sources that you have read and understood all the recent
1704         messages there.  If in doubt, please track -stable which has
1705         much fewer pitfalls.
1706
1707         [1] If you have third party modules, such as vmware, you
1708         should disable them at this point so they don't crash your
1709         system on reboot.
1710
1711         [3] From the bootblocks, boot -s, and then do
1712                 fsck -p
1713                 mount -u /
1714                 mount -a
1715                 cd src
1716                 adjkerntz -i            # if CMOS is wall time
1717         Also, when doing a major release upgrade, it is required that
1718         you boot into single user mode to do the installworld.
1719
1720         [4] Note: This step is non-optional.  Failure to do this step
1721         can result in a significant reduction in the functionality of the
1722         system.  Attempting to do it by hand is not recommended and those
1723         that pursue this avenue should read this file carefully, as well
1724         as the archives of freebsd-current and freebsd-hackers mailing lists
1725         for potential gotchas.
1726
1727         [5] Usually this step is a noop.  However, from time to time
1728         you may need to do this if you get unknown user in the following
1729         step.  It never hurts to do it all the time.  You may need to
1730         install a new mergemaster (cd src/usr.sbin/mergemaster && make
1731         install) after the buildworld before this step if you last updated
1732         from current before 20020224 or from -stable before 20020408.
1733
1734         [8] In order to have a kernel that can run the 4.x binaries
1735         needed to do an installworld, you must include the COMPAT_FREEBSD4
1736         option in your kernel.  Failure to do so may leave you with a system
1737         that is hard to boot to recover. A similar kernel option COMPAT_FREEBSD5
1738         is required to run the 5.x binaries on more recent kernels.
1739
1740         Make sure that you merge any new devices from GENERIC since the
1741         last time you updated your kernel config file.
1742
1743         [9] When checking out sources, you must include the -P flag to have
1744         cvs prune empty directories.
1745
1746         If CPUTYPE is defined in your /etc/make.conf, make sure to use the
1747         "?=" instead of the "=" assignment operator, so that buildworld can
1748         override the CPUTYPE if it needs to.
1749
1750         MAKEOBJDIRPREFIX must be defined in an environment variable, and
1751         not on the command line, or in /etc/make.conf.  buildworld will
1752         warn if it is improperly defined.
1753 FORMAT:
1754
1755 This file contains a list, in reverse chronological order, of major
1756 breakages in tracking -current.  Not all things will be listed here,
1757 and it only starts on October 16, 2004.  Updating files can found in
1758 previous releases if your system is older than this.
1759
1760 Copyright information:
1761
1762 Copyright 1998-2005 M. Warner Losh.  All Rights Reserved.
1763
1764 Redistribution, publication, translation and use, with or without
1765 modification, in full or in part, in any form or format of this
1766 document are permitted without further permission from the author.
1767
1768 THIS DOCUMENT IS PROVIDED BY WARNER LOSH ``AS IS'' AND ANY EXPRESS OR
1769 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1770 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
1771 DISCLAIMED.  IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT,
1772 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
1773 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
1774 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
1775 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
1776 STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
1777 IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1778 POSSIBILITY OF SUCH DAMAGE.
1779
1780 If you find this document useful, and you want to, you may buy the
1781 author a beer.
1782
1783 Contact Warner Losh if you have any questions about your use of
1784 this document.
1785
1786 $FreeBSD$