]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - UPDATING
This commit was generated by cvs2svn to compensate for changes in r135923,
[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.  Important recent entries: 20040724 (default X changes).
10
11 [[ The UPDATING file will be trimmed to 20040814 on or about Oct 1, 2004 ]]
12
13 NOTE TO PEOPLE WHO THINK THAT FreeBSD 6.x IS SLOW:
14         FreeBSD 6.x has many debugging features turned on, in
15         both the kernel and userland.  These features attempt to detect
16         incorrect use of system primitives, and encourage loud failure
17         through extra sanity checking and fail stop semantics.  They
18         also substantially impact system performance.  If you want to
19         do performance measurement, benchmarking, and optimization,
20         you'll want to turn them off.  This includes various WITNESS-
21         related kernel options, INVARIANTS, malloc debugging flags
22         in userland, and various verbose features in the kernel.  Many
23         developers choose to disable these features on build machines
24         to maximize performance.
25
26 20040929:
27         The pfil API has gained an additional argument to pass an inpcb.
28         You should rebuild all pfil consuming modules: ipfw, ipfilter
29         and pf.
30
31 20040928:
32         If enabled, the default is now to run named in a chroot
33         "sandbox." For users with existing configurations in
34         /etc/namedb the migration should be simple. Upgrade your
35         world as usual, then after installworld but before
36         mergemaster do the following:
37
38         /etc/rc.d/syslogd stop
39         If named is running: /etc/rc.d/named stop
40         cd /etc
41         mv namedb namedb.bak
42         mkdir -p /var/named/etc/namedb
43         cp -Rp namedb.bak/* /var/named/etc/namedb/
44         mergemaster (with your usual options)
45         If using the generated localhost* files:
46                 cd /var/named/etc/namedb
47                 /bin/sh make-localhost
48                 rm -f localhost-v6.rev localhost.rev
49         /etc/rc.d/syslogd start
50         /etc/rc.d/named start
51
52         If you are using a custom configuration, or if you have
53         customised the named_* variables in /etc/rc.conf[.local]
54         then you may have to adjust the instructions accordingly.
55         It is suggested that you carefully examine the new named
56         variables in /etc/defaults/rc.conf and the options in
57         /var/named/etc/namedb/named.conf to see if they might
58         now be more suitable.
59
60 20040925:
61         BIND 9 has been imported into the base, and is now fully
62         functional. BIND 8 has now been removed. There are numerous
63         differences between BIND 8 and 9, and users with critical
64         named installations should read the migration documentation
65         in /usr/share/doc/bind9/misc/migration. There is also a
66         new instruction manual in /usr/share/doc/bind9/arm.
67
68         The key differences that most users will experience are in
69         how picky BIND 9 is about zone file format. If you are using
70         named as a resolving (caching) name server, you will likely
71         not have trouble.
72
73         The following files are part of the old BIND 8 installation
74         and should be removed:
75         /usr/bin/dnskeygen /usr/bin/dnsquery /usr/libexec/named-xfer
76         /usr/sbin/named.restart /usr/sbin/ndc
77
78         The following files have moved to /usr/bin, and should be
79         removed from their old locations:
80         /usr/sbin/nslookup /usr/sbin/nsupdate
81
82 20040914:
83         The format of the pflogd(8) logfile "/var/log/pflog" has changed for
84         architectures that have a 64 bit long type to make it compatible to
85         the standard pcap format. In order to prevent corruption move away
86         any old logfile before using a new pflogd(8).
87
88 20040906:
89         debug.witness_* has been renamed to debug.witness.*.  There are
90         compatibility tunables left in for a few days.  Update loader.conf
91         as necessary.
92
93 20040902:
94         The ifi_epoch change has been reverted because the ABI breakage
95         was too extensive.  If you are running with a kernel/userland
96         containing the initial change (20040830), you should heed the
97         warning about ifconfig incompatibility when upgrading again.
98         With this change, 5.3 and 6.0 ifconfigs and kernels are once
99         again interoperable.
100
101 20040830:
102         A new variable, ifi_epoch, has been added to struct if_data
103         which is part if struct ifnet.  This means all network drivers
104         and network monitoring applications need to be recompiled.
105
106         WARNING WARNING WARNING WARNING WARNING WARNING WARNING
107
108         This also breaks ifconfig compatibility.  An old ifconfig will
109         not work with the new kernel and a new ifconfig will not work
110         with the old.  It is strongly recommended that you make a copy
111         of your old ifconfig before installworld.  If you are installing
112         remotely, you must copy over a new ifconfig before rebooting in
113         to the new kernel.
114
115 20040828:
116         The default configuration for the network stack has been changed
117         such that it now runs without the Giant lock unless configured
118         otherwise.  If you experience network-related instability, you
119         may wish to try setting "debug.mpsafenet=0" or compiling the
120         kernel with "options NET_WITH_GIANT".  Details on the netperf
121         project may be found at:
122
123             http://www.watson.org/~robert/freebsd/netperf/
124
125         Including the 20040828 announcement of configuration change
126         details.
127
128 20040827:
129         PFIL_HOOKS are a fixed part of the network stack now and do not
130         need to be specified in the kernel configuration file anymore.
131
132 20040819:
133         Netgraph changed its message format slightly to align the data
134         portion well on 64 bit machines.
135         Netgraph using utilities (e.g. ngctl, nghook, ppp, mpd,
136         pppoed, bluetooth, ATM) should be recompiled when a new kernel
137         is installed.
138
139 20040817:
140         IPFW has been converted to use PFIL_HOOKS.  This change is
141         transparent to userland and preserves the ipfw ABI.  The ipfw
142         core packet inspection and filtering functions have not been
143         changed, only how ipfw is invoked is different.  Note that
144         "option PFIL_HOOKS" is required to use IPFIREWALL compiled
145         into the kernel or as KLD.
146
147 20040814:
148         The RANDOM_IP_ID option has been replaced by the sysctl
149         net.inet.ip.random_id. If you had RANDOM_IP_ID in your kernel then
150         you may want to add "net.inet.ip.random_id=1" to /etc/sysctl.conf.
151
152 20040807:
153         The size of 'struct ifnet' has changed due to the addition of the
154         if_carp placeholder.  All kernel modules implementing network
155         interfaces must be recompiled as a result.
156
157 20040806:
158         Module loading has been fixed.  Some older installations will
159         drop proper module_path initialization and modules will fail to
160         load properly.  If you have a line in /boot/loader.rc that says:
161         "initialize drop", do (i386 only):
162                 cp /usr/src/sys/boot/i386/loader/loader.rc /boot/loader.rc
163                 chown root:wheel /boot/loader.rc
164                 chmod 444 /boot/loader.rc
165
166 20040802:
167         making /dev/(null|zero) into a module proved to be too unpopular,
168         so this bit has been revoked from the previous (20040801) entry.
169
170 20040801:
171         The /dev/mem, /dev/io /dev/(null/zero) devices are now modules,
172         so you may wish to add them to your kernel config file. See
173         GENERIC for examples.
174
175 20040728:
176         System compiler has been upgraded to GCC 3.4.2-pre. As with any major
177         compiler upgrade, there are several issues to be aware of. GCC 3.4.x
178         has broken C++ ABI compatibility with previous releases yet again
179         and users will have to rebuild all their C++ programs with the new
180         compiler. If you are getting run-time error such as
181         /libexec/ld-elf.so.1: Undefined symbol "_ZNSs20_S_empty_rep_storageE"
182         This entry does apply to you.
183
184         A new unit-at-a-time optimization mode, which is default in this
185         compiler release, is more aggressive in removing unused static
186         symbols. This is the likely cause of 'make buildworld' breakages
187         with non-default CFLAGS where optimization level is set to -O2
188         or higher.
189
190         With the upgrade of the system compiler, the kernel has been upgraded
191         to match the new system compiler.  This makes it impossible to build
192         a new kernel with the old compiler.  Upgrade your system via
193         make buildworld and make kernel (see below) to fix this problem.
194
195 20040727:
196         The size of 'struct ifnet' has changed due to the addition of
197         the IFF_NEEDSGIANT flag (and what it implies).  All kernel
198         modules implementing network interfaces must be recompiled as
199         a result.
200
201 20040716:
202         The sound device drivers are renamed.  `sound' is always required,
203         while `snd_*' should be configured accordingly to your hardware.
204         Refer to NOTES for the detail of the drivers.
205
206 20040710:
207         __FreeBSD_version bumped to 502122.
208
209 20040710:
210         The console initialization on Alpha has been reworked and is now
211         identical to other platforms. This means that the hardcoding of
212         the serial console and the debug port has been removed. As such,
213         hints are now required for the sio(4) driver to become a console
214         or debug port. The NO_SIO option has been decommissioned because
215         of this.
216
217 20040710:
218         A revamp of the debugging code in the kernel with some visible
219         changes beyond just the debugging experience:
220         o  The DDB option is now specific to the DDB debugger backend
221            and should not be used any more for conditional compilation
222            of debugging code for when debugging is enabled. Use the KDB
223            option for this.
224         o  The WITNESS_DDB, DDB_TRACE and DDB_UNATTENDED options have
225            been renamed to WITNESS_KDB, KDB_TRACE and KDB_UNATTENDED
226            respectively. This is in line with the first bullet.
227         o  The remote GDB support has been untangled from DDB and needs
228            to be enabled separately now. Use the GDB option for this.
229         o  The GDB_REMOTE_CHAT option has been removed. Support for this
230            homegrown feature is discontinued. The GDB remote protocol
231            supports console output and it makes sense to use that. 
232         o  The DDB_NOKLDSYM option has been removed. The DDB debugger
233            now supports both direct symbol table lookups as well as KLD
234            symbol lookups through the linker.
235
236 20040708:
237         Bluetooth code has been marked as non-i386 specific.
238         __FreeBSD_version has been bumped to 502121 to mark this change.
239
240 20040702:
241         The native preemption has been added to the kernel scheduler.
242         There is some report that the ULE scheduler was broken in some
243         machines and we encourage users using the ULE scheduler either
244         stick with a known good kernel, or temporarily switch to the 4BSD
245         scheduler as a workaround.
246
247 20040630:
248         The netgraph ABI version number has been incremented to indicate
249         an incompatible change in the ABI. Old netgraph nodes will refuse
250         to attach until recompiled. Netgraph now uses mbuf tags to move
251         metadata and this commit removes its home-grown metadata facility.
252         Nodes should just recompile, unless they use metadata, in which
253         case the changes are simple; the file ng_ksocket.c serves as an
254         example of such changes.
255
256         This also broke i4b, although the compile problem has been papered
257         over.
258
259 20040630:
260         ACPI has been updated to disable known-bad BIOS revisions.  A message
261         will be printed on the console indicating that ACPI has been disabled
262         automatically and that the user should use a newer BIOS, if possible.
263         If you think ACPI does work on your system and want to override
264         this (i.e., for testing), set hint.acpi.0.disabled="0" at the
265         loader prompt.
266
267 20040623:
268         pf was updated to OpenBSD-stable 3.5 and pflogd(8) is privilege
269         separated now. It uses the newly created "_pflogd" user/group
270         combination. If you plan to use pflogd(8) make sure to run
271         mergemaster -p or install the "_pflogd" user and group manually.
272
273 20040622:
274         Network interface cloning has been overhauled.  This change will
275         require a recompile of modules using cloning and modification of
276         external ones to the new API.  __FreeBSD_version has been bumped
277         to 502119 to mark this change.  Additionally, users creating
278         stf(4) interfaces via "ifconfig stf" will need to update their
279         scripts as this will create an interface named "stf" instead of
280         "stf0" and ifconfig will not print "stf0" to stdout.
281
282 20040621:
283         On 20040524, the /etc/rc.d/nsswitch script was modified to
284         automatically create /etc/nsswitch.conf on startup if it did
285         not already exist.  Unfortunately, an error in the man page
286         was carried over to the script, resulting in incorrect
287         nsswitch settings.  The simplest remedy is to remove both
288         /etc/nsswitch.conf and /etc/host.conf; they will be recreated
289         during the next reboot.
290
291 20040614:
292         The return value of sema_timedwait(9) has been changed to
293         make it consistent with cv_timedwait(9).  Be sure to recompile
294         the ips module and any third-party modules which call
295         sema_timedwait.
296
297 20040613:
298         ALTQ is now linked to the build. This breaks ABI for struct ifnet.
299         Make sure to recompile modules and any userland that makes use of
300         sizeof(struct ifnet). In order to get the altq headers in place
301         please recompile and reinstall world.
302
303 20040607:
304         Splitting kern_thread.c into 2 files (adding kern_kse.c)
305         requires that you re-run config after updating your tree.
306
307 20040601:
308         The MIDI drivers have been removed. Until the new module-friendly
309         ones are merged, remove or comment out midi and seq from your
310         kernel configuration.
311
312 20040423:
313         Due to a new option in ipfw (versrcreach) the ipfw(8) command
314         needs to be recompiled.  Normal accept/reject rules without
315         options are not affected but those with options may break until
316         ipfw(8) is recompiled.
317
318 20040420:
319         Due to changes in the callout ABI, kernels compiled after this
320         date may be incompatible with kernel modules compiled prior to
321         20040406.
322
323 20040414:
324         The PCI bus power state stuff has been turned on.  If this causes
325         problems for your system, please disable it using the tunable
326         hw.pci.do_powerstate=0.
327
328 20040412:
329         The bulk of the pci problems have been fixed, although the floppy
330         drive is still broken.
331
332 20040410:
333         A substantial update to the pci bus resource and power management
334         have been committed.  Expect a bumpy ride for a few days until
335         the unanticipated problems have been resolved.
336
337 20040409:
338         Due to changes in the the Yarrow initialization process,
339         /dev/random needs to be fed before operations requiring
340         temp files can succeed in single user mode.  This includes
341         running "make installworld". /dev/random may be fed by running
342         "/etc/rc.d/initrandom start" or with 20040415 source by running
343         "/etc/rc.d/preseedrandom".
344
345 20040322:
346         The debug.mpsafenet tunable controls whether the kernel Giant
347         lock is held across the lower levels of the network stack, and
348         by default is turned off.  In the few days following 20040322,
349         the behavior of debug.mpsafenet will change such that this
350         tunable controls Giant over all levels of the network stack.
351         If you are currently setting debug.mpsafenet to 1, you should
352         set it back to 0 (the default) again during the change-over.
353         An additional note will be added to UPDATING when sufficient
354         locking is merged to permit this to take place.
355
356 20040310:
357         The FreeBSD/sparc64 platform is changing time_t from 32-bits to
358         64-bits.  This is a very major incompatible change, so people
359         using FreeBSD/sparc64 *must* read the UPDATING.64BTT file for
360         detailed instructions on how to make this upgrade.  People
361         upgrading FreeBSD on other platforms can ignore this event.
362
363 20040308:
364         The packet filter (pf) is now installed with the base system. Make
365         sure to run mergemaster -p before installworld to create required
366         user account ("proxy"). If you do not want to build pf with your
367         system you can use the NO_PF knob in make.conf.
368         Also note that pf requires "options PFIL_HOOKS" in the kernel. The
369         pf system consists of the following three devices:
370         device          pf              # required
371         device          pflog           # optional
372         device          pfsync          # optional
373
374 20040303:
375         If you are having trouble with the libc_r -> libpthread transition
376         (see the 20040130 entry), place the following lines at the top of
377         /etc/libmap.conf:
378
379         libc_r.so.5             libpthread.so.1
380         libc_r.so               libpthread.so
381
382         This will cause all programs and libraries linked against libc_r
383         to use libpthread instead.
384
385 20040226:
386         Some sshd configuration defaults have changed: protocol version 1
387         is no longer enabled by default, and password authentication is
388         disabled by default if PAM is enabled (which it is by default).
389         OpenSSH clients should not be affected by this; other clients may
390         have to be reconfigured, upgraded or replaced.
391
392 20040225:
393         The ABIs defined in <resolv.h> and <netdb.h> have been updated
394         to support improved reentrancy.  Multi-threaded programs that
395         reference the "_res" or "h_errno" symbols may experience some
396         problems if they are not recompiled.  Single-threaded programs
397         should remain unaffected.
398
399 20040225:
400         routed has been updated in the base system from the vendor
401         sources, routed v2.27, from rhyolite.com. This change means that
402         for users who use RIP's MD5 authentication feature, FreeBSD
403         -CURRENT's routed is now incompatible with previous versions
404         of FreeBSD; however it is now compatible with implementations
405         from Sun, Cisco and other vendors.
406
407 20040224:
408         The tcpcb structure has changed and makes a recompile of libkvm
409         and related userland network utilities necessary.
410
411 20040222:
412         The cdevsw structure has changed in two externally visible ways.
413         First, the sense of the D_GIANT flag has changed to D_NEEDSGIANT.
414         Second, the d_version field must be filled in with D_VERSION.
415         Drivers outside the tree will need to be updated.
416
417 20040207:
418         The /etc/rc.d/ttys script has been removed. It is no longer
419         necessary since devfs has been mandatory for some time.
420
421 20040130:
422         libkse has been renamed back to libpthread and is now the
423         default threads library.  The gcc -pthread option has also
424         been changed to link to libpthread instead of libc_r.  For
425         alpha and sparc64 machines, libkse is not renamed and links
426         are installed so that libpthread points to libc_r.  Until
427         the ports system is updated to handle this change, it is
428         recommended that folks install an /etc/libmap.conf(5) that
429         maps libc_r to libpthread.  If you have any binaries or
430         libraries linked to libkse, then it is also recommended
431         that you map libkse to libpthread.  Anyone that is using
432         nvidia supplied drivers and libraries should use a libmap.conf
433         that maps libpthread to libc_r since their drivers/libraries
434         do not work with libpthread.
435
436 20040125:
437         ULE has entered into its probationary period as the default scheduler
438         in GENERIC.  For the average user, interactivity is reported to be
439         better in many cases.  On SMP machines ULE will be able to make more
440         efficient use of the available parallel resources.  If you are not
441         running it now, please switch over, replacing the kernel option
442         SCHED_4BSD with SCHED_ULE.
443
444 20040125:
445         Move LongRun support out of identcpu.c, where it hardly
446         belongs, into its own file and make it opt-in, not mandatory,
447         depending on CPU_ENABLE_LONGRUN config(8) option.
448
449 20031213:
450         src/lib/libc/gen/initgroups.c:1.8 now causes logins to fail
451         if the login process is unable to successfully set the
452         process credentials to include all groups defined for the
453         user.  The current kernel limit is 16 groups; administrators
454         may wish to check that users do not have over 16 groups
455         defined, or they will be unable to log in.
456
457 20031203:
458         The ACPI module has been reactivated.  It is no longer required
459         to compile ACPI support into kernels statically.
460
461 20031112:
462         The statfs structure has been updated with 64-bit fields to
463         allow accurate reporting of multi-terabyte filesystem
464         sizes. You should build world, then build and boot the new kernel
465         BEFORE doing a `installworld' as the new kernel will know about
466         binaries using the old statfs structure, but an old kernel will
467         not know about the new system calls that support the new statfs
468         structure.
469         Note that the backwards compatibility is only present when the
470         kernel is configured with the COMPAT_FREEBSD4 option. Since
471         even /bin/sh will not run with a new kernel without said option
472         you're pretty much dead in the water without it. Make sure you
473         have COMPAT_FREEBSD4!
474         Running an old kernel after a `make world' will cause programs
475         such as `df' that do a statfs system call to fail with a bad
476         system call. Marco Wertejuk <wertejuk@mwcis.com> also reports
477         that cfsd (ports/security/cfs) needs to be recompiled after
478         these changes are installed.
479
480         ****************************DANGER*******************************
481
482         DO NOT make installworld after the buildworld w/o building and
483         installing a new kernel FIRST.  You will be unable to build a
484         new kernel otherwise on a system with new binaries and an old
485         kernel.
486
487 20031112:
488         Some netgraph string length constants have been changed. This
489         change requires the netgraph kernel modules and all netgraph
490         userland components to be in sync. Especially users who require
491         netgraph to boot need to make sure to have world and kernel in
492         sync before rebooting.
493
494 20031111:
495         Hyperthreading logical CPU's are no longer probed by default
496         when using the MP Table.  If ACPI is being used, then logical
497         CPUs will be probed if hyperthreading is enabled in the BIOS.
498         If ACPI is not being used and hyperthreading is enabled in the
499         BIOS, logical CPUs can be enabled by building a custom kernel
500         with the option MPTABLE_FORCE_HTT enabled.
501
502 20031103:
503         The i386 APIC_IO kernel option has been replaced by
504         'device apic'.  The ACPI module has also been temporarily
505         disabled, so ACPI must be statically compiled into your
506         kernel using 'device acpi' if you wish to use the ACPI driver.
507
508 20031031:
509         The API and ABI of struct ifnet have been changed by removing
510         the if_name and if_unit members and replacing them with
511         if_xname, if_dname, and if_dunit.  All network drivers and most
512         userland programs which include net/if_var.h must be updated
513         and recompiled.  __FreeBSD_version has been bumped to 501113 to
514         reflect this change.
515
516 20030928:
517         Changes to the cdevsw default functions have been made to remove
518         the need to specify nullopen() and nullclose() explicitly.
519         __FreeBSD_version bumped to 501110.
520
521 20030926:
522         kiconv(3) has been added. mount_msdosfs(8), mount_ntfs(8) and
523         mount_cd9660(8) need to be in sync with kernel.
524
525 20030925:
526         Configuring a system to use IPFILTER now requires that PFIL_HOOKS
527         also be explicitly configured.  Previously this dependency was
528         magically handled through some cruft in net/pfil.h; but that has
529         been removed.  Building a kernel with IPFILTER but not PFIL_HOOKS
530         will fail with obtuse errors in ip_fil.c.
531
532 20030923:
533         Fix a bug in arplookup(), whereby a hostile party on a locally
534         attached network could exhaust kernel memory, and cause a system
535         panic, by sending a flood of spoofed ARP requests. See
536         FreeBSD-SA-03:14.arp.
537
538 20030915:
539         A change to /etc/defaults/rc.conf now causes inetd to be started
540         with `-C 60' if it is not overridden in /etc/rc.conf.  This
541         causes inetd to stop accepting connections from an IP address
542         that exceeds the rate of 60 connections per minute.
543
544 20030829:
545         The following rc.d scripts have been removed and should be
546         deleted from your installation: atm2.sh atm3.sh devdb
547         localdaemons network1 network2 network3. Depending on when
548         you last updated world and used mergemaster(8) you may or
549         may not have problems during the rc boot sequence. The simplest
550         solution is an 'rm -rf /etc/rc.d/*' and then 'mergemaster -i'.
551         The atm2.sh atm3.sh and devdb scripts were removed some time
552         ago, so depending on when you installed -CURRENT these scripts
553         may or may not exist on your system.
554
555 20030824:
556         ATAng has been committed. You need to build world as sys/ata.h
557         has changed, and userland atacontrol depends on it.
558         If you use ATA SW raids you need "device ataraid" in your
559         kernel config file, as it is no longer pulled in automatically.
560
561 20030819:
562         The OFW_NEWPCI option has been turned on in the Sparc64 GENERIC kernel.
563         Among other things, this changes the device enumeration to be
564         closer to Solaris.  Be aware that, this can even cause the machine
565         to not boot without manual intervention before the fstab is adjusted.
566
567 20030728:
568         All current USB and Firewire quirks in da(4) have been deprecated
569         and will be removed for 5.2.  If this causes failure for your
570         umass(4) devices, enable "options DA_OLD_QUIRKS" in your kernel
571         and send the output of "camcontrol inquiry da0" to scsi@freebsd.org
572         so the quirk can be re-enabled.
573
574 20030724:
575         Problems with entry 20030714 have been corrected and no known issues
576         with /rescue and -j exist for host systems after this point in time.
577
578 20030722:
579         FPU-less support has been removed from FreeBSD.  Chances are you won't
580         notice.  386+387 support should still work after this change, but
581         it is now a minimum requirement for the i386 port that you have real
582         FPU hardware.
583
584 20030714:
585         Some people are having problems with changes related to /rescue.
586         If you are building -j N, you will need to define NO_RESCUE.  Others
587         will need to define it if /rescue has issues with their environment.
588         People should report those issues to current@.
589
590 20030711:
591         gcc was upgraded to 3.3.  You are advised to not build -DNOCLEAN
592         across this point.  Further, it might be a good idea to remove
593         /usr/obj.
594
595 20030610:
596         Remove deprecated locale names and transition period code
597         for them, finishing switching to the new scheme. Check your
598         LANG environment variable.
599
600 20030609:
601         CCD has been changed to be a fully GEOMified class.  Kernel
602         and ccdconfig(8) needs to be in sync, this is particularly
603         important to remember beforehand if your source tree is on
604         a ccd device.  Consider making a copy of the old ccdconfig
605         into /boot/kernel.good or wherever you keep your backup
606         kernel.
607
608 20030605:
609         There was a small window in which sed(1) was broken.  If you
610         happen to have sed(1) installed during that window, which is
611         evidenced by an inability to build world with the failure
612         given below, you need to manually build and install sed(1)
613         (and only sed(1)) before doing anything else. This is a one-
614         time snafu. Typical failure mode:
615
616         In file included from /usr/src/contrib/binutils/bfd/targets.c:1092:
617         targmatch.h:7:1: null character(s) ignored
618         targmatch.h:12:1: null character(s) ignored
619         targmatch.h:16:1: null character(s) ignored
620                 :
621
622         The window of "sed(1)-uction" is from Wed Jun 4 15:31:55 2003 UTC
623         to Thu Jun 5 12:10:19 2003 UTC (from rev 1.30 to rev 1.31 of
624         usr.bin/sed/process.c).
625
626 20030505:
627         Kerberos 5 (Heimdal) is now built by default. Setting
628         MAKE_KERBEROS5 no longer has any effect. If you do NOT
629         want the "base" Kerberos 5, you need to set NO_KERBEROS.
630
631 20030502:
632         groff has been updated.  If you try to do a buildworld and
633         get an infinite loop in troff, update to May 4th or newer.  If you
634         have a newer kernel than userland, you may need to set the OSRELDATE
635         to 500110 in your environment before starting a buildworld.
636
637 20030501:
638         The old rc system has been removed.  Please report any problems
639         to freebsd-rc@yahoogroups.com, and/or freebsd-current@freebsd.org.
640         Your personal versions of these files will not be removed, so you can
641         continue to use them. However, you should take great care when updating,
642         especially when using mergemaster, since the compatibility code that
643         utilizes these old scripts has also been removed.
644
645 20030423:
646         A bug has been fixed in /dev/devctl which would cause devd
647         to hang on boot, were it not for a workaround in devd.  The
648         work around in devd will be removed around 20030507.  You
649         have until then to upgrade your kernel before updating
650         userland.  In general, you should have a userland and
651         kernel that's in sync with each other.  However, given the
652         effects of this bug (hang on boot when starting devd), some
653         allowances are made.
654
655 20030329:
656         Alphas with libc from between 20030312 and 20030329 exhibit
657         floating point exceptions (FPEs), most notably in awk(1)
658         while upgrading the system through a buildworld.
659
660         So, to successfully upgrade your Alpha, you must either
661         downgrade your libc.so to a pre-20030312 version, or update
662         /usr/share/mk/bsd.cpu.mk to revision 1.26 which adds -mieee
663         to CFLAGS, then forcibly rebuild and install libc:
664
665         cd /usr/src/lib/libc && \
666             make cleandir && make obj && \
667             make -DNOMAN -DNOPROFILE all && \
668             make -DNOMAN -DNOPROFILE install
669
670 20030208:
671         sendmail 8.12.7 has been imported.  It has one important
672         change for IPv6 users.  The default submit.mc now uses
673         '[127.0.0.1]' instead of 'localhost' meaning only IPv4 is
674         used to connect to the MTA.  Users on IPv6-only machines
675         will need to edit /etc/mail/submit.mc appropriately.
676
677 20030128:
678         NODEVFS option has been removed and DEVFS thereby made standard.
679         This makes all references to MAKEDEV obsolete, and they should
680         be removed when convenient.
681
682 20030126:
683         The name of the device for the ofw console has changed, sparc64 users
684         must run mergemaster to update their installed /etc/ttys.
685
686 20030125:
687         The scheduler framework has grown a second scheduler and consequently
688         you must specify one and only one scheduler in your kernel config.
689         The cvs config files have been updated to use the old scheduler
690         which may be selected via 'options SCHED_4BSD'.  If you would like
691         to try the new, much more experimental, scheduler please try
692         'options SCHED_ULE' and contribute to the arch@ discussion.
693
694 20030115:
695         A new version of the wi driver has been imported into the tree.
696         One now must have device wlan in the config file for it to operate
697         properly.
698
699         In addition, there have been some changes to how wi devices are
700         configured for point to point links to bring it more in line
701         with the former way of doing things, as well as compatibility
702         with NetBSD.
703
704 20021222:
705         For a period after the GCC 3.2.1 import (from 12/04 to 12/22), GCC
706         used an incompatible form of ABI for returning structures and unions
707         which FreeBSD's GCC maintainers were not aware of relative to previous
708         versions of FreeBSD.  We have gone back to the ABI for now, and any
709         code compiled which is required to interoperate with other code (not
710         built at the same time) returning structs or unions should be
711         rebuilt.
712
713 20021216:
714         A name change in /etc/netconfig has been reverted to stay
715         compatible with suns TIRPC and also with NetBSD. You need
716         to run mergemaster after make world. A new libc does still work
717         with an outdated /etc/netconfig for some time, but you'll get
718         a warning. This warning will be removed in 20030301.
719
720 20021202:
721         The recent binutils upgrade marks a kernel flag day on
722         sparc64: modules built with the old binutils will not work
723         with new kernels and vice versa. Mismatches will result in
724         panics.  Make sure your kernel and modules are in sync.
725
726 20021029:
727         The value of IPPROTO_DIVERT has changed.  Make sure to keep
728         your kernel, netstat, natd and any third-party DIVERT
729         consumers in sync.
730
731 20021024:
732         Old, compatibility slices have been removed in GEOM kernels.
733         This means that you will have to update your /etc/fstab to
734         not use disk devices of the form /dev/ad0a.  Instead, you
735         now must specify /dev/ad0s1a, or whatever slice your FreeBSD
736         partition really is on.  The old device names have gone
737         away, so if you use them anywhere else, you must also adjust
738         those uses.  (This doesn't affect the disks formatted in
739         the ``dangerously-dedicated'' mode.)
740
741 20021023:
742         Alphas with kernels from between 20020830 and 20021023 and/or
743         rtld (ld-elf.so.1) older than 20021023 may experience problems
744         with groff while doing a buildworld (kernel: "out of memory",
745         fixed in rev 1.129 of kern/imgact_elf.c; rtld: "too few PT_LOAD
746         segments", fixed in rev 1.8 of libexec/rtld-elf/map_object.c).
747
748         So, to successfully upgrade your Alpha, you must either
749         upgrade your kernel and rtld first (which might be a bit
750         tricky), or avoid running the bootstrapped groff during the
751         "transitional" buildworld.  To avoid running groff during the
752         transitional upgrade run make buildworld with -DNOMAN,
753         -DNO_SHAREDOCS, and -DNO_LPR.
754
755 20020831:
756         gcc has been upgraded to 3.2.  It is not all binary compatible
757         with earlier versions of gcc for c++ programs.  All c++
758         programs and libraries need to be recompiled.
759
760         Also, if you encounter g++ issues, rm /usr/include/g++/* before
761         doing an installworld to make sure that stale files are removed.
762
763 20020827:
764         Our /etc/termcap now has all the entries from the XFree86 xterm
765         almost unchanged. This means xterm now supports color by default.
766         If you used TERM=xterm-color in the past you now should use
767         TERM=xterm. (xterm-color will lead to benign warnings).
768
769 20020815:
770         A "bug" in gcc(1) that was hiding warning in system headers was
771         fixed.  It's probably time to add -DNO_WERROR to your make line
772         again.
773
774 20020729:
775         COPY is being deprecated.  The 20010530 change was reverted, as
776         it causes far more pain than was expected, and to always compare
777         before installing, please use INSTALL="install -C" again.  The
778         -C option is now silently ignored when used with the -d option.
779
780 20020702:
781         Problems with libc_r clients like KDE and GNOME have been resolved.
782         There are still some minor problems with some signals but the
783         system is stable enough for general use again. SMP is less so than UP
784         but each can successfully complete multiple buildworlds.
785         Libkvm needs to be recompiled due to KSE.
786
787 20020701:
788         Now would be a bad time to upgrade.  Something in or near the
789         KSE commit totally broke programs using libc_r like KDE and
790         GNOME.
791
792 20020511:
793         The k5su utility installed as part of Kerberos 5 is no longer
794         installed with the set-user-ID bit set by default.  Add
795         ENABLE_SUID_K5SU=yes to /etc/make.conf to have it installed
796         with the set-user-ID bit set.
797
798 20020510:
799         Gcc 3.1 debugging format (cc -g) has changed from STABS to DWARF2.
800         Unfortunately our native GDB (at version 4.18) does not understand
801         the DWARF2 debugging format.  Thus you must use `gcc -gstabs+' to
802         generated debugging information for our native GDB.
803
804 20020510:
805         Due to the way CVS works, it may not properly update src/contrib/gcc
806         to the 3.1 sources.  The easiest fix is to `rm -rf' src/contrib/gcc
807         and then do a cvs update.
808
809 20020421:
810         When exec'ing set[ug]id executables, the kernel now ensures that the
811         stdio file descriptors (0..2) are open.  See FreeBSD-SA-02:23.stdio.
812
813 20020404:
814         New sendmail startup scripts have been installed to make it
815         easier to use alternative MTAs with FreeBSD.  Setting the rc.conf
816         variable sendmail_enable to "NO" no longer prevents any sendmail
817         daemons from starting.  Instead, either set sendmail_enable to
818         "NONE" or change mta_start_script to a script for starting
819         an alternative MTA.  Setting mta_start_script to "" will
820         also prevent any MTA from being started at boot.
821
822 20020403:
823         UCONSOLE is no longer a valid kernel option.
824
825 20020315:
826         FreeBSD 5.0 DP-1 was basically branched today.
827
828 20020225:
829         Warnings are now errors in the kernel.  Unless you are a developer,
830         you should add -DNO_WERROR to your make line.
831
832 20020217:
833         sendmail 8.12.2 has been imported.  The sendmail binary is no
834         longer a set-user-ID root binary and the infrastructure to support
835         command line mail submission has changed.  Be sure to run
836         mergemaster (especially for updating /etc/rc, /etc/defaults/rc.conf,
837         and /etc/mail) and read /etc/mail/README for more details.
838
839         Due to the import of sendmail 8.12.2, a new user and group are
840         required in order for sendmail to run as a set-group-ID
841         binary.  A 'make installworld' will use the new user and group
842         to set the owner and group of /var/spool/clientmqueue and will
843         fail if the new user and group do not exist.  The 'smmsp' user
844         and group must be merged from src/etc/group and
845         src/etc/master.passwd before using 'make installworld'.
846         'mergemaster -p' will do this.  You may need to install
847         mergemaster before this will work if you are updating from a
848         very old version of current.  The updating recipe has changed
849         as of this date.
850
851 20020112:
852         The preferred configuration method for PAM is now /etc/pam.d/
853         rather than /etc/pam.conf.  If you have an unmodified
854         pam.conf, just delete it after your next mergemaster run.  If
855         you have local modifications, you can use
856         /usr/src/etc/pam.d/convert.pl to incorporate them into your
857         /etc/pam.d.
858
859         Please see the following url for more details:
860 http://www.freebsd.org/cgi/mid.cgi?db=mid&id=<xzp6667fyoa.fsf@flood.ping.uio.no>
861 20011229:
862         If anyone here is already using the new rc.conf(5) variable
863         networkfs_types, please note that it has changed
864 http://www.freebsd.org/cgi/mid.cgi?db=mid&id=<9744.1009655556@axl.seasidesoftware.co.za>
865
866 20011220:
867         sys/i4b/driver/i4b_ispppsubr.c has been retired.  This file
868         started out its life in the ISDN4BSD project as an offspring
869         from sys/net/if_spppsubr.c, which eventually got a life of its
870         own.  All the accumulated features and bug fixes of the i4b
871         version have now been merged back into the base system's
872         version now.  The only user-visible change resulting from this
873         is that i4b's sppp(4) interfaces are to be managed with
874         spppcontrol(8) again, since ispppcontrol(8) has been retired
875         as well.  (There has never been rc file support for
876         ispppcontrol in -current, but only in -stable.  That will be
877         reverted by the time the changes are MFCed.)
878
879 20011215:
880         The fdc(4) driver has been updated and now automatically
881         recognizes media in `standard' formats (like 1440 KB and
882         720 KB for a 3.5" high-density drive) when accessing the
883         default device node (e. g. /dev/fd0).  The old variety of
884         floppy device nodes /dev/fd*.* is no longer present by
885         default, devices can be created (in DEVFS) on demand.  They
886         will need to be customized then for `odd' densities using
887         fdcontrol(8).
888
889 20011209:
890         The bugs in procfs' debugging support code have been fixed,
891         and truss(1) now works again.
892
893 20011207:
894         Daily security checks have been split out to use the periodic(8)
895         scripts.  Some change in configuration may be necessary.  Please
896         see
897 http://www.freebsd.org/cgi/mid.cgi?db=mid&id=<20011207155805.R8975@blossom.cjclark.org>
898         for details.
899
900 20011204:
901         sos added VCD/SVCD support to ata driver and that needs the
902         kernel and burncd to be in sync.
903
904 20011203:
905         The procfs pseudo-filesystem has now been converted to use the
906         pseudofs framework.  If you have 'options PROCFS' in your
907         kernel config, you'll need to add 'options PSEUDOFS' if it's
908         not there already.
909
910         This change temporarily breaks truss(1); use ktrace(1) instead
911         until the issue has been resolved.
912
913 20011202:
914         A security hole in OpenSSH involving `UseLogin yes' has been
915         patched.
916
917 20011126:
918         You need to remove /usr/obj/.../usr.bin/tip before rebuilding
919         after this date.  You need to do this only once.
920
921 20011103:
922         Most of the awk issues have been resolved.  Some rough
923         edges may be left, but for the most part things should be
924         back to "normal." For CURRENT's usual definition of "normal."
925
926 20011030:
927         Awk has been upgraded to the one true awk from bell labs.  Expect
928         choppy waves in the upgrade process.
929
930 20011030:
931         The asr driver problem has been resolved.
932
933 20011027:
934         Due to changes in other parts of the system, the asr driver
935         now causes the system to panic on boot.  Do not use it pending
936         correction.  Comment it out of any kernel config file that you
937         try to use from this date forward.
938
939 20011025:
940         When crossbuilding, use TARGET=xxx where you used to use
941         MACHINE=xxx.  You don't need to set TARGET_ARCH and TARGET,
942         unless you are changing both of them.  To cross build pc98 on
943         an alpha, for example, you need to set TARGET=pc98 and
944         TARGET_ARCH=i386.
945
946 20011001:
947         The kernel interface that burncd depends on has changed.
948         You must recompile both the kernel and userland applications
949         at the same time.
950
951 20010929:
952         When crossbuilding, please set TARGET_ARCH rather than
953         MACHINE_ARCH to indicate the target.  In the future, one will
954         set TARGET_MACHINE where you set MACHINE now.  At the moment,
955         setting MACHINE alone for same MACHINE_ARCH machines works
956         (eg, you can build pc98 on an i386 machine and vice versa).
957
958 20010927:
959         Some weird problems result from using ACPI on some machines.
960         To disable ACPI you can add
961                 hint.acpi.0.disabled="1"
962         to /boot/loader.conf (or by putting set X=Y at the boot
963         loader "ok" prompt).
964
965         Alternatively, you can remove it from /boot/kernel/acpi.ko
966         or use the MODULES_OVERRIDE function in your kernel config
967         file and not list acpi in that list.
968
969 20010924:
970         The buildworld has been fixed.  You may need to install
971         the 4.x compatibility libraries for some old binaries
972         to work.  Add COMPAT4X=true to your /etc/make.conf to
973         get them installed on every installworld, or execute the
974         following to get them installed only once:
975                 cd src/lib/compat/compat4x.<arch>
976                 make all install
977         You will see ``__stdoutp undefined'' until you do this.
978
979 20010919:
980         There's a bug in the world build process.  The cross-tools
981         are build with the NEW headers, but the OLD libc.a.  This
982         leads to all kinds of problems with the new libc.  A temporary
983         workaround is to add
984                 CFLAGS="-O -pipe -D_OLD_STDIO"
985         before building world when upgrading from 4.x to current.  This
986         can be removed afterwards.
987
988         A proper fix to the buildworld target is needed.
989
990 20010918:
991         Peter has committed his new kthread nfs client/server code.
992         NFS may be unstable after this date.
993
994 20010912:
995         KSE has hit the tree.  Lots of things are now different in
996         the kernel.  While a few problems were introduced in the
997         initial commit, most of the major ones have been found and
998         corrected.
999
1000 20010901:
1001         In OLDCARD, CardBus bridges appear to be stable.  The work
1002         arounds described in the 20010604 entry are now no longer
1003         necessary and will be ignored.  Most insert/remove problems
1004         have been rectified around this date.
1005
1006 20010823:
1007         named now runs as user bind and group bind rather than as
1008         root.  If named_enable is set to YES in /etc/rc.conf, ensure
1009         that user bind is available in /etc/passwd (using vipw(8))
1010         and that group bind is available in /etc/group.  Also make
1011         sure that user or group bind has read (and not write)
1012         permission for your name server configuration and that it
1013         has read and write permission for your slave zone files and
1014         directory.
1015
1016         If you wish to continue to run named as root (a less secure
1017         alternative), add a line to /etc/rc.conf saying
1018
1019                 named_flags=
1020
1021 20010709:
1022         The PAM libraries have had an API upgrade that is beyond
1023         the ability of the shared library major number to handle.
1024         It is manifested by PAM-using ports dumping core. The
1025         solution is to rebuild those ports.
1026
1027 20010628:
1028         The kernel compile module has moved from src/sys/compile/FOO
1029         to src/sys/${MACHINE}/compile/FOO.
1030
1031 20010625:
1032         The pccard modem issue from 20010613 has been corrected.
1033         OLDCARD support is still a little weak in -current.  slot 1 is
1034         known not to work on some TI based cardbus bridges.  Some
1035         cardbus bridges do not properly detect insert/removal events.
1036         IRQ configuration needs more safety belts.
1037
1038 20010617:
1039         Softupdates problems have been corrected.
1040
1041 20010614:
1042         Peter ripped out the linkerset support.  You must, as always,
1043         rerun config after you cvsup if you are using the traditional
1044         kernel building methods.
1045
1046 20010613:
1047         pccard modems may not work with current after 20010604 date.  Some
1048         do, others result in panics.  *MAKE*SURE* that you update your
1049         config and /etc/rc.conf ala the 20010604 entry, or you will have
1050         problems (this issue will be fixed, it just hasn't been yet).
1051
1052 20010613:
1053         SOFTUPDATES seem to be broken since the middle of May or so.  Do not
1054         use them in current.  You can disable softupdates on all mounted
1055         partitions, or remove SOFTUPDATES the kernel config file.
1056
1057 20010612:
1058         After Peter's commits to the hints code, people have been noticing
1059         that certain devices are attached (or try to) twice.  This is due
1060         to having both static hints as well as a /boot/device.hints.  To
1061         work around this issue, please use only one or the other mechanism
1062         until this bug is fixed.
1063
1064         Please note that a feature of config is that if you have config
1065         file FOO and FOO.hints, it automatically adds FOO.hints to the
1066         hints.c file, whether you want it to or not.
1067
1068 20010610:
1069         Locale names have changed to match other systems better.
1070
1071 20010604:
1072         pccard support for pci cards has been committed.  You must change
1073         your /etc/pccard.conf irq lines.  It must match the irq used by
1074         pcic device.  Interrupt storms may result if you fail to do this.
1075         Interrupt storms look a lot like a hang.
1076
1077         You must also install a new pccardd, otherwise you will get an
1078         interrupt storm at card reset time (just after it tells you what
1079         it is).
1080
1081         pccardd_flags="-I" is necessary for the time being.  It tells pccardd
1082         not to ask the kernel if the interrupt is really free or not before
1083         using it.  You can either change the /etc/pccard.conf irq lines to
1084         match pcic, or add "-i X" to the pccardd_flags.
1085
1086 20010530:
1087         INSTALL=install -C is being deprecated.  If you want to do this,
1088         use COPY=-C instead.  The former method will be supported for only
1089         a limited time.  If you see
1090
1091 install: warning: the -d and -C options may not be specified together
1092
1093         in your makeworld, then you need to migrate towards using
1094         COPY=-C.
1095
1096 20010525:
1097         It appears that vm is now stable enough to use again.  However,
1098         there may be other problems, so caution is still urged.  alpha
1099         definitely is in bad shape.
1100
1101 20010521:
1102         Minor repo damage has happened.  This may cause problems
1103         with cvsup of ports.  If you get errors, please see
1104         http://www.FreeBSD.org/cgi/query-pr.cgi?pr=27495
1105         at the bottom for details on a workaround.  The error message
1106         is
1107 Updater failed: Cannot delete "/usr/ports/www/jakarta-tomcat/files": Directory not empty
1108
1109 20010520:
1110         Vm and/or swapping are busted on -current.  Please be patient.
1111
1112 20010519:
1113         pccard has had much reorganizational work done to it over
1114         the past few days.  Everything should still work, but if
1115         not, please contact imp@freebsd.org.
1116
1117 20010517:
1118         ata ioctl changed.  Make sure to recompile both kernel and
1119         userland at the same time.
1120
1121 20010517:
1122         New ncurses imported.
1123
1124 20010512:
1125         DEVFS is now opt out, not opt in.  Barring major problems, this
1126         will be the only way to go starting July 1.
1127
1128 20010504:
1129         OpenSSH has been updated to 2.9.  Some defaults are different,
1130         including RhostsRSAAuthentication, which changes from yes to no.
1131
1132 20010502:
1133         Perl breakage in 20010501 was corrected at 14:18:33 PDT.
1134
1135 20010501:
1136         Building perl was broken at 02:25:25 PDT.
1137
1138 20010430:
1139         The bug in 20010429 was corrected at 07:35:37 PDT.  It is safe to
1140         go back in the water.
1141
1142 20010429:
1143         A bad bug was committed at 04:48:42 PDT.  Don't use kernels after
1144         this date, but before the correction date.
1145
1146 20010423:
1147         old fsck and new kernel interactions appear to have been fixed.
1148
1149 20010411:
1150         fsck and the kernel were changed to handle some optimizations
1151         to directory layout.  This breaks backward compatibility.
1152         Update only if you understand that you must not use the old
1153         fsck with the new kernel ever.
1154
1155 20010330:
1156         fsck has changed the meaning of the pass column in /etc/fstab.
1157         Please see the cvs commit to fsck.8 or the fsck.8 man page for
1158         details.  It is unclear if changes to /etc/fstab are necessary.
1159
1160 20010319:
1161         portmap had changed name to rpcbind for maximum POLA in your
1162         current world.  /etc/hosts.{allow,deny} needs changes.  nfs and
1163         other rpc based programs that rely on portmapper will not work
1164         without updates to /etc/hosts.{allow,deny} and /etc/netconfig.
1165
1166 20010315:
1167         ata subsystem changes.  ATA_ENABLE_ATAPI_DMA, ATA_ENABLE_WC
1168         and ATA_ENABLE_TAGS are no longer kernel options.  They have
1169         been replaced by tunables.  See ata.4 for details.
1170
1171 20010312:
1172         The fxp driver was converted to use miibus.  If you compile
1173         fxp into your kernel statically, you will need to add miibus.
1174
1175 20010312:
1176         The wi device now defaults to BSS (infrastructure) mode
1177         instead of ad-hoc.
1178
1179 20010310:
1180         /dev/urandom should be a symbolic link to /dev/random now.
1181         Users of current not using DEVFS need to run MAKEDEV std.
1182         ssh might not work if you don't.
1183
1184 20010303:
1185         The ed driver has been updated.  It now allows mii attachments,
1186         which means that you must include the miibus in your kernel if
1187         you use the ed driver.
1188
1189 20010220:
1190         The problems with libc have been corrected.  It is now mostly
1191         safe to go back into the water.
1192
1193 20010211:
1194         The size of FILE was changed.  This breaks upgrading.  If
1195         you must upgrade, be prepared for pain.  It also breaks almost
1196         all binaries that you've compiled on -current.  You are warned
1197         that before upgrading would be a good time to do a level 0
1198         dump of your system.  No, really, I mean it this time.
1199
1200         To get to the new system, you'll need to use the following
1201         workaround.  Hopefully this can be sorted out so that we
1202         don't have to move this to the updating section.
1203
1204         To get around the installworld problem, do:
1205                 # cd /usr/src/usr.bin/sed
1206                 # make install
1207                 # cd /usr/src
1208                 # make installworld
1209         If that doesn't work, then try:
1210                 # make -k installworld
1211                 # make installworld
1212
1213 20010207:
1214         DEVFS is now the default.  If you use vinum, make sure that you
1215         do not include devfs in your kernel as problems result.
1216
1217 20010205:
1218         FFS_ROOT and CD9660_ROOT have been removed or deprecated.
1219         Remove them from your config.
1220
1221 20010122:
1222         ****************************** WARNING ******************************
1223                         buildkernel has been changed slightly
1224         ****************************** WARNING ******************************
1225         KERNCONF replaces the variable KERNEL for buildkernel.  You
1226         should update your scripts and make.conf accordingly.
1227
1228 20010119:
1229         config has changed to allow DEV_FOO as a replacement for NFOO.
1230         This requires a new config to build correctly.
1231
1232 20010116:
1233         The kernel option I386_CPU is now mutually exclusive with the
1234         other cpu types. If you have an i386 system, be sure that it
1235         only had this line.  Remove it for all other configurations.
1236
1237 20010110:
1238         Changes to the kernel require it and burncd be in sync.
1239
1240 20010102:
1241         Everyone who has hw.sndunit set to something in
1242         /etc/sysctl.conf, it is now hw.snd.unit.
1243
1244 20010101:
1245         ex and vi were broken by some changes to sys/queue.h.  If you
1246         have a bad vi, you will see make buildworld fail with a core
1247         dump while building termcap.  You can work around this problem
1248         by adding -k to your make buildworld.  This will cause the
1249         build to complete and install a new vi.  Once that's done, you
1250         can rebuild again without the -k to pick up anything that
1251         might have been ignored by the -k option.
1252
1253         Others have suggested that you can just rebuild libc if your
1254         vi/ex is dynamically linked, but I've not received any reports
1255         of this working.
1256
1257 20001228:
1258         There have been some changes to libcrypt in -current.  The
1259         libscrypt/libdescrypt symlink silliness is gone and the installed
1260         libcrypt is fully functional.  Be aware of this.
1261
1262 20001218:
1263         Linksys Fast Ethernet PCCARD cards supported by the ed driver
1264         now require the addition of flag 0x80000 to their config line
1265         in pccard.conf(5).  This flag is not optional.  These Linksys
1266         cards will not be recognized without it.
1267
1268 20001205:
1269         Important new FreeBSD-version stuff: PAM support has been worked
1270         in, partially from the "Unix" OpenSSH version.  This requires
1271         adding the following in pam.conf:
1272
1273         sshd    auth    sufficient      pam_skey.so
1274         sshd    auth    required        pam_unix.so         try_first_pass
1275         sshd    session required        pam_permit.so
1276
1277 20001031:
1278         cvs updated to 1.11.
1279
1280 20001020:
1281         The random device needs more entropy, so you need to make sure
1282         that you've run mergemaster to get a /etc/rc which will seed
1283         /dev/random.  If you don't and the system hangs after ldconfig,
1284         then banging on the keyboard randomly until it unhangs is one
1285         workaround.
1286
1287 20001010:
1288         ****************************** WARNING ******************************
1289                                 Sendmail has been updated.
1290         ****************************** WARNING ******************************
1291         o mail.local(8) is no longer installed as a set-user-id binary.
1292         o sendmail(8) is now built with STARTTLS support unless NO_OPENSSL
1293           is set.
1294         o The default /etc/mail/sendmail.cf disables the SMTP EXPN and VRFY
1295           commands.
1296         o Now using sendmail's version of vacation(1).
1297         o The sendmail cf building tools (contrib/sendmail/cf) are installed
1298           in /usr/share/sendmail/cf.
1299         o sendmail.cw changed to local-host-names
1300
1301         More details can be found at
1302                 http://people.freebsd.org/~imp/UPDATING/sendmail-20001010
1303
1304 20001009:
1305         The ports tree's new layout is in place.  Be sure to update
1306         your entire ports tree, or you will have problems.
1307
1308 20001006:
1309         The perl build procedure no longer installs miniperl, nor uses
1310         the installed miniperl.  It is recommended that you delete
1311         /usr/bin/miniperl.
1312
1313 20001005:
1314         This weekend the ports tree will be updated to a new layout.
1315         It will be in an inconsistent state until noted in the UPDATING
1316         file, or with asami-san's message to the relevant mailing
1317         lists.  With this new layout, you'll need to update the whole
1318         tree for anything to work.
1319
1320 20000928:
1321         There was a change in the passwd format.  Need more information.
1322
1323 20000916:
1324         /boot/kernel/kernel.ko -> /boot/kernel/kernel change has taken
1325         place.  Please update boot loader (not the boot blocks) at the
1326         same time as your kernel.
1327
1328 20000914:
1329         The new pmtimer device is necessary for laptops.  Failure to
1330         include the device will cause suspended laptops losing time
1331         when they resume.  Include
1332                 device          pmtimer
1333         in your config file and
1334                 hint.pmtimer.0.at="isa"
1335         to your /boot/device.hints file.
1336
1337 20000911:
1338         The random device has been turned into a (pseudo-)device,
1339         rather than an option. The supplied kernel config files have
1340         been updated. You will need to do something similar in your
1341         own kernel config file.
1342         Remove:
1343                 options         RANDOMDEV
1344         Add:
1345                 device          random
1346         If you prefer to load the loadable module, you need to do
1347         nothing.
1348
1349 20000909:
1350         The random device module has been renamed from randomdev.ko to
1351         random.ko. You will need to edit your /boot/loader.conf to
1352         reflect this if you load this module at boot time.
1353         The line should read:
1354                 random_load="YES"
1355
1356 20000907:
1357         The SMPNG commit has happened.  It should work, but if it
1358         doesn't, fallback to the PRE_SMPNG CVS tag.  There are likely
1359         to be a variety of minor issues.  Please see 20000905 to make
1360         sure you don't have model loading problems which might at
1361         first blush appear related to SMP.
1362
1363 20000906:
1364         nsswitch has been imported from NetBSD.  Among other things,
1365         this means that /etc/host.conf is no longer used.  See
1366         nsswitch.conf(5) instead.  Note that at boot time rc.network
1367         will attempt to produce a new nsswitch.conf file for you if you
1368         don't have one, and you have host.conf.
1369
1370 20000905:
1371         The ucred structure changed size.  This breaks the interface
1372         that mountd uses.  Trying to use an older mountd with a newer
1373         kernel guarantees a panic.  This means that you need to use
1374         kernels newer than today only with matching mountd, but you
1375         needed to do that anyway with the boot loader changes.
1376
1377 20000905:
1378         The boot loader has been updated.  The new default kernel is
1379         now /boot/kernel/kernel.ko.  The new default module location
1380         is /boot/kernel.
1381
1382         You *MUST* upgrade your boot loader and kernel at the same time.
1383         The easiest way to do this is to do the buildworld/buildkernel/
1384         installkernel/installworld dance.
1385
1386         Furthermore, you are urged to delete your old /modules directory
1387         before booting the new kernel, since kldload will find stale
1388         modules in that directory instead of finding them in the correct
1389         path, /boot/kernel.  The most common complaint that this cures
1390         is that the linux module crashes your machine after the update.
1391
1392         if [ ! -d /boot/kernel.old ]; then
1393                 mv /modules.old /boot/kernel.old
1394                 chflags noschg /kernel.old
1395                 mv /kernel.old /boot/kernel.old/kernel.ko
1396                 chflags schg /boot/kernel.old/kernel.ko
1397         fi
1398
1399 20000904:
1400         A new issue with the sendmail upgrade has come to light.
1401         /etc/aliases has moved to /etc/mail/aliases.  Mergemaster will
1402         incorrectly install the default aliases in /etc/mail rather than
1403         move the old one from /etc.  So you'll need to manually move the
1404         file, create a symbolic link, remove the old /etc/aliases.db and
1405         run newaliases.  For safety sake, you should stop sendmail
1406         while doing this and run the upgrade when locally sourced email
1407         is not likely to be generated.
1408
1409 20000825:
1410         /boot/device.hints is now required for installkernel to
1411         succeed.  You should copy GENERIC.hints for your architecture
1412         into /boot/device.hints.  If and only if you compile hints
1413         into your kernel, then this file may be empty.  Please note,
1414         if you have an empty or missing /boot/device.hints file and
1415         you neglected to compile hints into your kernel, no boot
1416         messages will appear after the boot loader tries to start the
1417         kernel.
1418
1419 20000821:
1420         If you do NOT have ``options RANDOMDEV'' in your kernel and
1421         you DO want the random device then add randomdev_load="YES" to
1422         /boot/loader.conf.
1423
1424 20000812:
1425         suidperl is now always built and installed on the system, but
1426         with permissions of 511.  If you have applications that use
1427         this program, you are now required to add ENABLE_SUIDPERL=true
1428         to /etc/make.conf.  If you forget to do this,
1429                 chmod 4511 /usr/bin/suidperl
1430         will fix this until the next build.
1431
1432 20000812:
1433         sendmail has been updated from 8.9.3 to 8.11.0.  Some of the more
1434         visible changes that may immediately affect your configuration
1435         include:
1436         - New default file locations from src/contrib/sendmail/cf/README
1437         - newaliases limited to root and trusted users
1438         - MSA port (587) turned on by default
1439         - New queue file naming system so can't go from 8.11 -> 8.9
1440         - FEATURE(`rbl') renamed to FEATURE(`dnsbl')
1441         - FEATURE(`nullclient') is more full featured
1442         - FEATURE(`nouucp') requires an argument: `reject' or `nospecial'
1443         - mail.local FreeBSD-only -b option changed to -B
1444         - See src/contrib/sendmail/RELEASE_NOTES for more info
1445
1446 20000810:
1447         suidperl (aka sperl) is no longer build by default.  You must
1448         specifically define BUILD_SUIDPERL to "true" for it to be build.
1449         Furthermore, we recommend that you remove /usr/bin/sperl* and
1450         /usr/bin/suidperl files from your system unless you have a
1451         specific use for it.
1452
1453 20000729:
1454         Networking defaults have been tightened.  Anybody upgrading
1455         /etc/defaults/rc.conf needs to add the following lines to
1456         /etc/rc.conf if they want to have the same setup
1457         afterwards (unless the variables already are set, of course):
1458                 # Enable network daemons for user convenience.
1459                 inetd_enable="YES"
1460                 portmap_enable="YES"
1461                 sendmail_enable="YES"
1462
1463 20000728:
1464         If you have null_load="YES" in your /boot/loader.conf, you
1465         will need to change that to nullfs_load="YES".
1466
1467 20000728:
1468         The "installkernel" target has changed slightly. Now even if
1469         you override KERNEL e.g. 'make installkernel KERNEL=MYKERNEL'
1470         it will install the MYKERNEL file (built with the buildkernel
1471         target) as /kernel rather than /MYKERNEL. Those who have
1472         updated their /boot/loader.conf files to point to /MYKERNEL
1473         should remove that entry or perform manual rename of /kernel
1474         to /MYKERNEL.
1475
1476 20000711:
1477         If you use CVSUP or CTM to get CVS trees, AND you used to get
1478         the old crypto files from internat.freebsd.org AND you check
1479         out files from the CVS tree with the cvs command, please read
1480                 http://people.freebsd.org/~imp/internat.txt
1481         for details on potential problems that you might have and how
1482         to get around them.
1483
1484         If you are merely a mirror, or don't answer yes to each of the
1485         clauses above, you needn't worry.
1486
1487 20000711:
1488         /etc/security has been updated to print the inode number of
1489         setuid programs that have changed.  You will see a large spike
1490         in the number of changed programs the first time when you run
1491         mergemaster to get a new /etc/security.
1492
1493 20000710:
1494         /dev/random now has good entropy collection (from the keyboard
1495         and sysmouse drivers). Please ensure that either `options
1496         RANDOMDEV' is present in your kernel config file or that
1497         `randomdev_load="YES"' is in your /boot/loader.conf. If you do
1498         not have the /dev/random driver, OpenSSL (and consequently
1499         lots of crypto tools (like SSH)) will fail with strange
1500         errors. (see below, 20000624).
1501
1502         FreeBSD-current is safe again to run Crypto.
1503
1504 20000709:
1505         phk made the malloc default options AJ.  This may slow things
1506         down and uncover other latent bugs in the code.  If you need to
1507         run at full speed, you can disable this by doing the following:
1508                 ln -s aj /etc/malloc.conf
1509
1510 20000706:
1511         libftpio's version was accidentally bumped a few days ago.  This
1512         has been corrected.  You may need to remove /usr/lib/libftpio.so.6
1513         before doing your next buildworld/installworld pair.  It certainly
1514         won't hurt to remove it before the update procedure.  It will
1515         break fetch until a new one is built, but ftp can be used in the
1516         interim if needed.
1517
1518 20000705:
1519         The crypto packages have changed for the cvsup.  This has been done
1520         in a backward compatible way, but the old packages will go away at
1521         some point in the future.  Look at /usr/share/examples/cvsup for
1522         details.
1523
1524 20000704:
1525         With the new sys/modules/sound/drivers/*, you will need to
1526         set SYSDIR until you do an installworld after July 7th.
1527
1528 20000704:
1529         rc.shutdown and rc will now call the rc.d scripts with start
1530         or stop.  This may cause some harmless warnings from older
1531         rc.d scripts that haven't been updated.
1532
1533 20000630:
1534         The libfetch based version of fetch has gone into the tree.
1535         Minor problems may result on some of the less popular sites,
1536         which should be reported to des@freebsd.org.
1537
1538 20000625:
1539         From approximately this date forward, one must have the crypto
1540         system installed in order to build the system and kernel.
1541         While not technically strictly true, one should treat it as
1542         required and grab the crypto bits.  If you are grabbing CVS
1543         trees, src-all and cvs-crypto should be treated as if they
1544         were required.  You should check with the latest collections
1545         to make sure that these haven't changed.
1546
1547 20000624:
1548         Mark Murray just committed the first parts of a cleanup of
1549         /dev/zero, et al.  This is also cleaning up /dev/random.
1550         The entropy is disconnected, so DO NOT USE VERSIONS OF FREEBSD
1551         -CURRENT FROM THIS POINT to 2000710 for cryptographic services
1552         until Mark can merge in the fixes to this work in progress.
1553         openssh and openssl should not be used to generate keys from this
1554         date to the completion of the work.
1555
1556         If you must operate at this reduced level of security, add '
1557         options RANDOMDEV' to your kernel or modload the randomdev
1558         module.  You may also need to copy a new MAKEDEV to /dev and
1559         recreate the random and urandom devices.
1560
1561 20000622:
1562         The license on the softupdates is now a standard 2 clause
1563         BSD license.  You may need to remove your symbolic links
1564         that used to be required when updating.
1565
1566 20000621:
1567         Scott Flatman <sf@aracnet.com> sent in a decent write-up on
1568         the config file update procedure.
1569                 http://people.freebsd.org/~imp/config-upd.html
1570         NOTE: LINT is gone.  It has been replaced with NOTES.  NOTES
1571         isn't buildable.  However, you can generate a LINT file:
1572                 cd /sys/<ARCH>/conf && make LINT
1573
1574 20000620:
1575         Binutils 2.10 have hit the tree, or will shortly.  As soon
1576         as they do, the problem noted in 20000522 will be resolved and
1577         that workaround will no longer be required.
1578
1579 20000615:
1580         phk removed the compatibility creation of wd devices in the
1581         ad driver.  If you haven't done so already, you must update
1582         your fstab, etc to use the ad devices instead of the wd
1583         devices.
1584
1585         In addition, you'll need to update your boot blocks to a
1586         more modern version, if you haven't already done so.  Modern
1587         here means 4.0 release or newer (although older releases
1588         may work).
1589
1590 20000612:
1591         Peter took an axe to config(8).  Be sure that you read his mail
1592         on the topic before even thinking about updating.  You will
1593         need to create a /boot/device.hints or add a hints directive
1594         to your config file to compile them in statically.  The format
1595         of the config file has changed as well.  Please see GENERIC or
1596         NEWCARD for examples of the new format.
1597
1598         Indirectly, this also breaks USERCONFIG.  Unless a newer entry
1599         says that it has been fixed, assume that must use the hints mechanism
1600         in the loader if you need to use a machine with very old ISA cards
1601         in it.
1602
1603 20000522:
1604         A new set of binutils went into the tree today.  Anybody
1605         building a kernel after this point is advised that they need
1606         to rebuild their binutils (or better yet do a
1607         buildworld/installworld) before building a new kernel.
1608
1609         Due to bugs in binutils, using malloc options (eg /etc/malloc.conf
1610         or MALLOC_OPTIONS env var) J will cause ld to dump core.  It
1611         is recommended that you don't set this option until the problem
1612         is resolved.
1613
1614 20000513:
1615         The ethernet drivers were all updated to clean up the BPF handling.
1616
1617 20000510:
1618         The problems with boot blocks on the alphas have been corrected.
1619         This will require some care in updating alphas.  A new libstand
1620         is requires for the boot blocks to build properly.
1621
1622 20000503:
1623         Recompile all kld modules.  Proper version dependency info
1624         is now available.
1625
1626 20000502:
1627         Modules have been disconnected from the buildworld tree and
1628         connected to the kernel building instead.
1629
1630 20000427:
1631         You may need to build gperf
1632                 cd /usr/src/gnu/usr.bin/gperf && make depend all install
1633         when upgrading from 4.0 -> current.  The build system now uses
1634         an option only in -current.
1635
1636 20000417:
1637         The method that we brand ELF binaries has changed to be more
1638         acceptable to the binutils maintainers.  You will need to
1639         rebrand your ELF binaries that aren't native.  One problem
1640         binary is the Linux ldconfig.  After your make world, but
1641         before you reboot, you'll need to issue:
1642                 brandelf -t Linux /compat/linux/sbin/ldconfig
1643         if you have Linux compatibility enabled on your machine.
1644
1645 20000320:
1646         If you have really bad/marginal IDE drives, you may find they
1647         don't work well.  Use pio mode instead.  The easiest way to
1648         cope if you have a problem combination is to add:
1649                 /sbin/sysctl hw.ata.ata_dma=0
1650         to the start of /etc/rc.conf.
1651
1652 20000319:
1653         The ISA and PCI compatibility shims have been connected to the
1654         options COMPAT_OLDISA and COMPAT_OLDPCI.  If you are using old
1655         style PCI or ISA drivers (i.e. tx, voxware, etc.) you must
1656         include the appropriate option in your kernel config.  Drivers
1657         using the shims should be updated or they won't ship with
1658         5.0-RELEASE, targeted for 2001.
1659
1660 20000318:
1661         We've entered the traditional post release dumping party.
1662         Large kernel changes are being committed and are in the
1663         works.  It is important to keep the systems' klds and kernel
1664         in sync as kernel interfaces and structures are changing.
1665         Before reporting kernel panics, make sure that all modules
1666         that you are loading are up to date.
1667
1668 20000315:
1669         If you are upgrading from an older version of FreeBSD, you
1670         need to update your boot blocks as well.  'disklabel -B ad0'
1671         will do the trick.  This isn't critical until you remove your
1672         wd device entries in /dev, at which point your system will not
1673         boot.
1674
1675 20000315:
1676         4.0 RELEASE shipped.  Please see the 4.0 UPDATING file for how
1677         to upgrade to 4.0 from 3.x.
1678
1679 COMMON ITEMS:
1680
1681         # NOTE: 5.x below applies to 6.0-currrent as well, for the
1682         # momemnt.  4.any -> 5.any upgrade support will remain in
1683         # place for 6.0 current, but after 5.3 RELEASE, the 4.any ->
1684         # 6.0-current upgrade path will require moving through 5.3
1685         # RELEASE or newer.
1686
1687         General Notes
1688         -------------
1689         Avoid using make -j when upgrading.  From time to time in the
1690         past there have been problems using -j with buildworld and/or
1691         installworld.  This is especially true when upgrading between
1692         "distant" versions (eg one that cross a major release boundary
1693         or several minor releases, or when several months have passed
1694         on the -current branch).
1695
1696         Sometimes, obscure build problems are the result of environment
1697         poisoning.  This can happen because the make utility reads its
1698         environment when searching for values for global variables.
1699         To run your build attempts in an "environmental clean room",
1700         prefix all make commands with 'env -i '.  See the env(1) manual
1701         page for more details.
1702
1703         To build a kernel
1704         -----------------
1705         If you are updating from a prior version of FreeBSD (even one just
1706         a few days old), you should follow this procedure. With a
1707         /usr/obj tree with a fresh buildworld,
1708         make -DALWAYS_CHECK_MAKE buildkernel KERNCONF=YOUR_KERNEL_HERE
1709         make -DALWAYS_CHECK_MAKE installkernel KERNCONF=YOUR_KERNEL_HERE
1710
1711         To just build a kernel when you know that it won't mess you up
1712         --------------------------------------------------------------
1713         This assumes you are already running a 5.X system.  Replace
1714         ${arch} with the architecture of your machine (e.g. "i386",
1715         "alpha", "amd64", "ia64", "pc98", "sparc64", etc).
1716
1717         cd src/sys/${arch}/conf
1718         config KERNEL_NAME_HERE
1719         cd ../compile/KERNEL_NAME_HERE
1720         make depend
1721         make
1722         make install
1723
1724         If this fails, go to the "To build a kernel" section.
1725
1726         To rebuild everything and install it on the current system.
1727         -----------------------------------------------------------
1728         # Note: sometimes if you are running current you gotta do more than
1729         # is listed here if you are upgrading from a really old current.
1730
1731         <make sure you have good level 0 dumps>
1732         <maybe fix /etc/fstab>                          [7]
1733         make buildworld
1734         make kernel KERNCONF=YOUR_KERNEL_HERE
1735                                                         [1]
1736         <reboot in single user>                         [3]
1737         src/etc/rc.d/preseedrandom                      [10]
1738         mergemaster -p                                  [5]
1739         make installworld
1740         mergemaster                                     [4]
1741         <reboot>
1742
1743
1744         To cross-install current onto a separate partition
1745         --------------------------------------------------
1746         # In this approach we use a separate partition to hold
1747         # current's root, 'usr', and 'var' directories.   A partition
1748         # holding "/", "/usr" and "/var" should be about 2GB in
1749         # size.
1750
1751         <make sure you have good level 0 dumps>
1752         <boot into -stable>
1753         make buildworld
1754         <maybe newfs current's root partition>
1755         <mount current's root partition on directory ${CURRENT_ROOT}>
1756         make installworld DESTDIR=${CURRENT_ROOT}
1757         make buildkernel KERNCONF=YOUR_KERNEL_HERE
1758         cp src/sys/${ARCH}/conf/GENERIC.hints \
1759                 ${CURRENT_ROOT}/boot/device.hints       # as needed
1760         make installkernel KERNCONF=YOUR_KERNEL_HERE DESTDIR=${CURRENT_ROOT}
1761         cd src/etc; make distribution DESTDIR=${CURRENT_ROOT} # if newfs'd
1762         cp /etc/fstab ${CURRENT_ROOT}/etc/fstab                    # if newfs'd
1763         <edit ${CURRENT_ROOT}/etc/fstab to mount "/" from the correct partition>
1764         <reboot into current>
1765         <do a "native" rebuild/install as described in the previous section>
1766         <maybe install compatibility libraries from src/lib/compat>
1767         <reboot>
1768
1769
1770         To upgrade in-place from 4.x-stable to current
1771         ----------------------------------------------
1772         # 5.x uses more space than 4.x.  Also, the location of kernel
1773         # modules has changed.  If you are installing 5.x onto a 4.x
1774         # system, you'll need about 30MB of free disk space on your /
1775         # partition.  If you have less than this, you may encounter difficult
1776         # to back out of problems with this procedure.  If /tmp is on
1777         # the / partition, you may want to completely remove all its content
1778         # before upgrading, as this can be a common source of shortage of
1779         # space on /.
1780
1781         <make sure you have good level 0 dumps>
1782         <maybe fix /etc/fstab>                          [7]
1783         make buildworld                                 [9]
1784         cp sys/${MACHINE}/conf/GENERIC.hints /boot/device.hints [2]
1785         make kernel KERNCONF=YOUR_KERNEL_HERE           [8]
1786         cd sys/boot ; make STRIP="" install             [6]
1787                                                         [1]
1788         <reboot in single user>                         [3]
1789         src/etc/rc.d/preseedrandom                      [10]
1790         mergemaster -p                                  [5]
1791         rm -rf /usr/include/g++
1792         make installworld
1793         mergemaster -i                                  [4]
1794         <reboot>
1795
1796         Make sure that you've read the UPDATING file to understand the
1797         tweaks to various things you need.  At this point in the life
1798         cycle of current, things change often and you are on your own
1799         to cope.  The defaults can also change, so please read ALL of
1800         the UPDATING entries.
1801
1802         Also, if you are tracking -current, you must be subscribed to
1803         freebsd-current@freebsd.org.  Make sure that before you update
1804         your sources that you have read and understood all the recent
1805         messages there.  If in doubt, please track -stable which has
1806         much fewer pitfalls.
1807
1808         [1] If you have third party modules, such as vmware, you
1809         should disable them at this point so they don't crash your
1810         system on reboot.
1811
1812         [2] If you have legacy ISA devices, you may need to create
1813         your own device.hints to reflect your unique hardware
1814         configuration.
1815
1816         [3] From the bootblocks, boot -s, and then do
1817                 fsck -p
1818                 mount -u /
1819                 mount -a
1820                 cd src
1821                 adjkerntz -i            # if CMOS is wall time
1822         Also, when doing a major release upgrade, it is required that
1823         you boot into single user mode to do the installworld.
1824         For the 4.x -> 5.x upgrade, you will also see many messages about
1825         needing to recompile your userland.  These are harmless and can
1826         be ignored while you proceed to the next step.
1827
1828         [4] Note: This step is non-optional.  Failure to do this step
1829         can result in a significant reduction in the functionality of the
1830         system.  Attempting to do it by hand is not recommended and those
1831         that pursue this avenue should read this file carefully, as well
1832         as the archives of freebsd-current and freebsd-hackers mailing lists
1833         for potential gotchas.
1834
1835         [5] Usually this step is a noop.  However, from time to time
1836         you may need to do this if you get unknown user in the following
1837         step.  It never hurts to do it all the time.  You may need to
1838         install a new mergemaster (cd src/usr.sbin/mergemaster && make
1839         install) after the buildworld before this step if you last updated
1840         from current before 20020224 or from -stable before 20020408.
1841
1842         [6] 4.x boot loader can be used to boot a 5.x system, however
1843         it is difficult to do that at best.  If you wish to try, then
1844         you should interrupt the boot and at the ok prompt type:
1845                 ok unload
1846                 ok boot /boot/kernel/kernel
1847         If this fails to work, you must install a new boot loader as
1848         described here.
1849
1850         [7] Before you upgrade, please make sure that you are not using
1851         compatibility slices.  These are device names of the form /dev/ad0a
1852         without the actual slice name.  These will break with 5.x and newer.
1853         You generally must update these entries to use the post FreeBSD
1854         2.x form of /dev/ad0s1a. i386 and pc98 are affected, while alpha
1855         is not.
1856
1857         [8] In order to have a kernel that can run the 4.x binaries
1858         needed to do an installworld, you must include the COMPAT_FREEBSD4
1859         option in your kernel.  Failure to do so may leave you with a system
1860         that is hard to boot to recover.
1861
1862         Make sure that you merge any new devices from GENERIC since the
1863         last time you updated your kernel config file.
1864
1865         [9] When checking out sources, you must include the -P flag to have
1866         cvs prune empty directories.
1867
1868         If CPUTYPE is defined in your /etc/make.conf, make sure to use the
1869         "?=" instead of the "=" assignment operator, so that buildworld can
1870         override the CPUTYPE if it needs to.
1871
1872         MAKEOBJDIRPREFIX must be defined in an environment variable, and
1873         not on the command line, or in /etc/make.conf.  buildworld will
1874         warn if it is improperly defined.
1875
1876         In case you would like to avoid installing new packages of everything,
1877         you might want to uncomment the "COMPAT4X=      YES" entry, so that 4.x
1878         compatibility libraries are built which should allow you to continue
1879         using your existing software for a while.  Alternatively, you can
1880         install the misc/compat4x port.
1881
1882         [10] In order to create temporary files, /dev/random must be
1883         initialized by feeding data into it.  src/etc/rc.d/preseedrandom
1884         takes care of this.
1885 FORMAT:
1886
1887 This file contains a list, in reverse chronological order, of major
1888 breakages in tracking -current.  Not all things will be listed here,
1889 and it only starts on March 15, 2000.  Updating files can found in
1890 previous releases if your system is older than this.
1891
1892 Copyright information:
1893
1894 Copyright 1998-2004 M. Warner Losh.  All Rights Reserved.
1895
1896 Redistribution, publication, translation and use, with or without
1897 modification, in full or in part, in any form or format of this
1898 document are permitted without further permission from the author.
1899
1900 THIS DOCUMENT IS PROVIDED BY WARNER LOSH ``AS IS'' AND ANY EXPRESS OR
1901 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1902 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
1903 DISCLAIMED.  IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT,
1904 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
1905 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
1906 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
1907 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
1908 STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
1909 IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1910 POSSIBILITY OF SUCH DAMAGE.
1911
1912 If you find this document useful, and you want to, you may buy the
1913 author a beer.
1914
1915 Contact Warner Losh if you have any questions about your use of
1916 this document.
1917
1918 $FreeBSD$