UPDATING revision 57787
1Updating Information for FreeBSD current users 2 3This file is maintained by imp@village.org. Please send new entries 4directly to him. See end of file for further details. For commonly 5done items, please see the end of the file. Search for 'COMMON 6ITEMS:' 7 820000303: 9 CMSG_XXX macros offset in <sys/socket.h> has changed to 10 conform RFC-2292. All affected applications have been 11 corrected. The i386 platform's offsets haven't changed, but 12 the alpha's did. When you build and install new kernel on 13 FreeBSD/alpha, you must also do a make world. 14 1520000225: 16 OpenSSH has been added to FreeBSD. This may conflict with the 17 ports/security/ssh port since it installs binaries into 18 /usr/bin and the port goes into /usr/local/bin. Most paths 19 have /usr/bin in the path before /usr/local/bin, so problems 20 may arise. If you don't want OpenSSH, add NO_OPENSSH=yes to 21 your make.conf. 22 23 You will also need to enable OpenSSH in /etc/rc.conf if you 24 want to run the new servers. You may need to move your host 25 key and other config files from /usr/local/etc to /etc/ssh. 26 27 OpenSSH's command line parsing, available options and default 28 settings aren't the same as ssh, so some care needs to be 29 taken in its operation. One should do a full audit of all 30 configuration settings. 31 3220000205: 33 The xinstall problem has kinda sorta been corrected. The 34 following is known to work by the author of UPDATING. It 35 is what he did to update his laptop. It is likely the same 36 effect as the work around listed in 20000129. 37 make buildworld 38 make installworld This will fail 39 cd usr.bin/xinstall 40 make clean all install NOSHARED=YES 41 cd ../.. 42 make installworld 43 If it doesn't work for you, then I'm sure that there will be 44 another 100 messages in -current. 45 4620000204: 47 libipsec version number changed from 2 to 0. The original 48 commit of Jan 6 incorrectly set this to 2. Remove 49 /usr/lib/libipsec.so.2* before the buildworld and rebuild 50 anything that uses libipsec.so after you install the new 51 version. 52 5320000201: 54 The rcmd related functions have been aligned with other BSD 55 implementations. rlogind and rshd have been changed to use 56 the new API. A make world is recommended to keep them in sync 57 with the libraries they use. 58 59 http://www.FreeBSD.org/cgi/cvsweb.cgi/src/lib/libc/net/rcmd.c 60 has the details. 61 6220000129: 63 {set,get}flags have been added to the tree for rather dubious 64 reasons. 65 66 IF AND ONLY IF installworld fails: 67 make -k -DNOFSCHG installworld 68 make installworld 69 This issue was resolved Feb 5, 2000. 70 7120000125: 72 rcmd_af() is added for multiple address family support. rsh 73 and rlogin have been updated to use this to support INET6. A 74 make world is recommended to keep them in sync with the 75 libraries they use. 76 7720000124: 78 The default way that virtual tables in our default C++ 79 compiler has changed. We used to use THUNKS for virtual 80 inheritance. Unfortunately there are bugs that The GCC 81 developers thought would be fixed in GCC 2.95. However it 82 isn't. 83 84 After this change existing applications written in C++ may 85 give errors like below when you try to run them: 86 87/usr/libexec/ld-elf.so.1: /usr/lib/libstdc++.so.3: Undefined symbol "__vt_7filebuf" 88 89 The only fix is to rebuild the application and any C++ 90 libraries used. 91 9220000124: 93 The management of next_writeable has been move from the 94 kernel to userspace. This means that the burncd command 95 must be in sync with the kernel. So make world is your 96 friend. 97 9820000117: 99 GNU texinfo upgraded to 4.0. It is recommended that you use 100 make buildworld to update. 101 10220000117: 103 CAM_VERSION has been increased. Recompile all programs that 104 depend on it (tosha, camcontrol, etc) when moving to kernels 105 past this date. 106 10720000115: 108 pccard ioctls changed with a commit to have the kernel tell 109 pccardd which device it created, rather than having pccardd 110 dictate it to the kernel. Recompile kernel and 111 pccardd/pccardc together. pccardd/pccardc rely on a kernel 112 Makefile that must be installed prior to building them. Make 113 world will automatically take care of this issue, but you need 114 to know if you are building by hand. 115 11620000109: 117 Your kernel config files need to be changed to s/controller/device/ 118 in them. You will need a new version of config to do this. 119 12020000107: 121 chown & chgrp moved again 122 123 This is a heads up to let you know that you need to 124 rm -f /sbin/chown /bin/chgrp 125 after your next `make world'. Additionally you need to install 126 a new /dev/MAKEDEV (mergemaster(8) will assist you in this). 127 12820000107: 129 SHA-1 password support gone 130 131 As warned yesterday, I've just removed the ability for 132 libcrypt to understand SHA-1 passwords. This was present but 133 undocumented in the tree for the past few months and was 134 removed so it can be reimplemented properly as part of a 135 revamped libcrypt at a later date. Anyone who was actually 136 making use of the feature will have to update their passwords 137 back to MD5 before they reinstall the library. 138 13920000106: 140 ioctl numbers changed for dvdio ioctls. You will need to recompile 141 anything that uses them. wormcontrol has been deprecated in 142 favor of burncd. 143 14419991223: 145 Building linux and svr4 compatibility into the kernel now 146 requires /usr/bin/genassym. Go to /usr/src/usr.bin/genassym, 147 do "make obj ; make clean depend all install" before building 148 your kernel. 149 15019991218: 151 sendmail.cf has moved from /etc/sendmail.cf to 152 /etc/mail/sendmail.cf. You may need to adjust /etc/rc.conf 153 and /etc/rc to cope as well as moving sendmail.cf. 154 15519991216: 156 ntp 4.0.98 has replaced the ancient xntpd. The daemon name 157 changed from xntpd to ntpd, so you may need to update your 158 /etc/rc.conf file. The ntp.conf files are compatible with the 159 old release, unless you are using a local reference clock. 160 Details about ntp4 can be found at http://www.ntp.org/. 161 162 xntpd will be cvs removed from the repo in about a week. 163 16419991213: 165 Soren updated the ata driver. Please update to at least this 166 version before submitting bug reports. 167 16819991210: 169 The ata driver has become the primary ata/ide/atapi driver in 170 the kernel. The wd driver is obsolete. You should upgrade your 171 machine to the new ata driver. You will need to follow the 172 directions for updating the devices in the 19991205 entry. You 173 will need to update all occurances of wd to ad in your config files 174 (/etc/rc.conf, /etc/fstab, etc). A compatibility device exists 175 for wd for the time being, but once you have determined that 176 ata is working for you, transition to the new ad devices. 177 17819991205: 179 Block devices are going away. You will need to update your /dev 180 tree with a fresh copy of MAKEDEV for things to always work in 181 the future. fsck is unable to cope with dirty file systems 182 after this change, so it may work for you or it may not. 183 184 See "To rebuild disk /dev entries" at the end of the file. 185 186 *** All uses of block devices must be converted to char devices. 187 *** Likely the only thing impacted is dumpdev in /etc/rc.conf 188 18919991204: 190 The dc interface has replaced al, ax, dm, pn and mx. The former 191 have been removed. 192 19319991204: 194 Support for the old 'sd' device names has been removed in 195 favor of 'da'. Please update your /etc/fstab, /etc/rc.conf 196 and any other places you might have sd names cached. 197 Generally these changes are as simple as s=/dev/sd=/dev/da=g, 198 but be careful to make sure that things are really that 199 simple. You may also need to create /dev entries for the da 200 devices as well. 201 202 See "To rebuild disk /dev entries" at the end of the file. 203 20419991203: 205 BAD144 support has been removed. Cope or replace the hardware. 206 20719991129: 208 ALPHA users take note. All klds will need to be recompiled for 209 kernels build after this date. It is a good time to update since 210 pal.s will be going away soon. 211 21219991126: 213 MFS_ROOT and MFS_ROOT_SIZE are gone, replaced by MD_ROOT and 214 MD_ROOT_SIZE options in the md driver. md driver now deals with 215 the hacks. You should add md driver to kerneles that have 216 MFS_ROOT, et al. See GENERIC or LINT for details. 217 21819991125: 219 The ep changed a while ago and can no longer be used with hard 220 wired addresses in the config file. 221 22219991122: 223 The bridge drivers for sound cards have been committed. Please 224 see LINT for instructions for your card, if it still works at 225 all. 226 22719991113: 228 Gcc 2.95.2 is now the default compiler. 229 23019991030: 231 /etc/radius.conf file format has changed.The format change is 232 as follows. Each server line in the file should now begin 233 with a new field containing either "auth" for RADIUS 234 authentication, or "acct" for RADIUS accounting. Formerly 235 only authentication was supported. If the first field isn't 236 "auth" or "acct" then the code assumes that "auth" is 237 intended. (That's the compatibility hack.) 238 23919991015: 240 PCCARD has been updated to attach pcic to the isa bus. Therefore 241 you will need to modify kernel config files that have pcic/card 242 in them as follows: 243 controller pcic0 at isa? 244 controller pcic1 at isa? 245 controller card0 246 24719990929: 248 The sigset_t datatype has been changed from an integral type 249 to a compound type and can hold 128 signals. Syscalls directly 250 or indirectly using the new sigset_t have been added as to 251 maintain compatibility with existing binaries. A new kernel must 252 be made and installed and booted with before a make world can 253 be done. 254 255 *************************************************************** 256 RECOMPILE AND REINSTALL KERNEL BEFORE MAKEWORLD 257 *************************************************************** 258 25919990919: 260 New jail syscall format requires recompilation of jail(8) with 261 fresh headers installed (or a make world will do it for you). 262 26319990914: 264 Matt Dillon checked in many vm related things and sent a heads up 265 to -current urging caution and to report vm problems to him. 266 As of the 19th, no killer problems have been reported, but you 267 have been warned. 268 26919990908: 270 The new miibus has been added to the system. If you are using 271 the dm, rl, sf, sis, ste, tl, wb or xl drivers, you need to 272 add "controller miibus0" to your config file. 273 27419990905: 275 /var/cron/log has been moved to /var/log/cron to get all the 276 log files in one place. 277 27819990831: 279 tn3270 has been removed from the base system and added as a port. 280 28119990830: 282 User-visible TCP timers are now expressed in units of 1ms, instead 283 of 500ms, so if you've customized any timer values under 284 ``net.inet.tcp'', multiply them by 500 to preserve TCP's behavior. 285 28619990828: 287 RCS Id tags changed to FreeBSD. This will cause huge cvsup 288 updates. 289 29019990821: 291 On 28-May-1999 libreadline was upgraded from readline-2.2 to 292 readline-4.0. At that time the shared library major version 293 number was bumped from "3" to "4". It has been deemed that 294 the interface change between readline-2.2 and readline-4.0 was 295 not sufficient to warrant the version number bump. 296 297 Thus I have reverted it back to "3". You will need to perform 298 the below immediately before your next ``make world'': 299 cd /usr/lib 300 ls -l libreadline.so.4 301 (if you have /usr/lib/libreadline.so.4) 302 mv libreadline.so.4 libreadline.so.3 303 rm -f libreadline.so 304 ln -s libreadline.so.3 libreadline.so 305 30619990801: 307 Changes to the pccardd kernel interface require that you recompile 308 pccardd for new kernel. 309 31019980725: 311 The ipfw interface to the kernel has changed. You will need to 312 recompile ipfw programs for the new kernel. 313 31419990715: 315 The bpfilter device has been renamed to bpf. You will need to 316 change your config files in order to enable this in newer kernels. 317 31819990704: 319 src/contrib/sys/softupdates is moving to 320 src/sys/contrib/softupdates. Update your symbolic links/etc. 321 32219990702: 323 Major changes have been made to vinum and its interface. See 324 the man page (vinum(8)) for details. Look at the concat, 325 mirror and stripe commands, as well as the SIMPLIFIED 326 CONFIGURATION section. 327 32819990628: 329 Newsyslog.conf has had a minor, but potentially dangerous, 330 change to its username/group syntax. The old syntax was 331 user.group, while the new syntax is user:group. 332 33319990627: 334 Inetd wrapping default has changed. Please see the updated 335 man page for details. 336 33719990623: 338 Compaq Smart Raid driver committed as ida. 339 34019990622: 341 The second phase of syscons cleanup has happened. Some 342 functionality has been made optional. For details, see 343 http://www.freebsd.org/~yokota/sc_update-June.txt 344 Everyone will need to re-config(8) their kernels, but old 345 binaries will work with the new kernel. 346 34719990620: 348 IPFW uid/gid-based filtering support has been committed. This 349 breaks binary compatibility with previous copies of 350 ipfw(8). Any utilities using the ioctl()s of ipfw (especially 351 ipfw(8)) need to be recompiled with the newest headers 352 installed. 353 35419990618: 355 Inetd now wraps all stream-based services, including internals. 356 Syslog "severity" options are honoured. Installed syslog.conf 357 and hosts.allow should be checked. 358 35919990509: 360 Most of the problems with newbus have been corrected, but 361 it is still current and evolving. 362 363 libcam's ABI has changed. You must recompile the world and 364 any ports that use it. 365 36619990427: 367 Massive changes to SMP went into the tree that should speed 368 things up. However, if you experience problems with SMP 369 machines, you can back off to the PRE_SMP_VMSHARE tag in the 370 CVS repository (or run an MP kernel). 371 37219990420: 373 Pccardd and the pccard bus in general seem to be broken or 374 most people. Soren has patches to make it better for some, 375 but not all people. Work is underway to make it better for 376 all people. 377 37819990416: 379 new bus changes integrated into -current. Many problems were 380 initially reported, but most have been fixed. You'll need a 381 new config and to tweak your kernel config file the way that 382 GENERIC was tweaked. Keep a copy of your old kernel when 383 upgrading in case your new kernel doesn't work (and report the 384 breakage to current@freebsd.org). 385 386 As of 19990421 the remaining problems/quirks are 387 388 o sio no longer supports pnp nor pccard. This will be corrected, 389 but the new pccard code needs to be completed. 390 o Some of the sound drivers broke for some people. It seems 391 inconsistant as to who/what/when/where things broke. 392 o Duplicate device entries in your config do not work. Previously 393 they were silently ignored. psm0 seems to be the most common 394 duplicate choice, although some reports have come in from people 395 that wired their scsi disk entries. 396 o You must move the keyboard and mouse attachments from the 397 isa bus to the atkbdc bus. See GENERIC for details. 398 o Machines with multiple host-pci bridges (Intel 450NX) will not 399 probe the second pci bus. 400 o Some probe ordering may have changed, so device naming may change 401 with the new kernel. If you have multiple devices, please double 402 check to make sure they didn't move. This is especially true 403 for cards on different buses. 404 o The bus attachment for vga0 is always isa0 and never pci0 when 405 it is in fact a pci card. It is safe to ignore this. 406 o The format of the boot messages has changed (and is not 407 guaranteed to be constant for a while) so you may see this 408 in some shell scripts that diff dmesg from day to day as well 409 as scripts that parse dmesg output. 410 41119990414: 412 cc -aout sometimes has problems compiling with -g, remove -g 413 from those compilation units affected until this is corrected. 414 415 cc -aout has problems with producing some threaded libraries, 416 so make world -DWANT_AOUT is not functional at this time. 417 418 Since make world for a.out isn't functional, you cannot do 419 make aout-to-elf from a pre-egcs a.out system. To work around 420 this problem, make aout-to-elf using 3.1-stable first (or a 421 pre egcs -current) and then a simple make world will take you 422 the rest of the way with a -current source base. 423 42419990413: 425 Make -j works again for make world. As always, use it with 426 care, and be sure to try a make world w/o -j before reporting 427 problems (that is, know if the problem exists w/o -j before 428 reporting the problem with -j). 429 43019990413: 431 Note cc -aout, which had been broken since the conversion to 432 egcs, now supposedly works. If you have rebuilt things like 433 XFree86 a.out libraries, you should rebuild them again or 434 progams that use them, including netscape, will fail to work. 435 43619990409: 437 NOTE: New c++ compiler cannot be used with c++ binaries from 438 the old compiler and vice versa. 439 44019990408: 441 In recent days egcs has been imported into the tree. A number 442 of problems have been discussed in -current. Here is a highlight 443 of a few of the more common ones. With the exception of make 444 -j n, they have been claimed to have been fixed. 445 446 c++ is broken after make world: This is correct. Because we 447 changed compilers two make worlds are necessary to get C++ 448 working again. The code generated by the old compiler and new 449 compiler are not compatible, so things wind up being 450 undefined. 451 452 cpp is broken in make world: There was a window where cpp 453 would be built incorrectly. The fix for this is 454 cd src/gnu/usr.bin/cc 455 make clean 456 make all 457 make install 458 and this should correct your problems. See the -current 459 archives for a version of this that does moer cleaning. 460 461 Make -j n doesn't work. Work contiunes to make this work, 462 I've seen no reports of success as of April 7th. 463 46419990329: 465 Previously, one would define "NOAOUT" to keep from building 466 the legacy a.out bits. Now one would define "WANT_AOUT" to 467 build them. 468 46919990316: 470 The name of the old wd.c and atapi.c based CDROM driver has 471 been changed back to wcd. So update your config file to use 472 "device wcd" instead of "device acd". 473 47419990314: 475 For those of you using the VN device as a loadable module, 476 please be aware that the new VN device has been committed to 477 -4.x and cannot yet be used as a loadable module. This will 478 be fixed in the future. 479 48019990309: 481 New loader.rc mechanism. Please see src/sys/boot/README for 482 details. 483 48419990225: 485 struct proc size changed. Recompile kernel and the 486 usual suspects. Make world if in doubt. 487 48819990214: 489 The nlpt driver has changed names back to be the lpt driver. 490 See ppbus(4) or http://www.freebsd.org/~nsouch/ppbus.html 491 for proper configuration details. 492 49319990210: 494 The 'lpt' driver is now obsolete. Replace it with the 'nlpt' 495 driver and 'ppbus' controller combination. 496 49719990209: 498 New devstat API requires recompilation of libdevstat, systat, 499 iostat, vmstat and rpc.rstatd. A new kernel is also required. 500 make world + building a kernel should do all of this. Any 501 ports that use devstat need to be recompiled as well. 502 50319990125: 504 Linux threads options has gone away (they are now standard in 505 the FreeBSD kernel). A recompile of all libkvm using programs 506 is in order (or better yet a make world). 507 50819990122: 509 On or about this date there was a small window when the boot 510 blocks had some minor problems which seemed to force one to 511 edit /etc/fstab. This has been corrected, if you are seeing this 512 problem, please rebuild and reinstall your boot blocks. 513 51419990121: 515 Vinum has changed. The "vinum read" command has changed. For 516 updates, please see 517 518http://www.freebsd.org/cgi/getmsg.cgi?fetch=800363+0+current/freebsd-current 519 520 for details. 521 522 Matt Dillon committed a boatload of VM changes, for 523 information please see 524 525http://www.freebsd.org/cgi/getmsg.cgi?fetch=886676+0+current/freebsd-current 526 or 527http://www.freebsd.org/cgi/getmsg.cgi?fetch=827400+0+current/freebsd-current 528 529 for details. These changes will likely not impact anybody, 530 but large chagnes to the VM need at least a heads up. 531 53219990120: 533 Stable branch created. You might want to consider using this 534 branch. It is tagged with RELENG_3. 535 53619990119: 537 More work on the syscons driver has been committed. Since 538 files moved around, you will need to reconfigure your kernel, 539 and make clean; make depend before rebuilding the kernel. No 540 config file changes are needed. 541 54219990111: 543 New keyboard and video card drivers are introduced as the first 544 stage of console driver reorganization. You are required to 545 update the kernel configuration file and rebuild the kernel. 546 kbdcontrol, vidcontrol, and screen savers also need recompilation. 547 The instruction can be found in 548 549 http://www.freebsd.org/~yokota/sc_update.txt 550 551 It has notes on splash screen too. 552 55319990106: 554 Robert Nordier was kind enough to make this page to enable people to 555 install the new bootblocks: 556 557 http://www.freebsd.org/~rnordier/boot.txt 558 559 When updating to ELF, make sure that you have updated your 560 /etc/rc files which have different ldconfig invocations for 561 elf and aout. Otherwise things like X will stop working with 562 messages about being unable to find library files. The 563 mergemaster utility in ports/sysutils/mergemaster helps to 564 keep critical files like this in sync, and its use is 565 recommended. 566 56719990104: 568 Information about ELF day (see 19981230) can be found in 569 570 http://www.freebsd.org/~peter/elfday.html 571 572 about the upcoming change, its motivations and instructions 573 for doing the upgrade. 574 57519981230: 576 You should install new bootblocks now. The ELF kernel will 577 become default soon. In addition, you'll need to upgrade 578 your userland programs to ELF before then as well. Use 579 make aout-to-elf to upgrade your userland programs (old 580 a.out programs in, for example, /usr/local/bin will 581 continue to work, even after the upgrade). See src/Makefile 582 for more details. 583 58419981224: 585 The old wcd driver has been deleted from the kernel. The 586 driver that replaces it is named acd. You'll need to change 587 this in your configuration files. 588 589 Failure to do this will result in "ATAPI CD-ROMs not 590 configured" at boot time. 591 592 The floppy tape driver (ft) has been removed from the kernel, 593 with no replacement driver. 594 59519981202: 596 New groups from 19981201 commented out of mtree, so they 597 aren't strictly needed, but still a good idea to have. 598 59919981201: 600 New user/group added: bind. From src/etc/master.passwd and 601 src/etc/group: 602 % grep <newstuff> /usr/src/etc/group 603 bind:*:53: 604 % grep <newstuff> /usr/src/etc/master.passwd 605 tty:*:4:65533::0:0:Tty Sandbox:/:/sbin/nologin 606 kmem:*:5:65533::0:0:KMem Sandbox:/:/sbin/nologin 607 bind:*:53:53::0:0:Bind Sandbox:/:/sbin/nologin 608 60919981118: 610 PAM integrated into the tree. Requires new /etc/pam.conf file 611 to silence warnings from authentication programs (login, etc). 612 See src/etc/pam.conf for a sample. 613 614COMMON ITEMS: 615 616 To build a kernel 617 ----------------- 618 Update config, genassym and go: 619 cd src/usr.bin/genassym 620 make depend all install clean 621 cd ../../usr.sbin/config 622 make depend all install clean 623 cd ../../sys/i386/conf 624 config YOUR_KERNEL_HERE 625 cd ../../compile/YOUR_KERNEL_HERE 626 make depend && make 627 make install 628 629 To rebuild disk /dev entries 630 ---------------------------- 631 632 MAKEDEV should be copied from src/etc/MAKEDEV to /dev before 633 starting the following: 634 635 For N in the list of disks 636 MAKEDEV N # eg ad0 637 for M in the list of slices 638 MAKEDEV NsMa # eg ad0s1a 639 640 641 To rebuild everything 642 --------------------- 643 make world 644 645 Except when it doesn't work. 646 647 To update from 3.x to 4.0 stable 648 -------------------------------- 649 cd /usr/src 650 make buildworld 651 cd sbin/mknod 652 make install 653 <follow directions to build/install a kernel> 654 <follow rebuild disk /dev entries above> [*] 655 reboot 656 <in single user> 657 cd /usr/src 658 make -DNOINFO installworld 659 make installworld 660 661 [*] You may need to switch from wd to ad ala 19991210 662 663 664FORMAT: 665 666This file contains a list, in reverse chronologocal order, of major 667breakages in tracking -current. Not all things will be listed here, 668and it only starts on November 18, 1998. If you have an earlier 669version of FreeBSD, you are on your own to get to November 18, 1998. 670 671Please filter your entries through Warner Losh (imp@village.org) so 672that the style, formatting, etc of this file can be maintained. 673 674$FreeBSD: head/UPDATING 57787 2000-03-07 04:35:24Z imp $ 675