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