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