]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - UPDATING
This commit was generated by cvs2svn to compensate for changes in r100490,
[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 NOTE TO PEOPLE WHO THINK THAT 5.0-CURRENT IS SLOW:
8         FreeBSD 5.0-CURRENT has many debugging features turned on, in
9         both the kernel and userland.  These features attempt to detect
10         incorrect use of system primitives, and encourage loud failure
11         through extra sanity checking and fail stop semantics.  They
12         also substantially impact system performance.  If you want to
13         do performance measurement, benchmarking, and optimization,
14         you'll want to turn them off.  This includes various WITNESS-
15         related kernel options, INVARIANTS, malloc debugging flags
16         in userland, and various verbose features in the kernel.  Many
17         developers choose to disable these features on build machines
18         to maximize performance.
19
20         In addition, IDE write caching is currently disabled by default
21         due to on-going concerns about disk write order and file system
22         integrity.  Re-enabling write caching can substantially improve
23         performance.
24
25 20020702:
26         Problems with libc_r clients like KDE and GNOME have been resolved.
27         There are still some minor problems with some signals but the 
28         system is stable enough for general use again. SMP is less so than UP
29         but each can successfully complete multiple buildworlds.
30         Libkvm needs to be recompiled due to KSE.
31
32 20020701:
33         Now would be a bad time to upgrade.  Something in or near the
34         KSE commit totally broke programs using libc_r like KDE and
35         GNOME.
36
37 20020511:
38         The k5su utility installed as part of Kerberos 5 is no longer
39         installed with the set-user-ID bit set by default.  Add
40         ENABLE_SUID_K5SU=yes to /etc/make.conf to have it installed
41         with the set-user-ID bit set.
42
43 20020510:
44         Gcc 3.1 debugging format (cc -g) has changed from STABS to DWARF2.
45         Unfortunately our native GDB (at version 4.18) does not understand
46         the DWARF2 debugging format.  Thus you must use `gcc -gstabs+' to
47         generated debugging information for our native GDB.
48
49 20020510:
50         Due to the way CVS works, it may not properly update src/contrib/gcc
51         to the 3.1 sources.  The easiest fix is to `rm -rf' src/contrib/gcc
52         and then do a cvs update.
53
54 20020421:
55         When exec'ing set[ug]id executables, the kernel now ensures that the
56         stdio file descriptors (0..2) are open.  See FreeBSD-SA-02:23.stdio.
57
58 20020404:
59         New sendmail startup scripts have been installed to make it
60         easier to use alternative MTAs with FreeBSD.  Setting the rc.conf
61         variable sendmail_enable to "NO" no longer prevents any sendmail
62         daemons from starting.  Instead, either set sendmail_enable to
63         "NONE" or change mta_start_script to a script for starting
64         an alternative MTA.  Setting mta_start_script to "" will
65         also prevent any MTA from being started at boot.
66
67 20020403:
68         UCONSOLE is no longer a valid kernel option.
69
70 20020315:
71         FreeBSD 5.0 DP-1 was basically branched today.
72
73 20020225:
74         Warnings are now errors in the kernel.  Unless you are a developer,
75         you should add -DNO_WERROR to your make line.
76
77 20020217:
78         sendmail 8.12.2 has been imported.  The sendmail binary is no
79         longer a set-user-ID root binary and the infrastructure to support
80         command line mail submission has changed.  Be sure to run
81         mergemaster (especially for updating /etc/rc, /etc/defaults/rc.conf,
82         and /etc/mail) and read /etc/mail/README for more details.
83
84         Due to the import of sendmail 8.12.2, a new user and group are
85         required in order for sendmail to run as a set-group-ID
86         binary.  A 'make installworld' will use the new user and group
87         to set the owner and group of /var/spool/clientmqueue and will
88         fail if the new user and group do not exist.  The 'smmsp' user
89         and group must be merged from src/etc/group and
90         src/etc/master.passwd before using 'make installworld'.
91         'mergemaster -p' will do this.  You may need to install
92         mergemaster before this will work if you are updating from a
93         very old version of current.  The updating recipe has changed
94         as of this date.
95
96 20020112:
97         The preferred configuration method for PAM is now /etc/pam.d/
98         rather than /etc/pam.conf.  If you have an unmodified
99         pam.conf, just delete it after your next mergemaster run.  If
100         you have local modifications, you can use
101         /usr/src/etc/pam.d/convert.pl to incorporate them into your
102         /etc/pam.d.
103
104         Please see the following url for more details:
105 http://www.freebsd.org/cgi/mid.cgi?db=mid&id=<xzp6667fyoa.fsf@flood.ping.uio.no>
106 20011229:
107         If anyone here is already using the new rc.conf(5) variable
108         networkfs_types, please note that it has changed
109 http://www.freebsd.org/cgi/mid.cgi?db=mid&id=<9744.1009655556@axl.seasidesoftware.co.za>
110
111 20011220:
112         sys/i4b/driver/i4b_ispppsubr.c has been retired.  This file
113         started out its life in the ISDN4BSD project as an offspring
114         from sys/net/if_spppsubr.c, which eventually got a life of its
115         own.  All the accumulated features and bugfixes of the i4b
116         version have now been merged back into the base system's
117         version now.  The only user-visible change resulting from this
118         is that i4b's sppp(4) interfaces are to be managed with
119         spppcontrol(8) again, since ispppcontrol(8) has been retired
120         as well.  (There has never been rc file support for
121         ispppcontrol in -current, but only in -stable.  That will be
122         reverted by the time the changes are MFCed.)
123
124 20011215:
125         The fdc(4) driver has been updated and now automatically
126         recognizes media in `standard' formats (like 1440 KB and
127         720 KB for a 3.5" high-density drive) when accessing the
128         default device node (e. g. /dev/fd0).  The old variety of
129         floppy device nodes /dev/fd*.* is no longer present by
130         default, devices can be created (in DEVFS) on demand.  They
131         will need to be customized then for `odd' densities using
132         fdcontrol(8).
133
134 20011209:
135         The bugs in procfs' debugging support code have been fixed,
136         and truss(1) now works again.
137
138 20011207:
139         Daily security checks have been split out to use the periodic(8)
140         scripts.  Some change in configuration may be necessary.  Please
141         see 
142 http://www.freebsd.org/cgi/mid.cgi?db=mid&id=<20011207155805.R8975@blossom.cjclark.org>
143         for details.
144
145 20011204:
146         sos added VCD/SVCD support to ata driver and that needs the
147         kernel and burncd to be in sync.
148
149 20011203:
150         The procfs pseudo-filesystem has now been converted to use the
151         pseudofs framework.  If you have 'options PROCFS' in your
152         kernel config, you'll need to add 'options PSEUDOFS' if it's
153         not there already.
154
155         This change temporarily breaks truss(1); use ktrace(1) instead
156         until the issue has been resolved.
157
158 20011202:
159         A security hole in OpenSSH involving `UseLogin yes' has been
160         patched.
161
162 20011126:
163         You need to remove /usr/obj/.../usr.bin/tip before rebuilding
164         after this date.  You need to do this only once.
165
166 20011103:
167         Most of the awk issues have been resolved.  Some rough
168         edges may be left, but for the most part things should be
169         back to "normal." For CURRENT's usual definition of "normal."
170
171 20011030:
172         Awk has been upgraded to the one true awk from bell labs.  Expect
173         choppy waves in the upgrade process.
174
175 20011030:
176         The asr driver problem has been resolved.
177
178 20011027:
179         Due to changes in other parts of the system, the asr driver
180         now causes the system to panic on boot.  Do not use it pending
181         correction.  Comment it out of any kernel config file that you
182         try to use from this date forward.
183
184 20011025:
185         When crossbuilding, use TARGET=xxx where you used to use
186         MACHINE=xxx.  You don't need to set TARGET_ARCH and TARGET,
187         unless you are changing both of them.  To cross build pc98 on
188         an alpha, for example, you need to set TARGET=pc98 and
189         TARGET_ARCH=i386.
190
191 20011001:
192         The kernel interface that burncd depends on has changed.
193         You must recompile both the kernel and userland applications
194         at the same time.
195
196 20010929:
197         When crossbuilding, please set TARGET_ARCH rather than
198         MACHINE_ARCH to indicate the target.  In the future, one will
199         set TARGET_MACHINE where you set MACHINE now.  At the moment,
200         setting MACHINE alone for same MACHINE_ARCH machines works
201         (eg, you can build pc98 on a i386 machine and vice versa).
202
203 20010927:
204         Some weird problems result from using ACPI on some machines.
205         To disable ACPI you can add
206                 hint.acpi.0.disable="1"
207         to /boot/loader.conf (or by putting set X=Y at the boot
208         loader "ok" prompt).
209
210         Alternatively, you can remove it from /boot/kernel/acpi.ko
211         or use the MODULES_OVERRIDE function in your kernel config
212         file and not list acpi in that list.
213
214 20010924:
215         The buildworld has been fixed.  You may need to install
216         the 4.x compatibility libraries for some old binaries
217         to work.  Add COMPAT4X=true to your /etc/make.conf to
218         get them installed on every installworld, or execute the
219         following to get them installed only once:
220                 cd src/lib/compat/compat4x.<arch>
221                 make all install
222         You will see ``__stdoutp undefined'' until you do this.
223
224 20010919:
225         There's a bug in the world build process.  The cross-tools
226         are build with the NEW headers, but the OLD libc.a.  This
227         leads to all kinds of problems with the new libc.  A temporary
228         workaround is to add
229                 CFLAGS="-O -pipe -D_OLD_STDIO"
230         before building world when upgrading from 4.x to current.  This
231         can be removed afterwards.
232
233         A proper fix to the buildworld target is needed.
234
235 20010918:
236         Peter has committed his new kthread nfs client/server code.
237         NFS may be unstable after this date.
238
239 20010912:
240         KSE has hit the tree.  Lots of things are now different in
241         the kernel.  While a few problems were introduced in the
242         initial commit, most of the major ones have been found and
243         corrected.
244
245 20010901:
246         In OLDCARD, CardBus bridges appear to be stable.  The work
247         arounds described in the 20010604 entry are now no longer
248         necessary and will be ignored.  Most insert/remove problems
249         have been rectified around this date.
250
251 20010823:
252         named now runs as user bind and group bind rather than as 
253         root.  If named_enable is set to YES in /etc/rc.conf, ensure 
254         that user bind is available in /etc/passwd (using vipw(8)) 
255         and that group bind is available in /etc/group.  Also make 
256         sure that user or group bind has read (and not write) 
257         permission for your name server configuration and that it 
258         has read and write permission for your slave zone files and 
259         directory.
260  
261         If you wish to continue to run named as root (a less secure 
262         alternative), add a line to /etc/rc.conf saying
263  
264                 named_flags=
265
266 20010709:
267         The PAM libraries have had an API upgrade that is beyond
268         the ability of the shared library major number to handle.
269         It is manifested by PAM-using ports dumping core. The
270         solution is to rebuild those ports.
271
272 20010628:
273         The kernel compile module has moved from src/sys/compile/FOO
274         to src/sys/${MACHINE}/compile/FOO.
275
276 20010625:
277         The pccard modem issue from 20010613 has been corrected.
278         OLDCARD support is still a little weak in -current.  slot 1 is
279         known not to work on some TI based cardbus bridges.  Some
280         cardbus bridges do not properly detect insert/removal events.
281         IRQ configuration needs more safety belts.
282
283 20010617:
284         Softupdates problems have been corrected.
285
286 20010614:
287         Peter ripped out the linkerset support.  You must, as always,
288         rerun config after you cvsup if you are using the traditional
289         kernel building methods.
290
291 20010613:
292         pccard modems may not work with current after 20010604 date.  Some
293         do, others result in panics.  *MAKE*SURE* that you update your
294         config and /etc/rc.conf ala the 20010604 entry, or you will have
295         problems (this issue will be fixed, it just hasn't been yet).
296
297 20010613:
298         SOFTUPDATES seem to be broken since the middle of May or so.  Do not
299         use them in current.  You can disable softupdates on all mounted
300         partitions, or remove SOFTUPDATES the kernel config file.
301
302 20010612:
303         After Peter's commits to the hints code, people have been noticing
304         that certain devices are attached (or try to) twice.  This is due
305         to having both static hints as well as a /boot/device.hints.  To
306         work around this issue, please use only one or the other mechanism
307         until this bug is fixed.
308
309         Please note that a feature of config is that if you have config
310         file FOO and FOO.hints, it automatically adds FOO.hints to the
311         hints.c file, wheather you want it to or not.
312
313 20010610:
314         Locale names have changed to match other systems better.
315
316 20010604:
317         pccard support for pci cards has been committed.  You must change
318         your /etc/pccard.conf irq lines.  It must match the irq used by
319         pcic device.  Interrupt storms may result if you fail to do this.
320         Interrupt storms look a lot like a hang.
321
322         You must also install a new pccardd, otherwise you will get an
323         interrupt storm at card reset time (just after it tells you what
324         it is).
325
326         pccardd_flags="-I" is necessary for the time being.  It tells pccardd
327         not to ask the kernel if the interrupt is really free or not before
328         using it.  You can either change the /etc/pccard.conf irq lines to
329         match pcic, or add "-i X" to the pccardd_flags.
330
331 20010530:
332         INSTALL=install -C is being deprecated.  If you want to do this,
333         use COPY=-C instead.  The former method will be supported for only
334         a limited time.  If you see
335
336 install: warning: the -d and -C options may not be specified together
337
338         in your makeworld, then you need to migrate towards using
339         COPY=-C.
340
341 20010525:
342         It appears that vm is now stable enough to use again.  However,
343         there may be other problems, so caution is still urged.  alpha
344         definitely is in bad shape.
345
346 20010521:
347         Minor repo damange has happened.  This may cause problems
348         with cvsup of ports.  If you get errors, please see
349         http://www.FreeBSD.org/cgi/query-pr.cgi?pr=27495
350         at the bottom for details on a workaround.  The error message
351         is
352 Updater failed: Cannot delete "/usr/ports/www/jakarta-tomcat/files": Directory not empty
353
354 20010520:
355         Vm and/or swapping are busted on -current.  Please be patient.
356
357 20010519:
358         pccard has had much reorganizational work done to it over
359         the past few days.  Everything should still work, but if
360         not, please contact imp@freebsd.org.
361
362 20010517:
363         ata ioctl changed.  Make sure to recompile both kernel and
364         userland at the same time.
365
366 20010517:
367         New ncurses imported.
368
369 20010512:
370         DEVFS is now opt out, not opt in.  Barring major problems, this
371         will be the only way to go starting July 1.
372
373 20010504:
374         OpenSSH has been updated to 2.9.  Some defaults are different,
375         including RhostsRSAAuthentication, which changes from yes to no.
376
377 20010502:
378         Perl breakage in 20010501 was corrected at 14:18:33 PDT.
379
380 20010501:
381         Building perl was broken at 02:25:25 PDT.
382
383 20010430:
384         The bug in 20010429 was corrected at 07:35:37 PDT.  It is safe to
385         go back in the water.
386
387 20010429:
388         A bad bug was committed at 04:48:42 PDT.  Don't use kernels after
389         this date, but before the correction date.
390
391 20010423:
392         old fsck and new kernel interactions appear to have been fixed.
393
394 20010411:
395         fsck and the kernel were changed to handle some optimizations
396         to directory layout.  This breaks backward compatibility.
397         Update only if you understand that you must not use the old
398         fsck with the new kernel ever.
399
400 20010330:
401         fsck has changed the meaning of the pass column in /etc/fstab.
402         Please see the cvs commit to fsck.8 or the fsck.8 man page for
403         details.  It is unclear if changes to /etc/fstab are necessary.
404
405 20010319:
406         portmap had changed name to rpcbind for maximum POLA in your
407         current world.  /etc/hosts.{allow,deny} needs changes.  nfs and
408         other rpc based programs that rely on portmapper will not work
409         without updates to /etc/hosts.{allow,deny} and /etc/netconfig.
410
411 20010315:
412         ata subsystem changes.  ATA_ENABLE_ATAPI_DMA, ATA_ENABLE_WC
413         and ATA_ENABEL_TAGS are no longer kernel options.  They have
414         been replaced by tunables.  See ata.4 for details.
415
416 20010312:
417         The fxp driver was converted to use miibus.  If you compile
418         fxp into your kernel statically, you will need to add miibus.
419
420 20010312:
421         The wi device now defaults to BSS (infrastructure) mode
422         instead of ad-hoc.
423
424 20010310:
425         /dev/urandom should be a symbolic link to /dev/random now.
426         Users of current not using DEVFS need to run MAKEDEV std.
427         ssh might not work if you don't.
428
429 20010303:
430         The ed driver has been updated.  It now allows mii attachments,
431         which means that you must include the miibus in your kernel if
432         you use the ed driver.
433
434 20010220:
435         The problems with libc have been corrected.  It is now mostly
436         safe to go back into the water.
437
438 20010211:
439         The size of FILE was changed.  This breaks upgrading.  If
440         you must upgrade, be prepared for pain.  It also breaks almost
441         all binaries that you've compiled on -current.  You are warned
442         that before upgrading would be a good time to do a level 0
443         dump of your system.  No, really, I mean it this time.
444
445         To get to the new system, you'll need to use the following
446         workaround.  Hopefully this can be sorted out so that we
447         don't have to move this to the updating section.
448
449         To get around the installworld problem, do:
450                 # cd /usr/src/usr.bin/sed
451                 # make install
452                 # cd /usr/src
453                 # make installworld
454         If that doesn't work, then try:
455                 # make -k installworld
456                 # make installworld
457
458 20010207:
459         DEVFS is now the default.  If you use vinum, make sure that you
460         do not include devfs in your kernel as problems result.
461
462 20010205:
463         FFS_ROOT and CD9660_ROOT have been removed or deprecated.
464         Remove them from your config.
465
466 20010122:
467         ****************************** WARNING ******************************
468                         buildkernel has been changed slightly
469         ****************************** WARNING ******************************
470         KERNCONF replaces the variable KERNEL for buildkernel.  You
471         should update your scripts and make.conf accordingly.
472
473 20010119:
474         config has changed to allow DEV_FOO as a replacement for NFOO.
475         This requires a new config to build correctly.
476
477 20010116:
478         The kerrnel option I386_CPU is now mutually exclusive with the
479         other cpu types. If you have an i386 system, be sure that it
480         only had this line.  Remove it for all other configurations.
481
482 20010110:
483         Changes to the kernel require it and burncd be in sync.
484
485 20010102:
486         Everyone who has hw.sndunit set to something in
487         /etc/sysctl.conf, it is now hw.snd.unit.
488
489 20010101:
490         ex and vi were broken by some changes to sys/queue.h.  If you
491         have a bad vi, you will see make buildworld fail with a core
492         dump while building termcap.  You can work around this problem
493         by adding -k to your make buildworld.  This will cause the
494         build to complete and install a new vi.  Once that's done, you
495         can rebuild again without the -k to pick up anything that
496         might have been ignored by the -k option.
497
498         Others have suggested that you can just rebuild libc if your
499         vi/ex is dynamically linked, but I've not received any reports
500         of this working.
501
502 20001228:
503         There have been some changes to libcrypt in -current.  The
504         libscrypt/libdescrypt symlink sillyness is gone and the installed
505         libcrypt is fully functional.  Be aware of this.
506
507 20001218:
508         Linksys Fast Ethernet PCCARD cards supported by the ed driver
509         now require the addition of flag 0x80000 to their config line
510         in pccard.conf(5).  This flag is not optional.  These Linksys
511         cards will not be recognized without it.
512
513 20001205:
514         Important new FreeBSD-version stuff: PAM support has been worked
515         in, partially from the "Unix" OpenSSH version.  This requires
516         adding the following in pam.conf:
517   
518         sshd    auth    sufficient      pam_skey.so
519         sshd    auth    required        pam_unix.so         try_first_pass
520         sshd    session required        pam_permit.so
521
522 20001031:
523         cvs updated to 1.11.
524
525 20001020:
526         The random device needs more entropy, so you need to make sure
527         that you've run mergemaster to get a /etc/rc which will seed
528         /dev/random.  If you don't and the system hangs after ldconfig,
529         then banging on the keyboard randomly until it unhangs is one
530         workaround.
531
532 20001010:
533         ****************************** WARNING ******************************
534                                 Sendmail has been updated.
535         ****************************** WARNING ******************************
536         o mail.local(8) is no longer installed as a set-user-id binary.
537         o sendmail(8) is now built with STARTTLS support unless NO_OPENSSL
538           is set.
539         o The default /etc/mail/sendmail.cf disables the SMTP EXPN and VRFY
540           commands.
541         o Now using sendmail's version of vacation(1).
542         o The sendmail cf building tools (contrib/sendmail/cf) are installed
543           in /usr/share/sendmail/cf.
544         o sendmail.cw changed to local-host-names
545
546         More details can be found at
547                 http://people.freebsd.org/~imp/UPDATING/sendmail-20001010
548
549 20001009:
550         The ports tree's new layout is in place.  Be sure to update
551         your entire ports tree, or you will have problems.
552
553 20001006:
554         The perl build procedure no longer installs miniperl, nor uses
555         the installed miniperl.  It is recommended that you delete
556         /usr/bin/miniperl.
557
558 20001005:
559         This weekend the ports tree will be updated to a new layout.
560         It will be in an inconsistent state until noted in the UPDATING
561         file, or with asami-san's message to the relevant mailing
562         lists.  With this new layout, you'll need to update the whole
563         tree for anything to work.
564
565 20000928:
566         There was a change in the passwd format.  Need more information.
567
568 20000916:
569         /boot/kernel/kernel.ko -> /boot/kernel/kernel change has taken
570         place.  Please update boot loader (not the boot blocks) at the
571         same time as your kernel.
572
573 20000914:
574         The new pmtimer device is necessary for laptops.  Failure to
575         include the device will cause suspended laptops losing time
576         when they resume.  Include
577                 device          pmtimer
578         in your config file and
579                 hint.pmtimer.0.at="isa"
580         to your /boot/device.hints file.
581
582 20000911:
583         The random device has been turned into a (pseudo-)device,
584         rather than an option. The supplied kernel config files have
585         been updated. You will need to do something similar in your
586         own kernel config file.
587         Remove:
588                 options         RANDOMDEV
589         Add:
590                 device          random
591         If you prefer to load the loadable module, you need to do
592         nothing.
593
594 20000909:
595         The random device module has been renamed from randomdev.ko to
596         random.ko. You will need to edit your /boot/loader.conf to
597         reflect this if you load this module at boot time.
598         The line should read:
599                 random_load="YES"
600
601 20000907:
602         The SMPNG commit has happened.  It should work, but if it
603         doesn't, fallback to the PRE_SMPNG CVS tag.  There are likely
604         to be a variety of minor issues.  Please see 20000905 to make
605         sure you don't have model loading problems which might at
606         first blush appear related to SMP.
607
608 20000906:
609         nsswitch has been imported from NetBSD.  Among other things,
610         this means that /etc/host.conf is no longer used.  See
611         nsswitch.conf(5) instead.  Note that at boot time rc.network
612         will attempt to produce a new nsswitch.conf file for you if you
613         don't have one, and you have host.conf.
614
615 20000905:
616         The ucred structure changed size.  This breaks the interface
617         that mountd uses.  Trying to use an older mountd with a newer
618         kernel guarantees a panic.  This means that you need to use
619         kernels newer than today only with matching mountd, but you
620         needed to do that anyway with the boot loader changes.
621
622 20000905:
623         The boot loader has been updated.  The new default kernel is
624         now /boot/kernel/kernel.ko.  The new default module location
625         is /boot/kernel.
626
627         You *MUST* upgrade your boot loader and kernel at the same time.
628         The easiest way to do this is to do the buildworld/buildkernel/
629         installkernel/installworld dance.
630
631         Furthermore, you are urged to delete your old /modules directory
632         before booting the new kernel, since kldload will find stale
633         modules in that directory instead of finding them in the correct
634         path, /boot/kernel.  The most common complaint that this cures
635         is that the linux module crashes your machine after the update.
636
637         if [ ! -d /boot/kernel.old ]; then
638                 mv /modules.old /boot/kernel.old
639                 chflags noschg /kernel.old
640                 mv /kernel.old /boot/kernel.old/kernel.ko
641                 chflags schg /boot/kernel.old/kernel.ko
642         fi
643
644 20000904:
645         A new issue with the sendmail upgrade has come to light.
646         /etc/aliases has moved to /etc/mail/aliases.  Mergemaster will 
647         incorrectly install the default aliases in /etc/mail rather than
648         move the old one from /etc.  So you'll need to manually move the
649         file, create a symbolic link, remove the old /etc/aliases.db and
650         run newaliases.  For safety sake, you should stop sendmail
651         while doing this and run the upgrade when locally sourced email
652         is not likely to be generated.
653
654 20000825:
655         /boot/device.hints is now required for installkernel to
656         succeed.  You should copy GENERIC.hints for your architecture
657         into /boot/device.hints.  If and only if you compile hints
658         into your kernel, then this file may be empty.  Please note,
659         if you have an empty or missing /boot/device.hints file and
660         you neglected to compile hints into your kernel, no boot
661         messages will appear after the boot loader tries to start the
662         kernel.
663
664 20000821:
665         If you do NOT have ``options RANDOMDEV'' in your kernel and
666         you DO want the random device then add randomdev_load="YES" to
667         /boot/loader.conf.
668
669 20000812:
670         suidperl is now always built and installed on the system, but
671         with permissions of 511.  If you have applications that use
672         this program, you are now required to add ENABLE_SUIDPERL=true
673         to /etc/make.conf.  If you forget to do this,
674                 chmod 4511 /usr/bin/suidperl
675         will fix this until the next build.
676
677 20000812:
678         sendmail has been updated from 8.9.3 to 8.11.0.  Some of the more
679         visible changes that may immediately affect your configuration
680         include:
681         - New default file locations from src/contrib/sendmail/cf/README
682         - newaliases limited to root and trusted users
683         - MSA port (587) turned on by default
684         - New queue file naming system so can't go from 8.11 -> 8.9
685         - FEATURE(`rbl') renamed to FEATURE(`dnsbl')
686         - FEATURE(`nullclient') is more full featured
687         - FEATURE(`nouucp') requires an argument: `reject' or `nospecial'
688         - mail.local FreeBSD-only -b option changed to -B
689         - See src/contrib/sendmail/RELEASE_NOTES for more info
690
691 20000810:
692         suidperl (aka sperl) is no longer build by default.  You must
693         specifically define BUILD_SUIDPERL to "true" for it to be build.
694         Furthermore, we recommend that you remove /usr/bin/sperl* and
695         /usr/bin/suidperl files from your system unless you have a
696         specific use for it.
697
698 20000729:
699         Networking defaults have been tightened.  Anybody upgrading
700         /etc/defaults/rc.conf needs to add the following lines to
701         /etc/rc.conf if they want to have the same setup
702         afterwards (unless the variables already are set, of course):
703                 # Enable network daemons for user convenience.
704                 inetd_enable="YES"
705                 portmap_enable="YES"
706                 sendmail_enable="YES"
707
708 20000728:
709         If you have null_load="YES" in your /boot/loader.conf, you
710         will need to change that to nullfs_load="YES".
711
712 20000728:
713         The "installkernel" target has changed slightly. Now even if
714         you override KERNEL e.g. 'make installkernel KERNEL=MYKERNEL'
715         it will install the MYKERNEL file (built with the buildkernel
716         target) as /kernel rather than /MYKERNEL. Those who have
717         updated their /boot/loader.conf files to point to /MYKERNEL
718         should remove that entry or perform manual rename of /kernel
719         to /MYKERNEL.
720
721 20000711:
722         If you use CVSUP or CTM to get CVS trees, AND you used to get 
723         the old crypto files from internat.freebsd.org AND you check
724         out files from the CVS tree with the cvs command, please read
725                 http://people.freebsd.org/~imp/internat.txt
726         for details on potential problems that you might have and how
727         to get around them.
728
729         If you are merely a mirror, or don't answer yes to each of the
730         clauses above, you needn't worry.
731
732 20000711:
733         /etc/security has been updated to print the inode number of
734         setuid programs that have changed.  You will see a large spike
735         in the number of changed programs the first time when you run
736         mergemaster to get a new /etc/security.
737
738 20000710:
739         /dev/random now has good entropy collection (from the keyboard
740         and sysmouse drivers). Please ensure that either `options
741         RANDOMDEV' is present in your kernel config file or that
742         `randomdev_load="YES"' is in your /boot/loader.conf. If you do
743         not have the /dev/random driver, OpenSSL (and consequently
744         lots of crypto tools (like SSH)) will fail with strange
745         errors. (see below, 20000624).
746
747         FreeBSD-current is safe again to run Crypto.
748
749 20000709:
750         phk made the malloc default options AJ.  This may slow things
751         down and uncover other latent bugs in the code.  If you need to
752         run at full speed, you can disable this by doing the following:
753                 ln -s aj /etc/malloc.conf
754
755 20000706:
756         libftpio's version was accidentally bumped a few days ago.  This
757         has been corrected.  You may need to remove /usr/lib/libftpio.so.6
758         before doing your next buildworld/installworld pair.  It certainly
759         won't hurt to remove it before the update procedure.  It will
760         break fetch until a new one is built, but ftp can be used in the
761         interim if needed.
762
763 20000705:
764         The crypto packages have changed for the cvsup.  This has been done
765         in a backward compatible way, but the old packages will go away at
766         some point in the future.  Look at /usr/share/examples/cvsup for
767         details.
768
769 20000704:
770         With the new sys/modules/sound/drivers/*, you will need to
771         set SYSDIR until you do an installworld after July 7th.
772
773 20000704:
774         rc.shutdown and rc will now call the rc.d scripts with start
775         or stop.  This may cause some harmless warnings from older
776         rc.d scripts that haven't been updated.
777
778 20000630:
779         The libfetch based version of fetch has gone into the tree.
780         Minor problems may result on some of the less popular sites,
781         which should be reported to des@freebsd.org.
782
783 20000625:
784         From approximately this date forward, one must have the crypto
785         system installed in order to build the system and kernel.
786         While not technically strictly true, one should treat it as
787         required and grab the crypto bits.  If you are grabbing CVS
788         trees, src-all and cvs-crypto should be treated as if they
789         were required.  You should check with the latest collections
790         to make sure that these haven't changed.
791
792 20000624:
793         Mark Murray just committed the first parts of a cleanup of
794         /dev/zero, et al.  This is also cleaning up /dev/random.
795         The entropy is disconnected, so DO NOT USE VERSIONS OF FREEBSD
796         -CURRENT FROM THIS POINT to 2000710 for cryptographic services
797         until Mark can merge in the fixes to this work in progress.
798         openssh and openssl should not be used to generate keys from this
799         date to the completion of the work.
800
801         If you must operate at this reduced level of security, add '
802         options RANDOMDEV' to your kernel or modload the randomdev
803         module.  You may also need to copy a new MAKEDEV to /dev and
804         recreate the random and urandom devices.
805
806 20000622:
807         The license on the softupdates is now a standard 2 clause
808         BSD license.  You may need to remove your symbolic links
809         that used to be required when updating.
810
811 20000621:
812         Scott Flatman <sf@aracnet.com> sent in a decent write-up on
813         the config file update procedure.
814                 http://people.freebsd.org/~imp/config-upd.html
815         NOTE: LINT is gone.  It has been replaced with NOTES.  NOTES
816         isn't buildable.  However, you can generate a LINT file.
817
818 20000620:
819         Binutils 2.10 have hit the tree, or will shortly.  As soon
820         as they do, the problem noted in 20000522 will be resolved and
821         that workaround will no longer be required.
822
823 20000615:
824         phk removed the compatibility creation of wd devices in the
825         ad driver.  If you haven't done so already, you must update
826         your fstab, etc to use the ad devices instead of the wd
827         devices.
828
829         In addition, you'll need to update your boot blocks to a
830         more modern version, if you haven't already done so.  Modern
831         here means 4.0 release or newer (although older releases
832         may work).
833
834 20000612:
835         Peter took an axe to config(8).  Be sure that you read his mail
836         on the topic before even thinking about updating.  You will
837         need to create a /boot/device.hints or add a hints directive
838         to your config file to compile them in statically.  The format
839         of the config file has changed as well.  Please see GENERIC or
840         NEWCARD for examples of the new format.
841
842         Indirectly, this also breaks USERCONFIG.  Unless a newer entry
843         says that it has been fixed, assume that must use the hints mechanism
844         in the loader if you need to use a machine with very old ISA cards
845         in it.
846
847 20000522:
848         A new set of binutils went into the tree today.  Anybody
849         building a kernel after this point is advised that they need
850         to rebuild their binutils (or better yet do a
851         buildworld/installworld) before building a new kernel.
852
853         Due to bugs in binutils, using malloc options (eg /etc/malloc.conf
854         or MALLOC_OPTIONS env var) J will cause ld to dump core.  It
855         is recommended that you don't set this option until the problem
856         is resolved.
857
858 20000513:
859         The ethernet drivers were all updated to clean up the BPF handling.
860
861 20000510:
862         The problems with boot blocks on the alphas have been corrected.
863         This will require some care in updating alphas.  A new libstand
864         is requires for the boot blocks to build properly.
865
866 20000503:
867         Recompile all kld modules.  Proper version dependency info
868         is now available.
869
870 20000502:
871         Modules have been disconnected from the buildworld tree and 
872         connected to the kernel building instead.
873
874 20000427:
875         You may need to build gperf
876                 cd /usr/src/gnu/usr.bin/gperf && make depend all install
877         when upgrading from 4.0 -> current.  The build system now uses
878         an option only in -current.
879
880 20000417:
881         The method that we brand ELF binaries has changed to be more
882         acceptable to the binutils maintainers.  You will need to
883         rebrand your ELF binaries that aren't native.  One problem
884         binary is the Linux ldconfig.  After your make world, but
885         before you reboot, you'll need to issue:
886                 brandelf -t Linux /compat/linux/sbin/ldconfig
887         if you have Linux compatibility enabled on your machine.
888
889 20000320:
890         If you have really bad/marginal IDE drives, you may find they
891         don't work well.  Use pio mode instead.  The easiest way to
892         cope if you have a problem combination is to add:
893                 /sbin/sysctl hw.ata.ata_dma=0
894         to the start of /etc/rc.conf.
895
896 20000319:
897         The ISA and PCI compatibility shims have been connected to the
898         options COMPAT_OLDISA and COMPAT_OLDPCI.  If you are using old
899         style PCI or ISA drivers (i.e. tx, voxware, etc.) you must
900         include the appropriate option in your kernel config.  Drivers
901         using the shims should be updated or they won't ship with
902         5.0-RELEASE, targeted for 2001.
903
904 20000318:
905         We've entered the traditional post release dumping party.
906         Large kernel changes are being committed and are in the
907         works.  It is important to keep the systems' klds and kernel
908         in sync as kernel interfaces and structures are changing.
909         Before reporting kernel panics, make sure that all modules
910         that you are loading are up to date.
911
912 20000315:
913         If you are upgrading from an older version of FreeBSD, you
914         need to update your boot blocks as well.  'disklabel -B ad0'
915         will do the trick.  This isn't critical until you remove your
916         wd device entries in /dev, at which point your system will not
917         boot.
918
919 20000315:
920         4.0 RELEASE shipped.  Please see the 4.0 UPDATING file for how
921         to upgrade to 4.0 from 3.x.
922
923 COMMON ITEMS:
924
925         General Notes
926         -------------
927         Avoid using make -j when upgrading.  From time to time in the
928         past there have been problems using -j with buildworld and/or
929         installworld.  This is especially true when upgrading between
930         "distant" versions (eg one that cross a major release boundary
931         or several minor releases, or when several months have passed
932         on the -current branch).
933
934         Sometimes, obscure build problems are the result of environment
935         poisoning.  This can happen because the make utility reads its
936         environment when searching for values for global variables.
937         To run your build attempts in an "environmental clean room",
938         prefix all make commands with 'env -i '.  See the env(1) manual
939         page for more details.
940
941         To build a kernel
942         -----------------
943         If you are updating from a prior version of FreeBSD (even one just
944         a few days old), you should follow this procedure. With a
945         /usr/obj tree with a fresh buildworld,
946         make buildkernel KERNCONF=YOUR_KERNEL_HERE
947         make installkernel KERNCONF=YOUR_KERNEL_HERE
948
949         To just build a kernel when you know that it won't mess you up
950         --------------------------------------------------------------
951         cd src/sys/{i386,alpha}/conf
952         config KERNEL_NAME_HERE
953         cd ../../compile/KERNEL_NAME_HERE
954         make depend
955         make
956         make install    
957
958         If this fails, go to the "To build a kernel" section.
959
960         To rebuild everything and install it on the current system.
961         -----------------------------------------------------------
962         make world
963         Build a new kernel, see above.
964
965         To upgrade from 4.x-stable to current
966         -------------------------------------
967         make buildworld
968         make buildkernel KERNCONF=YOUR_KERNEL_HERE
969         cp src/sys/${MACHINE_ARCH}/conf/GENERIC.hints /boot/device.hints [2]
970         make installkernel KERNCONF=YOUR_KERNEL_HERE
971         reboot in single user [3]
972         mergemaster -p          [5]
973         make installworld
974         mergemaster             [4]
975         [1]
976         <reboot>
977
978         Make sure that you've read the UPDATING file to understand the
979         tweaks to various things you need.  At this point in the life
980         cycle of current, things change often and you are on your own
981         to cope.  The defaults can also change, so please read ALL of
982         the UPDATING entries.
983
984         Also, if you are tracking -current, you must be subscribed to
985         freebsd-current@freebsd.org.  Make sure that before you update
986         your sources that you have read and understood all the recent
987         messages there.  If in doubt, please track -stable which has
988         much fewer pitfalls.
989
990         [1] If you have third party modules, such as vmware, you
991         should disable them at this point so they don't crash your
992         system on reboot.
993
994         [2] If you have legacy ISA devices, you may need to create
995         your own device.hints to reflect your unique hardware
996         configuration.
997
998         [3] From the bootblocks, boot -s, and then do
999                 fsck -p
1000                 mount -u /
1001                 mount -a
1002                 cd /usr/src
1003                 adjkerntz -i            # if CMOS is wall time
1004         Also, when doing a major release upgrade, it is required that
1005         you boot into single user mode to do the installworld.
1006
1007         [4] Note: This step is non-optional.  Failure to do this step
1008         can result in a significant reduction in the functionality of the
1009         system.  Attempting to do it by hand is not recommended and those
1010         that pursue this avenue should read this file carefully, as well
1011         as the archives of freebsd-current and freebsd-hackers mailing lists
1012         for potential gotchas.
1013
1014         [5] Usually this step is a noop.  However, from time to time
1015         you may need to do this if you get unknown user in the following
1016         step.  It never hurts to do it all the time.  You may need to
1017         install a new mergemaster (cd src/usr.sbin/mergemaster && make
1018         install) after the buildworld before this step if you last updated
1019         from current before 20020224 or from -stable before 20020408.
1020
1021 FORMAT:
1022
1023 This file contains a list, in reverse chronological order, of major
1024 breakages in tracking -current.  Not all things will be listed here,
1025 and it only starts on March 15, 2000.  Updating files can found in
1026 previous releases if your system is older than this.
1027
1028 Copyright information:
1029
1030 Copyright 1998, 2002 M. Warner Losh.  All Rights Reserved.
1031
1032 Redistribution, publication, translation and use, with or without
1033 modification, in full or in part, in any form or format of this
1034 document are permitted without further permission from the author.
1035
1036 THIS DOCUMENT IS PROVIDED BY WARNER LOSH ``AS IS'' AND ANY EXPRESS OR
1037 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1038 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
1039 DISCLAIMED.  IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT,
1040 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
1041 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
1042 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
1043 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
1044 STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
1045 IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1046 POSSIBILITY OF SUCH DAMAGE.
1047
1048 If you find this document useful, and you want to, you may buy the
1049 author a beer.
1050
1051 Contact Warner Losh if you have any questions about your use of
1052 this document.
1053
1054 $FreeBSD$