Nuke huge mbuf macros stage 1/2: Remove massive inline mbuf macros to reduce
[dragonfly.git] / UPDATING
... / ...
CommitLineData
1Updating Information for FreeBSD STABLE users
2
3This file is maintained and copyrighted by M. Warner Losh
4<imp@village.org>. See end of file for further details. For commonly
5done items, please see the COMMON ITEMS: section later in the file.
6
7A reverse chronology since 4.0 was released is included, followed by
8the common items quick how-tos, followed by entries for versions of
9-current prior to 4.0 Release.
10
11
1220030403:
13 FreeBSD 4.8-RELEASE.
14
1520030214:
16 OpenSSL 0.97 has been imported, and the libcrypto/libssl
17 library versions have been bumped.
18
1920030213:
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
2620021110:
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
3320021010:
34 FreeBSD 4.7-RELEASE.
35
3620020807:
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
4220020704:
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
5020020703:
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
5520020615:
56 FreeBSD 4.6-RELEASE.
57
5820020515:
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
6420020501:
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
7020020421:
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
7820020420:
79 sendmail_enable was changed back to YES, to match the
80 defaults earlier in the 4.0-stable branch.
81
8220020415:
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
10020020411:
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
10720020404:
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
11420020404:
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
12720020325:
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
13420020318:
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
14120020129:
142 FreeBSD 4.5-RELEASE.
143
14420020105:
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
15220011202:
153 A security hole in OpenSSH involving `UseLogin yes' has been
154 patched.
155
15620011110:
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
16320011102:
164 ipfw/bridge/dummynet features merged from current.
165
16620011018:
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
17320010928:
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
18120010914:
182 4.4 Released.
183
18420010814:
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
19320010811:
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
19920010725:
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
20420010724:
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
21520010611:
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
22120010531:
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
22720010521:
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
233Updater failed: Cannot delete "/usr/ports/www/jakarta-tomcat/files": Directory not empty
234
23520010516:
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
24020010510:
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
24520010421:
246 FreeBSD 4.3 RELEASE
247
24820010402:
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
25320010202:
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
25820010117:
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
26420010112:
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
27320010109:
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
27720001120:
278 FreeBSD 4.2 RELEASE.
279
28020001020:
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
29720001009:
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
30120001006:
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
30620000925:
307 FreeBSD 4.1.1 RELEASE.
308
30920000907:
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
31520000904:
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
32520000827:
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
33920000803:
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
34820000724:
349 FreeBSD 4.1 RELEASE
350
35120000711:
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
36220000707:
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
36820000706:
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
37620000622:
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
38120000501:
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
38720000315:
388 FreeBSD 4.0 RELEASE. Historical entries follow the common
389 items.
390
391****************************** 4.0 RELEASE ******************************
392
393COMMON 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
503What follows are older entries for those people upgrading from earlier
504versions of -stable/-current.
505
50620000308:
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
51220000303:
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
51920000225:
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
53620000205:
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
55020000204:
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
55720000201:
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
56620000129:
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
57520000125:
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
58120000124:
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
59620000124:
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
60220000117:
603 GNU texinfo upgraded to 4.0. It is recommended that you use
604 make buildworld to update.
605
60620000117:
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
61120000115:
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
62020000109:
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
62420000107:
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
63220000107:
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
64320000106:
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
64819991223:
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
65419991218:
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
65919991216:
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
66819991213:
669 Soren updated the ata driver. Please update to at least this
670 version before submitting bug reports.
671
67219991210:
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
68219991205:
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
69319991204:
694 The dc interface has replaced al, ax, dm, pn and mx. The former
695 have been removed.
696
69719991204:
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
70819991203:
709 BAD144 support has been removed. Cope or replace the hardware.
710
71119991129:
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
71619991126:
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
72219991125:
723 The ep changed a while ago and can no longer be used with hard
724 wired addresses in the config file.
725
72619991122:
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
73119991113:
732 Gcc 2.95.2 is now the default compiler.
733
73419991030:
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
74319991015:
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
75119990929:
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
76319990919:
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
76719990914:
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
77319990908:
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
77819990905:
779 /var/cron/log has been moved to /var/log/cron to get all the
780 log files in one place.
781
78219990831:
783 tn3270 has been removed from the base system and added as a port.
784
78519990830:
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
79019990828:
791 RCS Id tags changed to FreeBSD. This will cause huge cvsup
792 updates.
793
79419990821:
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
81019990801:
811 Changes to the pccardd kernel interface require that you recompile
812 pccardd for new kernel.
813
81419980725:
815 The ipfw interface to the kernel has changed. You will need to
816 recompile ipfw programs for the new kernel.
817
81819990715:
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
82219990704:
823 src/contrib/sys/softupdates is moving to
824 src/sys/contrib/softupdates. Update your symbolic links/etc.
825
82619990702:
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
83219990628:
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
83719990627:
838 Inetd wrapping default has changed. Please see the updated
839 man page for details.
840
84119990623:
842 Compaq Smart Raid driver committed as ida.
843
84419990622:
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
85119990620:
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
85819990618:
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
86319990509:
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
87019990427:
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
87619990420:
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
88219990416:
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
91519990414:
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
92819990413:
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
93419990413:
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
94019990409:
941 NOTE: New c++ compiler cannot be used with c++ binaries from
942 the old compiler and vice versa.
943
94419990408:
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
96819990329:
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
97319990316:
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
97819990314:
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
98419990309:
985 New loader.rc mechanism. Please see src/sys/boot/README for
986 details.
987
98819990225:
989 struct proc size changed. Recompile kernel and the
990 usual suspects. Make world if in doubt.
991
99219990214:
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
99719990210:
998 The 'lpt' driver is now obsolete. Replace it with the 'nlpt'
999 driver and 'ppbus' controller combination.
1000
100119990209:
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
100719990125:
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
101219990122:
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
101819990121:
1019 Vinum has changed. The "vinum read" command has changed. For
1020 updates, please see
1021
1022http://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
1029http://www.freebsd.org/cgi/getmsg.cgi?fetch=886676+0+current/freebsd-current
1030 or
1031http://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
103619990120:
1037 Stable branch created. You might want to consider using this
1038 branch. It is tagged with RELENG_3.
1039
104019990119:
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
104619990111:
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
105719990106:
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
107119990104:
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
107919981230:
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
108819981224:
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
109919981202:
1100 New groups from 19981201 commented out of mtree, so they
1101 aren't strictly needed, but still a good idea to have.
1102
110319981201:
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
111319981118:
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
1118FORMAT:
1119
1120This file contains a list, in reverse chronologocal order, of major
1121breakages in tracking -stable. Not all things will be listed here,
1122and it only starts on November 18, 1998. If you have an earlier
1123version of FreeBSD, you are on your own to get to November 18, 1998.
1124
1125Please filter your entries through Warner Losh (imp@village.org) so
1126that the style, formatting, etc of this file can be maintained.
1127
1128Copyright information:
1129
1130Copyright 1998-2002 M. Warner Losh. All Rights Reserved.
1131
1132Redistribution, translation and use, with or without modification, in
1133full or in part, are permitted provided that the above copyright
1134notice is retained.
1135
1136THIS DOCUMENT IS PROVIDED BY WARNER LOSH ``AS IS'' AND ANY EXPRESS OR
1137IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1138WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
1139DISCLAIMED. IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT,
1140INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
1141(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
1142SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
1143HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
1144STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
1145IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1146POSSIBILITY OF SUCH DAMAGE.
1147
1148If you find this document useful, and you want to, you may buy the
1149author a beer.
1150
1151$FreeBSD: src/UPDATING,v 1.73.2.81 2003/04/04 06:25:18 murray Exp $