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