1 Updating Information for FreeBSD current users
3 This file is maintained by imp@village.org. Please send new entries
4 directly to him. See end of file for further details. For commonly
5 done items, please see the end of the file. Search for 'COMMON
9 The binary interface of perl to its modules changed. You
10 will need to recompile any perl moudles after an
11 installworld. This includes all ports matching the pattern
15 CMSG_XXX macros offset in <sys/socket.h> has changed to
16 conform RFC-2292. All affected applications have been
17 corrected. The i386 platform's offsets haven't changed, but
18 the alpha's did. When you build and install new kernel on
19 FreeBSD/alpha, you must also do a make world.
22 OpenSSH has been added to FreeBSD. This may conflict with the
23 ports/security/ssh port since it installs binaries into
24 /usr/bin and the port goes into /usr/local/bin. Most paths
25 have /usr/bin in the path before /usr/local/bin, so problems
26 may arise. If you don't want OpenSSH, add NO_OPENSSH=yes to
29 You will also need to enable OpenSSH in /etc/rc.conf if you
30 want to run the new servers. You may need to move your host
31 key and other config files from /usr/local/etc to /etc/ssh.
33 OpenSSH's command line parsing, available options and default
34 settings aren't the same as ssh, so some care needs to be
35 taken in its operation. One should do a full audit of all
36 configuration settings.
39 The xinstall problem has kinda sorta been corrected. The
40 following is known to work by the author of UPDATING. It
41 is what he did to update his laptop. It is likely the same
42 effect as the work around listed in 20000129.
44 make installworld This will fail
46 make clean all install NOSHARED=YES
49 If it doesn't work for you, then I'm sure that there will be
50 another 100 messages in -current.
53 libipsec version number changed from 2 to 0. The original
54 commit of Jan 6 incorrectly set this to 2. Remove
55 /usr/lib/libipsec.so.2* before the buildworld and rebuild
56 anything that uses libipsec.so after you install the new
60 The rcmd related functions have been aligned with other BSD
61 implementations. rlogind and rshd have been changed to use
62 the new API. A make world is recommended to keep them in sync
63 with the libraries they use.
65 http://www.FreeBSD.org/cgi/cvsweb.cgi/src/lib/libc/net/rcmd.c
69 {set,get}flags have been added to the tree for rather dubious
72 IF AND ONLY IF installworld fails:
73 make -k -DNOFSCHG installworld
75 This issue was resolved Feb 5, 2000.
78 rcmd_af() is added for multiple address family support. rsh
79 and rlogin have been updated to use this to support INET6. A
80 make world is recommended to keep them in sync with the
84 The default way that virtual tables in our default C++
85 compiler has changed. We used to use THUNKS for virtual
86 inheritance. Unfortunately there are bugs that The GCC
87 developers thought would be fixed in GCC 2.95. However it
90 After this change existing applications written in C++ may
91 give errors like below when you try to run them:
93 /usr/libexec/ld-elf.so.1: /usr/lib/libstdc++.so.3: Undefined symbol "__vt_7filebuf"
95 The only fix is to rebuild the application and any C++
99 The management of next_writeable has been move from the
100 kernel to userspace. This means that the burncd command
101 must be in sync with the kernel. So make world is your
105 GNU texinfo upgraded to 4.0. It is recommended that you use
106 make buildworld to update.
109 CAM_VERSION has been increased. Recompile all programs that
110 depend on it (tosha, camcontrol, etc) when moving to kernels
114 pccard ioctls changed with a commit to have the kernel tell
115 pccardd which device it created, rather than having pccardd
116 dictate it to the kernel. Recompile kernel and
117 pccardd/pccardc together. pccardd/pccardc rely on a kernel
118 Makefile that must be installed prior to building them. Make
119 world will automatically take care of this issue, but you need
120 to know if you are building by hand.
123 Your kernel config files need to be changed to s/controller/device/
124 in them. You will need a new version of config to do this.
127 chown & chgrp moved again
129 This is a heads up to let you know that you need to
130 rm -f /sbin/chown /bin/chgrp
131 after your next `make world'. Additionally you need to install
132 a new /dev/MAKEDEV (mergemaster(8) will assist you in this).
135 SHA-1 password support gone
137 As warned yesterday, I've just removed the ability for
138 libcrypt to understand SHA-1 passwords. This was present but
139 undocumented in the tree for the past few months and was
140 removed so it can be reimplemented properly as part of a
141 revamped libcrypt at a later date. Anyone who was actually
142 making use of the feature will have to update their passwords
143 back to MD5 before they reinstall the library.
146 ioctl numbers changed for dvdio ioctls. You will need to recompile
147 anything that uses them. wormcontrol has been deprecated in
151 Building linux and svr4 compatibility into the kernel now
152 requires /usr/bin/genassym. Go to /usr/src/usr.bin/genassym,
153 do "make obj ; make clean depend all install" before building
157 sendmail.cf has moved from /etc/sendmail.cf to
158 /etc/mail/sendmail.cf. You may need to adjust /etc/rc.conf
159 and /etc/rc to cope as well as moving sendmail.cf.
162 ntp 4.0.98 has replaced the ancient xntpd. The daemon name
163 changed from xntpd to ntpd, so you may need to update your
164 /etc/rc.conf file. The ntp.conf files are compatible with the
165 old release, unless you are using a local reference clock.
166 Details about ntp4 can be found at http://www.ntp.org/.
168 xntpd will be cvs removed from the repo in about a week.
171 Soren updated the ata driver. Please update to at least this
172 version before submitting bug reports.
175 The ata driver has become the primary ata/ide/atapi driver in
176 the kernel. The wd driver is obsolete. You should upgrade your
177 machine to the new ata driver. You will need to follow the
178 directions for updating the devices in the 19991205 entry. You
179 will need to update all occurances of wd to ad in your config files
180 (/etc/rc.conf, /etc/fstab, etc). A compatibility device exists
181 for wd for the time being, but once you have determined that
182 ata is working for you, transition to the new ad devices.
185 Block devices are going away. You will need to update your /dev
186 tree with a fresh copy of MAKEDEV for things to always work in
187 the future. fsck is unable to cope with dirty file systems
188 after this change, so it may work for you or it may not.
190 See "To rebuild disk /dev entries" at the end of the file.
192 *** All uses of block devices must be converted to char devices.
193 *** Likely the only thing impacted is dumpdev in /etc/rc.conf
196 The dc interface has replaced al, ax, dm, pn and mx. The former
200 Support for the old 'sd' device names has been removed in
201 favor of 'da'. Please update your /etc/fstab, /etc/rc.conf
202 and any other places you might have sd names cached.
203 Generally these changes are as simple as s=/dev/sd=/dev/da=g,
204 but be careful to make sure that things are really that
205 simple. You may also need to create /dev entries for the da
208 See "To rebuild disk /dev entries" at the end of the file.
211 BAD144 support has been removed. Cope or replace the hardware.
214 ALPHA users take note. All klds will need to be recompiled for
215 kernels build after this date. It is a good time to update since
216 pal.s will be going away soon.
219 MFS_ROOT and MFS_ROOT_SIZE are gone, replaced by MD_ROOT and
220 MD_ROOT_SIZE options in the md driver. md driver now deals with
221 the hacks. You should add md driver to kerneles that have
222 MFS_ROOT, et al. See GENERIC or LINT for details.
225 The ep changed a while ago and can no longer be used with hard
226 wired addresses in the config file.
229 The bridge drivers for sound cards have been committed. Please
230 see LINT for instructions for your card, if it still works at
234 Gcc 2.95.2 is now the default compiler.
237 /etc/radius.conf file format has changed.The format change is
238 as follows. Each server line in the file should now begin
239 with a new field containing either "auth" for RADIUS
240 authentication, or "acct" for RADIUS accounting. Formerly
241 only authentication was supported. If the first field isn't
242 "auth" or "acct" then the code assumes that "auth" is
243 intended. (That's the compatibility hack.)
246 PCCARD has been updated to attach pcic to the isa bus. Therefore
247 you will need to modify kernel config files that have pcic/card
249 controller pcic0 at isa?
250 controller pcic1 at isa?
254 The sigset_t datatype has been changed from an integral type
255 to a compound type and can hold 128 signals. Syscalls directly
256 or indirectly using the new sigset_t have been added as to
257 maintain compatibility with existing binaries. A new kernel must
258 be made and installed and booted with before a make world can
261 ***************************************************************
262 RECOMPILE AND REINSTALL KERNEL BEFORE MAKEWORLD
263 ***************************************************************
266 New jail syscall format requires recompilation of jail(8) with
267 fresh headers installed (or a make world will do it for you).
270 Matt Dillon checked in many vm related things and sent a heads up
271 to -current urging caution and to report vm problems to him.
272 As of the 19th, no killer problems have been reported, but you
276 The new miibus has been added to the system. If you are using
277 the dm, rl, sf, sis, ste, tl, wb or xl drivers, you need to
278 add "controller miibus0" to your config file.
281 /var/cron/log has been moved to /var/log/cron to get all the
282 log files in one place.
285 tn3270 has been removed from the base system and added as a port.
288 User-visible TCP timers are now expressed in units of 1ms, instead
289 of 500ms, so if you've customized any timer values under
290 ``net.inet.tcp'', multiply them by 500 to preserve TCP's behavior.
293 RCS Id tags changed to FreeBSD. This will cause huge cvsup
297 On 28-May-1999 libreadline was upgraded from readline-2.2 to
298 readline-4.0. At that time the shared library major version
299 number was bumped from "3" to "4". It has been deemed that
300 the interface change between readline-2.2 and readline-4.0 was
301 not sufficient to warrant the version number bump.
303 Thus I have reverted it back to "3". You will need to perform
304 the below immediately before your next ``make world'':
306 ls -l libreadline.so.4
307 (if you have /usr/lib/libreadline.so.4)
308 mv libreadline.so.4 libreadline.so.3
310 ln -s libreadline.so.3 libreadline.so
313 Changes to the pccardd kernel interface require that you recompile
314 pccardd for new kernel.
317 The ipfw interface to the kernel has changed. You will need to
318 recompile ipfw programs for the new kernel.
321 The bpfilter device has been renamed to bpf. You will need to
322 change your config files in order to enable this in newer kernels.
325 src/contrib/sys/softupdates is moving to
326 src/sys/contrib/softupdates. Update your symbolic links/etc.
329 Major changes have been made to vinum and its interface. See
330 the man page (vinum(8)) for details. Look at the concat,
331 mirror and stripe commands, as well as the SIMPLIFIED
332 CONFIGURATION section.
335 Newsyslog.conf has had a minor, but potentially dangerous,
336 change to its username/group syntax. The old syntax was
337 user.group, while the new syntax is user:group.
340 Inetd wrapping default has changed. Please see the updated
341 man page for details.
344 Compaq Smart Raid driver committed as ida.
347 The second phase of syscons cleanup has happened. Some
348 functionality has been made optional. For details, see
349 http://www.freebsd.org/~yokota/sc_update-June.txt
350 Everyone will need to re-config(8) their kernels, but old
351 binaries will work with the new kernel.
354 IPFW uid/gid-based filtering support has been committed. This
355 breaks binary compatibility with previous copies of
356 ipfw(8). Any utilities using the ioctl()s of ipfw (especially
357 ipfw(8)) need to be recompiled with the newest headers
361 Inetd now wraps all stream-based services, including internals.
362 Syslog "severity" options are honoured. Installed syslog.conf
363 and hosts.allow should be checked.
366 Most of the problems with newbus have been corrected, but
367 it is still current and evolving.
369 libcam's ABI has changed. You must recompile the world and
370 any ports that use it.
373 Massive changes to SMP went into the tree that should speed
374 things up. However, if you experience problems with SMP
375 machines, you can back off to the PRE_SMP_VMSHARE tag in the
376 CVS repository (or run an MP kernel).
379 Pccardd and the pccard bus in general seem to be broken or
380 most people. Soren has patches to make it better for some,
381 but not all people. Work is underway to make it better for
385 new bus changes integrated into -current. Many problems were
386 initially reported, but most have been fixed. You'll need a
387 new config and to tweak your kernel config file the way that
388 GENERIC was tweaked. Keep a copy of your old kernel when
389 upgrading in case your new kernel doesn't work (and report the
390 breakage to current@freebsd.org).
392 As of 19990421 the remaining problems/quirks are
394 o sio no longer supports pnp nor pccard. This will be corrected,
395 but the new pccard code needs to be completed.
396 o Some of the sound drivers broke for some people. It seems
397 inconsistant as to who/what/when/where things broke.
398 o Duplicate device entries in your config do not work. Previously
399 they were silently ignored. psm0 seems to be the most common
400 duplicate choice, although some reports have come in from people
401 that wired their scsi disk entries.
402 o You must move the keyboard and mouse attachments from the
403 isa bus to the atkbdc bus. See GENERIC for details.
404 o Machines with multiple host-pci bridges (Intel 450NX) will not
405 probe the second pci bus.
406 o Some probe ordering may have changed, so device naming may change
407 with the new kernel. If you have multiple devices, please double
408 check to make sure they didn't move. This is especially true
409 for cards on different buses.
410 o The bus attachment for vga0 is always isa0 and never pci0 when
411 it is in fact a pci card. It is safe to ignore this.
412 o The format of the boot messages has changed (and is not
413 guaranteed to be constant for a while) so you may see this
414 in some shell scripts that diff dmesg from day to day as well
415 as scripts that parse dmesg output.
418 cc -aout sometimes has problems compiling with -g, remove -g
419 from those compilation units affected until this is corrected.
421 cc -aout has problems with producing some threaded libraries,
422 so make world -DWANT_AOUT is not functional at this time.
424 Since make world for a.out isn't functional, you cannot do
425 make aout-to-elf from a pre-egcs a.out system. To work around
426 this problem, make aout-to-elf using 3.1-stable first (or a
427 pre egcs -current) and then a simple make world will take you
428 the rest of the way with a -current source base.
431 Make -j works again for make world. As always, use it with
432 care, and be sure to try a make world w/o -j before reporting
433 problems (that is, know if the problem exists w/o -j before
434 reporting the problem with -j).
437 Note cc -aout, which had been broken since the conversion to
438 egcs, now supposedly works. If you have rebuilt things like
439 XFree86 a.out libraries, you should rebuild them again or
440 progams that use them, including netscape, will fail to work.
443 NOTE: New c++ compiler cannot be used with c++ binaries from
444 the old compiler and vice versa.
447 In recent days egcs has been imported into the tree. A number
448 of problems have been discussed in -current. Here is a highlight
449 of a few of the more common ones. With the exception of make
450 -j n, they have been claimed to have been fixed.
452 c++ is broken after make world: This is correct. Because we
453 changed compilers two make worlds are necessary to get C++
454 working again. The code generated by the old compiler and new
455 compiler are not compatible, so things wind up being
458 cpp is broken in make world: There was a window where cpp
459 would be built incorrectly. The fix for this is
460 cd src/gnu/usr.bin/cc
464 and this should correct your problems. See the -current
465 archives for a version of this that does moer cleaning.
467 Make -j n doesn't work. Work contiunes to make this work,
468 I've seen no reports of success as of April 7th.
471 Previously, one would define "NOAOUT" to keep from building
472 the legacy a.out bits. Now one would define "WANT_AOUT" to
476 The name of the old wd.c and atapi.c based CDROM driver has
477 been changed back to wcd. So update your config file to use
478 "device wcd" instead of "device acd".
481 For those of you using the VN device as a loadable module,
482 please be aware that the new VN device has been committed to
483 -4.x and cannot yet be used as a loadable module. This will
484 be fixed in the future.
487 New loader.rc mechanism. Please see src/sys/boot/README for
491 struct proc size changed. Recompile kernel and the
492 usual suspects. Make world if in doubt.
495 The nlpt driver has changed names back to be the lpt driver.
496 See ppbus(4) or http://www.freebsd.org/~nsouch/ppbus.html
497 for proper configuration details.
500 The 'lpt' driver is now obsolete. Replace it with the 'nlpt'
501 driver and 'ppbus' controller combination.
504 New devstat API requires recompilation of libdevstat, systat,
505 iostat, vmstat and rpc.rstatd. A new kernel is also required.
506 make world + building a kernel should do all of this. Any
507 ports that use devstat need to be recompiled as well.
510 Linux threads options has gone away (they are now standard in
511 the FreeBSD kernel). A recompile of all libkvm using programs
512 is in order (or better yet a make world).
515 On or about this date there was a small window when the boot
516 blocks had some minor problems which seemed to force one to
517 edit /etc/fstab. This has been corrected, if you are seeing this
518 problem, please rebuild and reinstall your boot blocks.
521 Vinum has changed. The "vinum read" command has changed. For
524 http://www.freebsd.org/cgi/getmsg.cgi?fetch=800363+0+current/freebsd-current
528 Matt Dillon committed a boatload of VM changes, for
529 information please see
531 http://www.freebsd.org/cgi/getmsg.cgi?fetch=886676+0+current/freebsd-current
533 http://www.freebsd.org/cgi/getmsg.cgi?fetch=827400+0+current/freebsd-current
535 for details. These changes will likely not impact anybody,
536 but large chagnes to the VM need at least a heads up.
539 Stable branch created. You might want to consider using this
540 branch. It is tagged with RELENG_3.
543 More work on the syscons driver has been committed. Since
544 files moved around, you will need to reconfigure your kernel,
545 and make clean; make depend before rebuilding the kernel. No
546 config file changes are needed.
549 New keyboard and video card drivers are introduced as the first
550 stage of console driver reorganization. You are required to
551 update the kernel configuration file and rebuild the kernel.
552 kbdcontrol, vidcontrol, and screen savers also need recompilation.
553 The instruction can be found in
555 http://www.freebsd.org/~yokota/sc_update.txt
557 It has notes on splash screen too.
560 Robert Nordier was kind enough to make this page to enable people to
561 install the new bootblocks:
563 http://www.freebsd.org/~rnordier/boot.txt
565 When updating to ELF, make sure that you have updated your
566 /etc/rc files which have different ldconfig invocations for
567 elf and aout. Otherwise things like X will stop working with
568 messages about being unable to find library files. The
569 mergemaster utility in ports/sysutils/mergemaster helps to
570 keep critical files like this in sync, and its use is
574 Information about ELF day (see 19981230) can be found in
576 http://www.freebsd.org/~peter/elfday.html
578 about the upcoming change, its motivations and instructions
579 for doing the upgrade.
582 You should install new bootblocks now. The ELF kernel will
583 become default soon. In addition, you'll need to upgrade
584 your userland programs to ELF before then as well. Use
585 make aout-to-elf to upgrade your userland programs (old
586 a.out programs in, for example, /usr/local/bin will
587 continue to work, even after the upgrade). See src/Makefile
591 The old wcd driver has been deleted from the kernel. The
592 driver that replaces it is named acd. You'll need to change
593 this in your configuration files.
595 Failure to do this will result in "ATAPI CD-ROMs not
596 configured" at boot time.
598 The floppy tape driver (ft) has been removed from the kernel,
599 with no replacement driver.
602 New groups from 19981201 commented out of mtree, so they
603 aren't strictly needed, but still a good idea to have.
606 New user/group added: bind. From src/etc/master.passwd and
608 % grep <newstuff> /usr/src/etc/group
610 % grep <newstuff> /usr/src/etc/master.passwd
611 tty:*:4:65533::0:0:Tty Sandbox:/:/sbin/nologin
612 kmem:*:5:65533::0:0:KMem Sandbox:/:/sbin/nologin
613 bind:*:53:53::0:0:Bind Sandbox:/:/sbin/nologin
616 PAM integrated into the tree. Requires new /etc/pam.conf file
617 to silence warnings from authentication programs (login, etc).
618 See src/etc/pam.conf for a sample.
624 Update config, genassym and go:
625 cd src/usr.bin/genassym
626 make depend all install clean
627 cd ../../usr.sbin/config
628 make depend all install clean
629 cd ../../sys/i386/conf
630 config YOUR_KERNEL_HERE
631 cd ../../compile/YOUR_KERNEL_HERE
635 To rebuild disk /dev entries
636 ----------------------------
638 MAKEDEV should be copied from src/etc/MAKEDEV to /dev before
639 starting the following:
641 For N in the list of disks
643 for M in the list of slices
644 MAKEDEV NsMa # eg ad0s1a
647 To rebuild everything
648 ---------------------
651 Except when it doesn't work.
653 To update from 3.x to 4.0 stable
654 --------------------------------
659 <follow directions to build/install a kernel>
660 <follow rebuild disk /dev entries above> [*]
664 make -DNOINFO installworld
667 [*] You may need to switch from wd to ad ala 19991210
672 This file contains a list, in reverse chronologocal order, of major
673 breakages in tracking -current. Not all things will be listed here,
674 and it only starts on November 18, 1998. If you have an earlier
675 version of FreeBSD, you are on your own to get to November 18, 1998.
677 Please filter your entries through Warner Losh (imp@village.org) so
678 that the style, formatting, etc of this file can be maintained.