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