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