Implement the Eifel Dectection Algorithm for TCP (RFC 3522).
[dragonfly.git] / UPDATING
1 Updating Information for FreeBSD STABLE 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 A reverse chronology since 4.0 was released is included, followed by
8 the common items quick how-tos, followed by entries for versions of
9 -current prior to 4.0 Release.
10
11
12 20030403:
13         FreeBSD 4.8-RELEASE.
14
15 20030214:
16         OpenSSL 0.97 has been imported, and the libcrypto/libssl
17         library versions have been bumped.
18
19 20030213:
20         sendmail 8.12.7 has been imported.  It has one important
21         change for IPv6 users.  The default submit.mc now uses
22         '[127.0.0.1]' instead of 'localhost' meaning only IPv4 is
23         used to connect to the MTA.  Users on IPv6-only machines
24         will need to edit /etc/mail/submit.mc appropriately.
25
26 20021110:
27         The definitions of the standard file streams (stdin, stdout, and
28         stderr) have changed so that they are no longer compile-time 
29         constants.  Some older binaries may require updated 3.X 
30         compatability libraries (for example, by setting COMPAT3X=yes 
31         for a buildworld/installworld).
32
33 20021010:
34         FreeBSD 4.7-RELEASE.
35
36 20020807:
37         COPY is being deprecated.  The 20020703 change was reverted, as
38         it causes far more pain than was expected, and to always compare
39         before installing, please use INSTALL="install -C" again.  The
40         -C option is now silently ignored when used with the -d option.
41
42 20020704:
43         OpenSSH has been upgraded to 3.4p1 and fully PAMified.  Note
44         that the protocol version now defaults to 2 rather than 1,
45         which means clients might get warnings about unknown host keys
46         their hostfiles only list the ssh1 RSA key.  See ssh_config(5)
47         and sshd_config(5) for more information on configuring ssh and
48         sshd.
49
50 20020703:
51         The install(1) utility no longer allows the -d and -C options
52         to be specified together.  "INSTALL=install -C" in make.conf
53         should be replaced with "COPY=-C".
54
55 20020615:
56         FreeBSD 4.6-RELEASE.
57
58 20020515:
59         The k5su utility installed as part of Kerberos 5 is no longer
60         installed with the set-user-ID bit set by default.  Add
61         ENABLE_SUID_K5SU=yes to /etc/make.conf to have it installed
62         with the set-user-ID bit set.
63
64 20020501:
65         The ephemeral port range change that was previously mentioned
66         in this document has been reverted, so any changes it required
67         to your system may be reverted as well.  Those who missed the
68         change should ignore this notice.
69
70 20020421:
71         inetd_enable was changed back to YES, to match the defaults
72         earlier in the 4.0-stable branch.  This change restores the
73         daemons that were enabled prior to April 15th.
74
75         When exec'ing set[ug]id executables, the kernel now ensures that the
76         stdio file descriptors (0..2) are open.  See FreeBSD-SA-02:23.stdio.
77
78 20020420:
79         sendmail_enable was changed back to YES, to match the
80         defaults earlier in the 4.0-stable branch.
81
82 20020415:
83         Many denizens of /etc were MFC'ed. While most of the changes
84         are very benign, some of them have created a bit of a stir.
85         Use the new version of mergemaster to update /etc, either by
86         updating /etc after installworld, or by doing:
87         cd /usr/src/usr.sbin/mergemaster; make -m /usr/src/share/mk all install
88         before you run installworld.
89
90         Then use the new -C option to double-check your rc.conf settings.
91         You should also double-check settings in [defaults/]rc.conf,
92         syslog.conf, newsyslog.conf, and anything else important
93         to your system.
94
95         The two most important changes to note: sendmail and inetd were
96         turned off by default.  If you need them, please turn them back
97         on by adding sendmail_enable=YES and/or inetd_enable=YES to
98         /etc/rc.conf.
99
100 20020411:
101         New sendmail startup scripts have been installed to make it
102         easier to use alternative MTAs with FreeBSD.  The rc.conf
103         variable mta_start_script can be set to a script for starting
104         an alternative MTA or to "" to prevent any MTA from being
105         started at boot.
106
107 20020404:
108         The sendmail startup code in /etc/rc has been changed to deal
109         with a non-set-user-ID sendmail binary.  Setting the rc.conf
110         variable sendmail_enable to "NO" no longer prevents any sendmail
111         daemons from starting.  Instead, set sendmail_enable to "NONE"
112         to prevent any MTA from being started at boot.
113
114 20020404:
115         Due to the import of sendmail 8.12.2 (see 20020325 entry), a new
116         user and group are required in order for sendmail to run as a
117         set-group-ID binary.  A 'make installworld' will use the new user
118         and group to set the owner and group of /var/spool/clientmqueue
119         and will fail if the new user and group do not exist.  The 'smmsp'
120         user and group must be merged from src/etc/group and
121         src/etc/master.passwd before using 'make installworld'.
122         'mergemaster -p' will do this.  You may need to install
123         mergemaster before this will work if you are updating from a
124         very old version of stable.  This can be done with:
125         cd /usr/src/usr.sbin/mergemaster; make -m /usr/src/share/mk all install
126
127 20020325:
128         sendmail 8.12.2 has been imported.  The sendmail binary is no
129         longer a set-user-ID root binary and the infrastructure to support
130         command line mail submission has changed.  Be sure to run
131         mergemaster (especially for updating /etc/rc, /etc/defaults/rc.conf,
132         and /etc/mail) and read /etc/mail/README for more details.
133
134 20020318:
135         The ata(4) driver has been updated from the version in -CURRENT.  
136         As a result, some device nodes in /dev have changed; it will be 
137         necessary to update MAKEDEV and re-make the device nodes.
138         mergemaster(8) will offer to do this as a part of its upgrade
139         procedure.
140
141 20020129:
142         FreeBSD 4.5-RELEASE.
143
144 20020105:
145         The locale names have been renamed in -stable to match
146         -current:
147                 1. ISO_* -> ISO*
148                 2. ru_SU* -> ru_RU*
149                 3. DIS_* -> ISO*-15
150                 4. *.ASCII -> *.US-ASCII
151
152 20011202:
153         A security hole in OpenSSH involving `UseLogin yes' has been
154         patched.
155
156 20011110:
157         Some linux module changes, merged from current, require that you
158         clean out the old compile directory.  If you are building with
159         MODULES_WITH_WORLD=yes, then you need to cd to src/sys/modules/linux
160         and run "make cleandir".  If not, then you need to cd
161         src/sys/compile/$KERNCONF and do a make modules-clean.
162
163 20011102:
164         ipfw/bridge/dummynet features merged from current.
165
166 20011018:
167         The kernel Makefile was enhanced to pass -g to modules builds
168         when it is used for kernel building (eg, when the config file
169         has DEBUG=-g).  People that have enabled debugging kernels
170         will find they need significantly more disk space in their
171         slash (/) partition.
172
173 20010928:
174         The OpenSSH `ChallengeResponseAuthentication' option now
175         defaults to `yes'.  This enables S/Key authentication, which
176         can result in users receiving an S/Key challenge when logging
177         in interactively.  To disable this behavior, add a line to
178         your /etc/ssh/sshd_config file:
179         `ChallengeResponseAuthentication no'
180
181 20010914:
182         4.4 Released.
183
184 20010814:
185         The pci attachment for pcic device was merged from current.  You
186         should update your pccardd at the same time as you update your
187         kernel.
188
189         Note: Interrupts will now be shared between the CardBus bridge
190         and the cards.  This is a change over the hand configuration
191         before.
192
193 20010811:
194         isdn4bsd was updated to version 1.00.1. for users of the isp<N>
195         (kernel PPP over ISDN) devices, this means that they now _must_
196         use ispppcontrol instead of spppcontrol to configure and control
197         their isp<N> devices. see /usr/share/examples/isdn for more info.
198
199 20010725:
200         The ed driver has been updated.  It now allows mii attachments,
201         which means that you must include the miibus in your kernel if
202         you use the ed driver.
203
204 20010724:
205         The gif(4) interface has been converted to use cloning
206         rather then allocating a static number of devices a compile
207         time.  If you use gif interfaces and configure them by any
208         method other then setting standard variables in /etc/rc.conf
209         you will need to update your system to create devices with
210         "ifconfig gifX create" before attempting to configure them.
211         
212         See the ifconfig(8) man page and /etc/rc.network for more
213         information.
214
215 20010611:
216         The TCP_RESTRICT_RST option has been removed. You should entirely
217         remove it from your kernel configuration.
218
219         The same functionality is available from the blackhole(4) MIB.
220
221 20010531:
222         The wd compat devices were removed from the ata driver.  Kernels
223         after this date will fail to work with /dev/ nodes that you may
224         have on your disk.  /etc/fstab is a common place to find these
225         files hanging out, as are dump devices in /etc/rc.conf.
226
227 20010521:
228         Minor repo damange has happened.  This may cause problems
229         with cvsup of ports.  If you get errors, please see
230         http://www.FreeBSD.org/cgi/query-pr.cgi?pr=27495
231         at the bottom for details on a workaround.  The error message
232         is
233 Updater failed: Cannot delete "/usr/ports/www/jakarta-tomcat/files": Directory not empty
234
235 20010516:
236         Size changes in the cred structures introduced a binary
237         incompatibility for modules using the crhold() macro.  Modules
238         should be recompiled for kernel later than this date.
239
240 20010510:
241         The fxp driver from current has been ported to -stable.  This
242         requires kernels that include fxp to also include mii bus devices.
243         See GENERIC for details.
244
245 20010421:
246         FreeBSD 4.3 RELEASE
247
248 20010402:
249         It appears that PERL_THREADED=true in /etc/make.conf is not
250         compatible with mod_perl.  Not sure the exact date of this problem,
251         but it post dates 4.2 and predates 4.3.
252
253 20010202:
254         The KERNEL variable for buildkernel and installkernel has been
255         deprecated in favor of KERNCONF.  make kernel now combines these
256         two steps.
257
258 20010117:
259         Linksys Fast Ethernet PCCARD cards supported by the ed driver
260         now require the addition of flag 0x80000 to their config line
261         in pccard.conf(5).  This flag is not optional.  These Linksys
262         cards will not be recognized without it.
263
264 20010112:
265         Important new FreeBSD-version stuff: PAM support has been worked
266         in, partially from the "Unix" OpenSSH version.  This requires
267         adding the following in pam.conf:
268   
269         sshd    auth    sufficient      pam_skey.so
270         sshd    auth    required        pam_unix.so         try_first_pass
271         sshd    session required        pam_permit.so
272
273 20010109:
274         ipfw interface changed.  Make sure that the userland and kernel match
275         or you won't have the firewall rules you think you do.
276
277 20001120:
278         FreeBSD 4.2 RELEASE.
279
280 20001020:
281         ****************************** WARNING ******************************
282                                 Sendmail has been updated.
283         ****************************** WARNING ******************************
284         o mail.local(8) is no longer installed as a set-user-id binary.
285         o sendmail(8) is now built with STARTTLS support unless NO_OPENSSL
286           is set.
287         o The default /etc/mail/sendmail.cf disables the SMTP EXPN and VRFY
288           commands.
289         o Now using sendmail's version of vacation(1).
290         o The sendmail cf building tools (contrib/sendmail/cf) are installed
291           in /usr/share/sendmail/cf.
292         o sendmail.cw changed to local-host-names
293
294         More details can be found at
295                 http://people.freebsd.org/~imp/UPDATING/sendmail-20001010
296
297 20001009:
298         The ports tree's new layout is in place.  Be sure to update
299         your entire ports tree, or you will have problems.
300
301 20001006:
302         The perl build procedure no longer installs miniperl, nor uses
303         the installed miniperl.  It is recommended that you delete
304         /usr/bin/miniperl.
305
306 20000925:
307         FreeBSD 4.1.1 RELEASE.
308
309 20000907:
310         Changes to libkvm requires a recompile of the usual suspects.
311         (find /usr/src -name Makefile | xargs egrep -l LIBKVM)
312         This means that your world must match your kernel around this
313         point.
314
315 20000904:
316         A new issue with the sendmail upgrade has come to light.
317         /etc/aliases has moved to /etc/mail/aliases.  Mergemaster will 
318         incorrectly install the default aliases in /etc/mail rather than
319         move the old one from /etc.  So you'll need to manually move the
320         file, create a symbolic link, remove the old /etc/aliases.db and
321         run newaliases.  For safety sake, you should stop sendmail
322         while doing this and run the upgrade when locally sourced email
323         is not likely to be generated.
324
325 20000827:
326         sendmail has been updated from 8.9.3 to 8.11.0.  Some of the more
327         visible changes that may immediately affect your configuration
328         include:
329         - New default file locations from src/contrib/sendmail/cf/README
330         - newaliases limited to root and trusted users
331         - MSA port (587) turned on by default
332         - New queue file naming system so can't go from 8.11 -> 8.9
333         - FEATURE(`rbl') renamed to FEATURE(`dnsbl')
334         - FEATURE(`nullclient') is more full featured
335         - FEATURE(`nouucp') requires an argument: `reject' or `nospecial'
336         - mail.local FreeBSD-only -b option changed to -B
337         - See src/contrib/sendmail/RELEASE_NOTES for more info
338
339 20000803:
340         The "installkernel" target has changed slightly. Now even if
341         you override KERNEL e.g. 'make installkernel KERNEL=MYKERNEL'
342         it will install the MYKERNEL file (built with the buildkernel
343         target) as /kernel rather than /MYKERNEL. Those who have
344         updated their /boot/loader.conf files to point to /MYKERNEL
345         should remove that entry or perform manual rename of /kernel
346         to /MYKERNEL.
347
348 20000724:
349         FreeBSD 4.1 RELEASE
350
351 20000711:
352         If you use CVSUP or CTM to get CVS trees, AND you used to get 
353         the old crypto files from internat.freebsd.org AND you check
354         out files from the CVS tree with the cvs command, please read
355                 http://people.freebsd.org/~imp/internat.txt
356         for details on potential problems that you might have and how
357         to get around them.
358
359         If you are merely a mirror, or don't answer yes to each of the
360         clauses above, you needn't worry.
361
362 20000707:
363         We started building modules here.  IF you don't wish to
364         follow the documented procedure for building kernels, then
365         you'll have to install new mk files from src/share/mk, or
366         define NO_MODULES.
367
368 20000706:
369         Binutils were updated.  In order to build a kernel after this
370         date, you must follow the updating procedure for building
371         kernels exactly as presented here.  You may be able to get away
372         with doing it the old way, but if it breaks, make sure that you've
373         tried the "To build a kernel" section with a fresh /usr/obj
374         first.
375
376 20000622:
377         The license on the softupdates is now a standard 2 clause
378         BSD license.  You may need to remove your symbolic links
379         that used to be required when updating.
380
381 20000501:
382         At approximately this date, an incompatible kernel change
383         was made which means that if you update kernels accross
384         this boundary, you also have to update modules, and vice
385         versa.
386
387 20000315:
388         FreeBSD 4.0 RELEASE.  Historical entries follow the common
389         items.
390
391 ****************************** 4.0 RELEASE ******************************
392
393 COMMON ITEMS:
394
395         To build a kernel
396         -----------------
397         cd /usr/src
398         # If you have not already done so, please buildworld here
399         # You will also need to update your config file to 4.x.  Usually
400         # people tend to start with GENERIC from 4.x and hack from there.
401         make buildkernel KERNCONF=<YOUR_KERNEL_HERE>
402         make installkernel  KERNCONF=<YOUR_KERNEL_HERE>
403         # Verify that the new kernel works, it will be installed as
404         # /kernel
405
406         To rebuild disk /dev entries
407         ----------------------------
408         MAKEDEV should be copied from src/etc/MAKEDEV to /dev before
409         starting the following:
410
411                 For N in the list of disks
412                         MAKEDEV N                       # eg ad0
413                         for M in the list of slices
414                                 MAKEDEV NsMa            # eg ad0s1a
415
416
417         To rebuild everything
418         ---------------------
419         make world
420
421         Except when it doesn't work :-)
422
423         To update from 3.x to 4.x stable
424         --------------------------------
425         ***********************************************************
426         READ -STABLE ARCHIVES FOR THE LAST WEEK OR TWO BEFORE
427         STARTING THIS PROCESS.  UPDATING MAY LAG BEHIND A LITTLE
428         A GOTCHAS ARE OFTEN REPORTED IN FREEBSD-STABLE@FREEBSD.ORG
429         BEFORE BEING INCLUDED HERE.  IF YOU ARE GOING TO DO REMOTE
430         MACHINES, MAKE SURE THAT THE EXACT VERSION YOU ARE UPDATING
431         THEM TO WORKS ON LOCAL MACHINES BEFORE PROCEEDING.
432         ***********************************************************
433         <see notes below>                               [3]
434         cd /usr/src
435         <see notes below>                               [2]
436         make buildworld -DNOPERL
437         <follow directions to build/install a kernel>
438         cd /usr/src/sbin/mknod
439         make install
440         <follow rebuild disk /dev entries above>        [1]
441         reboot
442         <in single user>                                [6]
443         cd /usr/src
444         cd gnu/usr.bin/texinfo/install-info
445         make install
446         cd ../../../..
447         ldconfig -R /usr/obj/usr/src/lib/libc
448         make installworld -DNOPERL                      [5]
449         mergemaster                                     [4]
450         reboot
451         <multi-user>
452
453         [1] You may need to switch from wd to ad ala 19991210.  In
454         addition, you should disable any third party modules such as
455         vmware so that you don't crash your system on reboot.
456         [2] If you have any of the following in your /etc/make.conf,
457         please comment them out before following these instructions
458         and then do a make buildworld + make installworld after you
459         are back to <multi-user> above:
460                 MAKE_KERBEROS4
461         [3] Update to 4.x-stable sources.  Make sure that you get all
462         the parts.  If you are using cvsup files that are older than a
463         couple of months, be sure they have all the components listed
464         in /usr/share/examples/cvsup.  Crypto and secure are now
465         required.
466         [4] This step is not optional.  If you fail to do this, you
467         will not have critical system config files updated for their
468         4.x functionality.  This will lead to reduced system
469         functionality, the biggest problem being with /etc/pam.conf
470         not having the entries necessary to allow remote ssh access.
471         [5] Note: This won't upgrade your perl install.  You will
472         need to rebuild the world on 4.x to update perl.
473         [6] From the bootblocks, boot -s, and then do
474                 fsck -p
475                 mount -u /
476                 mount -a
477                 cd /usr/src
478                 adjkerntz -i            # if CMOS is wall time
479
480         To update from 4.0-RELEASE or later to the most current
481         4.x-STABLE
482         ----------
483         make buildworld
484         make buildkernel KERNCONF=YOUR_KERNEL_HERE
485         make installkernel KERNCONF=YOUR_KERNEL_HERE
486         reboot  (in single user) [1]
487         make installworld
488         mergemaster             [2]
489         reboot
490
491         [1] You can often get away without doing this step as the
492         system will be properly updated.  During the running of the
493         installworld, however, system components may break and other
494         oddities may happen.  Don't do this on systems that aren't
495         otherwise quiet as unpredictable results may happen.  If in
496         doubt, reboot into single user.  For remote installs, keep
497         a separate kernel around and use a serial console if at all
498         possible.  See also note [6] above.
499         [2] If you do not run mergemaster, you will likely hit a
500         number of show stopper problems.  The biggest one is that
501         your /etc/pam.conf won't let you log in using ssh.
502
503 What follows are older entries for those people upgrading from earlier
504 versions of -stable/-current.
505
506 20000308:
507         The binary interface of perl to its modules changed.  You
508         will need to recompile any perl moudles after an
509         installworld.  This includes all ports matching the pattern 
510         /usr/ports/*/p5-*.
511
512 20000303:
513         CMSG_XXX macros offset in <sys/socket.h> has changed to
514         conform RFC-2292.  All affected applications have been
515         corrected.  The i386 platform's offsets haven't changed, but
516         the alpha's did.  When you build and install new kernel on
517         FreeBSD/alpha, you must also do a make world.
518
519 20000225:
520         OpenSSH has been added to FreeBSD.  This may conflict with the
521         ports/security/ssh port since it installs binaries into
522         /usr/bin and the port goes into /usr/local/bin.  Most paths
523         have /usr/bin in the path before /usr/local/bin, so problems
524         may arise.  If you don't want OpenSSH, add NO_OPENSSH=yes to
525         your make.conf.
526
527         You will also need to enable OpenSSH in /etc/rc.conf if you
528         want to run the new servers.  You may need to move your host
529         key and other config files from /usr/local/etc to /etc/ssh.
530
531         OpenSSH's command line parsing, available options and default
532         settings aren't the same as ssh, so some care needs to be
533         taken in its operation.  One should do a full audit of all
534         configuration settings.
535
536 20000205:
537         The xinstall problem has kinda sorta been corrected.  The 
538         following is known to work by the author of UPDATING.  It
539         is what he did to update his laptop.  It is likely the same
540         effect as the work around listed in 20000129.
541                 make buildworld
542                 make installworld       This will fail
543                 cd usr.bin/xinstall
544                 make clean all install NOSHARED=YES
545                 cd ../..
546                 make installworld
547         If it doesn't work for you, then I'm sure that there will be
548         another 100 messages in -current.
549
550 20000204:
551         libipsec version number changed from 2 to 0.  The original
552         commit of Jan 6 incorrectly set this to 2.  Remove
553         /usr/lib/libipsec.so.2* before the buildworld and rebuild
554         anything that uses libipsec.so after you install the new
555         version.
556
557 20000201:
558         The rcmd related functions have been aligned with other BSD
559         implementations.  rlogind and rshd have been changed to use
560         the new API.  A make world is recommended to keep them in sync
561         with the libraries they use.
562
563         http://www.FreeBSD.org/cgi/cvsweb.cgi/src/lib/libc/net/rcmd.c
564         has the details.
565
566 20000129:
567         {set,get}flags have been added to the tree for rather dubious
568         reasons.
569
570         IF AND ONLY IF installworld fails:
571                 make -k -DNOFSCHG installworld
572                 make installworld
573         This issue was resolved Feb 5, 2000.
574
575 20000125:
576         rcmd_af() is added for multiple address family support.  rsh
577         and rlogin have been updated to use this to support INET6.  A
578         make world is recommended to keep them in sync with the
579         libraries they use.
580
581 20000124:
582         The default way that virtual tables in our default C++
583         compiler has changed.  We used to use THUNKS for virtual
584         inheritance.  Unfortunately there are bugs that The GCC
585         developers thought would be fixed in GCC 2.95.  However it
586         isn't.
587
588         After this change existing applications written in C++ may
589         give errors like below when you try to run them:
590
591 /usr/libexec/ld-elf.so.1: /usr/lib/libstdc++.so.3: Undefined symbol "__vt_7filebuf"
592
593         The only fix is to rebuild the application and any C++
594         libraries used.
595
596 20000124:
597         The management of next_writeable has been move from the
598         kernel to userspace. This means that the burncd command
599         must be in sync with the kernel. So make world is your
600         friend.
601
602 20000117:
603         GNU texinfo upgraded to 4.0.  It is recommended that you use
604         make buildworld to update.
605
606 20000117:
607         CAM_VERSION has been increased.  Recompile all programs that
608         depend on it (tosha, camcontrol, etc) when moving to kernels
609         past this date.
610
611 20000115:
612         pccard ioctls changed with a commit to have the kernel tell
613         pccardd which device it created, rather than having pccardd
614         dictate it to the kernel.  Recompile kernel and
615         pccardd/pccardc together.  pccardd/pccardc rely on a kernel
616         Makefile that must be installed prior to building them.  Make
617         world will automatically take care of this issue, but you need
618         to know if you are building by hand.
619
620 20000109:
621         Your kernel config files need to be changed to s/controller/device/
622         in them.  You will need a new version of config to do this.
623
624 20000107:
625         chown & chgrp moved again
626
627         This is a heads up to let you know that you need to 
628                     rm -f /sbin/chown /bin/chgrp
629         after your next `make world'.  Additionally you need to install
630         a new /dev/MAKEDEV (mergemaster(8) will assist you in this).
631
632 20000107:
633         SHA-1 password support gone
634
635         As warned yesterday, I've just removed the ability for
636         libcrypt to understand SHA-1 passwords. This was present but
637         undocumented in the tree for the past few months and was
638         removed so it can be reimplemented properly as part of a
639         revamped libcrypt at a later date. Anyone who was actually
640         making use of the feature will have to update their passwords
641         back to MD5 before they reinstall the library.
642
643 20000106:
644         ioctl numbers changed for dvdio ioctls.  You will need to recompile
645         anything that uses them.  wormcontrol has been deprecated in
646         favor of burncd.
647
648 19991223:
649         Building linux and svr4 compatibility into the kernel now
650         requires /usr/bin/genassym.  Go to /usr/src/usr.bin/genassym,
651         do "make obj ; make clean depend all install" before building
652         your kernel.
653
654 19991218:
655         sendmail.cf has moved from /etc/sendmail.cf to
656         /etc/mail/sendmail.cf.  You may need to adjust /etc/rc.conf
657         and /etc/rc to cope as well as moving sendmail.cf.
658
659 19991216:
660         ntp 4.0.98 has replaced the ancient xntpd.  The daemon name
661         changed from xntpd to ntpd, so you may need to update your
662         /etc/rc.conf file.  The ntp.conf files are compatible with the
663         old release, unless you are using a local reference clock.
664         Details about ntp4 can be found at http://www.ntp.org/.
665
666         xntpd will be cvs removed from the repo in about a week.
667
668 19991213:
669         Soren updated the ata driver.  Please update to at least this
670         version before submitting bug reports.
671
672 19991210:
673         The ata driver has become the primary ata/ide/atapi driver in
674         the kernel.  The wd driver is obsolete.  You should upgrade your
675         machine to the new ata driver.  You will need to follow the
676         directions for updating the devices in the 19991205 entry.  You
677         will need to update all occurances of wd to ad in your config files
678         (/etc/rc.conf, /etc/fstab, etc).  A compatibility device exists
679         for wd for the time being, but once you have determined that
680         ata is working for you, transition to the new ad devices.
681
682 19991205:
683         Block devices are going away.  You will need to update your /dev
684         tree with a fresh copy of MAKEDEV for things to always work in 
685         the future.  fsck is unable to cope with dirty file systems
686         after this change, so it may work for you or it may not.
687
688         See "To rebuild disk /dev entries" at the end of the file.
689
690         *** All uses of block devices must be converted to char devices.
691         *** Likely the only thing impacted is dumpdev in /etc/rc.conf
692
693 19991204:
694         The dc interface has replaced al, ax, dm, pn and mx.  The former
695         have been removed.
696
697 19991204:
698         Support for the old 'sd' device names has been removed in
699         favor of 'da'.  Please update your /etc/fstab, /etc/rc.conf
700         and any other places you might have sd names cached.
701         Generally these changes are as simple as s=/dev/sd=/dev/da=g,
702         but be careful to make sure that things are really that
703         simple.  You may also need to create /dev entries for the da
704         devices as well.
705
706         See "To rebuild disk /dev entries" at the end of the file.
707
708 19991203:
709         BAD144 support has been removed.  Cope or replace the hardware.
710
711 19991129:
712         ALPHA users take note.  All klds will need to be recompiled for
713         kernels build after this date.  It is a good time to update since
714         pal.s will be going away soon.
715
716 19991126:
717         MFS_ROOT and MFS_ROOT_SIZE are gone, replaced by MD_ROOT and
718         MD_ROOT_SIZE options in the md driver.  md driver now deals with
719         the hacks.  You should add md driver to kerneles that have
720         MFS_ROOT, et al.  See GENERIC or LINT for details.
721
722 19991125:
723         The ep changed a while ago and can no longer be used with hard
724         wired addresses in the config file.
725
726 19991122:
727         The bridge drivers for sound cards have been committed.  Please
728         see LINT for instructions for your card, if it still works at
729         all.
730
731 19991113:
732         Gcc 2.95.2 is now the default compiler.
733
734 19991030:
735         /etc/radius.conf file format has changed.The format change is
736         as follows.  Each server line in the file should now begin
737         with a new field containing either "auth" for RADIUS
738         authentication, or "acct" for RADIUS accounting.  Formerly
739         only authentication was supported.  If the first field isn't
740         "auth" or "acct" then the code assumes that "auth" is
741         intended.  (That's the compatibility hack.)
742
743 19991015:
744         PCCARD has been updated to attach pcic to the isa bus.  Therefore
745         you will need to modify kernel config files that have pcic/card
746         in them as follows:
747                 controller      pcic0   at isa?
748                 controller      pcic1   at isa?
749                 controller      card0
750
751 19990929:
752         The sigset_t datatype has been changed from an integral type
753         to a compound type and can hold 128 signals. Syscalls directly
754         or indirectly using the new sigset_t have been added as to
755         maintain compatibility with existing binaries. A new kernel must
756         be made and installed and booted with before a make world can
757         be done.
758
759         ***************************************************************
760                 RECOMPILE AND REINSTALL KERNEL BEFORE MAKEWORLD
761         ***************************************************************
762
763 19990919:
764         New jail syscall format requires recompilation of jail(8) with
765         fresh headers installed (or a make world will do it for you).
766
767 19990914:
768         Matt Dillon checked in many vm related things and sent a heads up
769         to -current urging caution and to report vm problems to him.
770         As of the 19th, no killer problems have been reported, but you
771         have been warned.
772
773 19990908:
774         The new miibus has been added to the system.  If you are using
775         the dm, rl, sf, sis, ste, tl, wb or xl drivers, you need to
776         add "controller miibus0" to your config file.
777
778 19990905:
779         /var/cron/log has been moved to /var/log/cron to get all the
780         log files in one place.
781
782 19990831:
783         tn3270 has been removed from the base system and added as a port.
784
785 19990830:
786         User-visible TCP timers are now expressed in units of 1ms, instead
787         of 500ms, so if you've customized any timer values under
788         ``net.inet.tcp'', multiply them by 500 to preserve TCP's behavior.
789
790 19990828:
791         RCS Id tags changed to FreeBSD.  This will cause huge cvsup
792         updates.
793
794 19990821:
795         On 28-May-1999 libreadline was upgraded from readline-2.2 to
796         readline-4.0.  At that time the shared library major version
797         number was bumped from "3" to "4".  It has been deemed that
798         the interface change between readline-2.2 and readline-4.0 was
799         not sufficient to warrant the version number bump.
800
801         Thus I have reverted it back to "3".  You will need to perform
802         the below immediately before your next ``make world'':
803             cd /usr/lib
804             ls -l libreadline.so.4
805                 (if you have /usr/lib/libreadline.so.4)
806             mv libreadline.so.4 libreadline.so.3
807             rm -f libreadline.so
808             ln -s libreadline.so.3 libreadline.so
809
810 19990801:
811         Changes to the pccardd kernel interface require that you recompile
812         pccardd for new kernel.
813
814 19980725:
815         The ipfw interface to the kernel has changed.  You will need to
816         recompile ipfw programs for the new kernel.
817
818 19990715:
819         The bpfilter device has been renamed to bpf.  You will need to 
820         change your config files in order to enable this in newer kernels.
821
822 19990704:
823         src/contrib/sys/softupdates is moving to
824         src/sys/contrib/softupdates.  Update your symbolic links/etc.
825
826 19990702:
827         Major changes have been made to vinum and its interface.  See
828         the man page (vinum(8)) for details.  Look at the concat,
829         mirror and stripe commands, as well as the SIMPLIFIED
830         CONFIGURATION section.
831
832 19990628:
833         Newsyslog.conf has had a minor, but potentially dangerous,
834         change to its username/group syntax.  The old syntax was
835         user.group, while the new syntax is user:group.
836
837 19990627:
838         Inetd wrapping default has changed.  Please see the updated
839         man page for details.
840
841 19990623:
842         Compaq Smart Raid driver committed as ida.
843
844 19990622:
845         The second phase of syscons cleanup has happened.  Some
846         functionality has been made optional.  For details, see
847         http://www.freebsd.org/~yokota/sc_update-June.txt
848         Everyone will need to re-config(8) their kernels, but old
849         binaries will work with the new kernel.
850
851 19990620:
852         IPFW uid/gid-based filtering support has been committed. This
853         breaks binary compatibility with previous copies of
854         ipfw(8). Any utilities using the ioctl()s of ipfw (especially
855         ipfw(8)) need to be recompiled with the newest headers
856         installed.
857
858 19990618:
859         Inetd now wraps all stream-based services, including internals.
860         Syslog "severity" options are honoured. Installed syslog.conf
861         and hosts.allow should be checked.
862
863 19990509:
864         Most of the problems with newbus have been corrected, but
865         it is still current and evolving.
866
867         libcam's ABI has changed.  You must recompile the world and
868         any ports that use it.
869
870 19990427:
871         Massive changes to SMP went into the tree that should speed
872         things up.  However, if you experience problems with SMP 
873         machines, you can back off to the PRE_SMP_VMSHARE tag in the
874         CVS repository (or run an MP kernel).
875
876 19990420:
877         Pccardd and the pccard bus in general seem to be broken or
878         most people.  Soren has patches to make it better for some,
879         but not all people.  Work is underway to make it better for
880         all people.
881
882 19990416:
883         new bus changes integrated into -current.  Many problems were
884         initially reported, but most have been fixed.  You'll need a
885         new config and to tweak your kernel config file the way that
886         GENERIC was tweaked.  Keep a copy of your old kernel when
887         upgrading in case your new kernel doesn't work (and report the
888         breakage to current@freebsd.org).
889
890         As of 19990421 the remaining problems/quirks are
891
892         o sio no longer supports pnp nor pccard.  This will be corrected,
893           but the new pccard code needs to be completed.
894         o Some of the sound drivers broke for some people.  It seems
895           inconsistent as to who/what/when/where things broke.
896         o Duplicate device entries in your config do not work.  Previously
897           they were silently ignored.  psm0 seems to be the most common
898           duplicate choice, although some reports have come in from people
899           that wired their scsi disk entries.
900         o You must move the keyboard and mouse attachments from the
901           isa bus to the atkbdc bus.  See GENERIC for details.
902         o Machines with multiple host-pci bridges (Intel 450NX) will not
903           probe the second pci bus.
904         o Some probe ordering may have changed, so device naming may change
905           with the new kernel.  If you have multiple devices, please double
906           check to make sure they didn't move.  This is especially true
907           for cards on different buses.
908         o The bus attachment for vga0 is always isa0 and never pci0 when
909           it is in fact a pci card.  It is safe to ignore this.
910         o The format of the boot messages has changed (and is not
911           guaranteed to be constant for a while) so you may see this
912           in some shell scripts that diff dmesg from day to day as well
913           as scripts that parse dmesg output.
914
915 19990414:
916         cc -aout sometimes has problems compiling with -g, remove -g
917         from those compilation units affected until this is corrected.
918
919         cc -aout has problems with producing some threaded libraries,
920         so make world -DWANT_AOUT is not functional at this time.
921
922         Since make world for a.out isn't functional, you cannot do
923         make aout-to-elf from a pre-egcs a.out system.  To work around
924         this problem, make aout-to-elf using 3.1-stable first (or a
925         pre egcs -current) and then a simple make world will take you
926         the rest of the way with a -current source base.
927
928 19990413:
929         Make -j works again for make world.  As always, use it with
930         care, and be sure to try a make world w/o -j before reporting
931         problems (that is, know if the problem exists w/o -j before
932         reporting the problem with -j).
933
934 19990413:
935         Note cc -aout, which had been broken since the conversion to
936         egcs, now supposedly works.  If you have rebuilt things like
937         XFree86 a.out libraries, you should rebuild them again or
938         progams that use them, including netscape, will fail to work.
939
940 19990409:
941         NOTE: New c++ compiler cannot be used with c++ binaries from
942         the old compiler and vice versa.
943
944 19990408:
945         In recent days egcs has been imported into the tree.  A number
946         of problems have been discussed in -current.  Here is a highlight
947         of a few of the more common ones.  With the exception of make
948         -j n, they have been claimed to have been fixed.
949
950         c++ is broken after make world: This is correct.  Because we
951         changed compilers two make worlds are necessary to get C++
952         working again.  The code generated by the old compiler and new
953         compiler are not compatible, so things wind up being
954         undefined.
955
956         cpp is broken in make world:  There was a window where cpp
957         would be built incorrectly.  The fix for this is
958                 cd src/gnu/usr.bin/cc
959                 make clean
960                 make all
961                 make install
962         and this should correct your problems.  See the -current
963         archives for a version of this that does moer cleaning.
964
965         Make -j n doesn't work.  Work contiunes to make this work,
966         I've seen no reports of success as of April 7th.
967
968 19990329:
969         Previously, one would define "NOAOUT" to keep from building
970         the legacy a.out bits.  Now one would define "WANT_AOUT" to
971         build them.
972
973 19990316:
974         The name of the old wd.c and atapi.c based CDROM driver has
975         been changed back to wcd. So update your config file to use
976         "device wcd" instead of "device acd".
977
978 19990314:
979         For those of you using the VN device as a loadable module,
980         please be aware that the new VN device has been committed to
981         -4.x and cannot yet be used as a loadable module.  This will
982         be fixed in the future.
983         
984 19990309:
985         New loader.rc mechanism.  Please see src/sys/boot/README for
986         details.
987
988 19990225:
989         struct proc size changed.  Recompile kernel and the
990         usual suspects.  Make world if in doubt.
991
992 19990214:
993         The nlpt driver has changed names back to be the lpt driver.
994         See ppbus(4) or http://www.freebsd.org/~nsouch/ppbus.html
995         for proper configuration details.
996
997 19990210:
998         The 'lpt' driver is now obsolete.  Replace it with the 'nlpt'
999         driver and 'ppbus' controller combination.
1000
1001 19990209:
1002         New devstat API requires recompilation of libdevstat, systat,
1003         iostat, vmstat and rpc.rstatd.  A new kernel is also required.
1004         make world + building a kernel should do all of this.  Any
1005         ports that use devstat need to be recompiled as well.
1006
1007 19990125:
1008         Linux threads options has gone away (they are now standard in
1009         the FreeBSD kernel).  A recompile of all libkvm using programs
1010         is in order (or better yet a make world).
1011
1012 19990122:
1013         On or about this date there was a small window when the boot
1014         blocks had some minor problems which seemed to force one to
1015         edit /etc/fstab.  This has been corrected, if you are seeing this
1016         problem, please rebuild and reinstall your boot blocks.
1017
1018 19990121:
1019         Vinum has changed.  The "vinum read" command has changed.  For
1020         updates, please see
1021
1022 http://www.freebsd.org/cgi/getmsg.cgi?fetch=800363+0+current/freebsd-current
1023
1024         for details.  
1025
1026         Matt Dillon committed a boatload of VM changes, for
1027         information please see
1028
1029 http://www.freebsd.org/cgi/getmsg.cgi?fetch=886676+0+current/freebsd-current
1030         or
1031 http://www.freebsd.org/cgi/getmsg.cgi?fetch=827400+0+current/freebsd-current
1032
1033         for details.  These changes will likely not impact anybody,
1034         but large chagnes to the VM need at least a heads up.
1035
1036 19990120:
1037         Stable branch created.  You might want to consider using this
1038         branch.  It is tagged with RELENG_3.
1039
1040 19990119:
1041         More work on the syscons driver has been committed.  Since
1042         files moved around, you will need to reconfigure your kernel,
1043         and make clean; make depend before rebuilding the kernel.  No
1044         config file changes are needed.
1045
1046 19990111:
1047         New keyboard and video card drivers are introduced as the first
1048         stage of console driver reorganization.  You are required to
1049         update the kernel configuration file and rebuild the kernel.
1050         kbdcontrol, vidcontrol, and screen savers also need recompilation.
1051         The instruction can be found in
1052
1053                 http://www.freebsd.org/~yokota/sc_update.txt
1054
1055         It has notes on splash screen too.
1056
1057 19990106:
1058         Robert Nordier was kind enough to make this page to enable people to
1059         install the new bootblocks:
1060
1061                 http://www.freebsd.org/~rnordier/boot.txt
1062
1063         When updating to ELF, make sure that you have updated your
1064         /etc/rc files which have different ldconfig invocations for
1065         elf and aout.  Otherwise things like X will stop working with
1066         messages about being unable to find library files.  The
1067         mergemaster utility in ports/sysutils/mergemaster helps to
1068         keep critical files like this in sync, and its use is
1069         recommended.
1070
1071 19990104:
1072         Information about ELF day (see 19981230) can be found in
1073
1074                 http://www.freebsd.org/~peter/elfday.html
1075
1076         about the upcoming change, its motivations and instructions
1077         for doing the upgrade.
1078
1079 19981230:
1080         You should install new bootblocks now.  The ELF kernel will
1081         become default soon.  In addition, you'll need to upgrade
1082         your userland programs to ELF before then as well.  Use
1083         make aout-to-elf to upgrade your userland programs (old
1084         a.out programs in, for example, /usr/local/bin will
1085         continue to work, even after the upgrade).  See src/Makefile
1086         for more details.
1087
1088 19981224:
1089         The old wcd driver has been deleted from the kernel.  The
1090         driver that replaces it is named acd.  You'll need to change
1091         this in your configuration files.
1092
1093         Failure to do this will result in "ATAPI CD-ROMs not
1094         configured" at boot time.
1095
1096         The floppy tape driver (ft) has been removed from the kernel,
1097         with no replacement driver.
1098
1099 19981202:
1100         New groups from 19981201 commented out of mtree, so they
1101         aren't strictly needed, but still a good idea to have.
1102
1103 19981201:
1104         New user/group added: bind.  From src/etc/master.passwd and
1105         src/etc/group:
1106                 % grep <newstuff> /usr/src/etc/group 
1107                 bind:*:53:
1108                 % grep <newstuff> /usr/src/etc/master.passwd 
1109                 tty:*:4:65533::0:0:Tty Sandbox:/:/sbin/nologin
1110                 kmem:*:5:65533::0:0:KMem Sandbox:/:/sbin/nologin
1111                 bind:*:53:53::0:0:Bind Sandbox:/:/sbin/nologin
1112
1113 19981118:
1114         PAM integrated into the tree.   Requires new /etc/pam.conf file
1115         to silence warnings from authentication programs (login, etc).
1116         See src/etc/pam.conf for a sample.
1117
1118 FORMAT:
1119
1120 This file contains a list, in reverse chronologocal order, of major
1121 breakages in tracking -stable.  Not all things will be listed here,
1122 and it only starts on November 18, 1998.  If you have an earlier
1123 version of FreeBSD, you are on your own to get to November 18, 1998.
1124
1125 Please filter your entries through Warner Losh (imp@village.org) so
1126 that the style, formatting, etc of this file can be maintained.
1127
1128 Copyright information:
1129
1130 Copyright 1998-2002 M. Warner Losh.  All Rights Reserved.
1131
1132 Redistribution, translation and use, with or without modification, in
1133 full or in part, are permitted provided that the above copyright
1134 notice is retained.
1135
1136 THIS DOCUMENT IS PROVIDED BY WARNER LOSH ``AS IS'' AND ANY EXPRESS OR
1137 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1138 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
1139 DISCLAIMED.  IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT,
1140 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
1141 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
1142 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
1143 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
1144 STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
1145 IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1146 POSSIBILITY OF SUCH DAMAGE.
1147
1148 If you find this document useful, and you want to, you may buy the
1149 author a beer.
1150
1151 $FreeBSD: src/UPDATING,v 1.73.2.81 2003/04/04 06:25:18 murray Exp $