UPDATING revision 57843
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 820000308: 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 12 /usr/ports/*/p5-*. 13 1420000303: 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. 20 2120000225: 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 27 your make.conf. 28 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. 32 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. 37 3820000205: 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. 43 make buildworld 44 make installworld This will fail 45 cd usr.bin/xinstall 46 make clean all install NOSHARED=YES 47 cd ../.. 48 make installworld 49 If it doesn't work for you, then I'm sure that there will be 50 another 100 messages in -current. 51 5220000204: 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 57 version. 58 5920000201: 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. 64 65 http://www.FreeBSD.org/cgi/cvsweb.cgi/src/lib/libc/net/rcmd.c 66 has the details. 67 6820000129: 69 {set,get}flags have been added to the tree for rather dubious 70 reasons. 71 72 IF AND ONLY IF installworld fails: 73 make -k -DNOFSCHG installworld 74 make installworld 75 This issue was resolved Feb 5, 2000. 76 7720000125: 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 81 libraries they use. 82 8320000124: 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 88 isn't. 89 90 After this change existing applications written in C++ may 91 give errors like below when you try to run them: 92 93/usr/libexec/ld-elf.so.1: /usr/lib/libstdc++.so.3: Undefined symbol "__vt_7filebuf" 94 95 The only fix is to rebuild the application and any C++ 96 libraries used. 97 9820000124: 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 102 friend. 103 10420000117: 105 GNU texinfo upgraded to 4.0. It is recommended that you use 106 make buildworld to update. 107 10820000117: 109 CAM_VERSION has been increased. Recompile all programs that 110 depend on it (tosha, camcontrol, etc) when moving to kernels 111 past this date. 112 11320000115: 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. 121 12220000109: 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. 125 12620000107: 127 chown & chgrp moved again 128 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). 133 13420000107: 135 SHA-1 password support gone 136 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. 144 14520000106: 146 ioctl numbers changed for dvdio ioctls. You will need to recompile 147 anything that uses them. wormcontrol has been deprecated in 148 favor of burncd. 149 15019991223: 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 154 your kernel. 155 15619991218: 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. 160 16119991216: 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/. 167 168 xntpd will be cvs removed from the repo in about a week. 169 17019991213: 171 Soren updated the ata driver. Please update to at least this 172 version before submitting bug reports. 173 17419991210: 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. 183 18419991205: 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. 189 190 See "To rebuild disk /dev entries" at the end of the file. 191 192 *** All uses of block devices must be converted to char devices. 193 *** Likely the only thing impacted is dumpdev in /etc/rc.conf 194 19519991204: 196 The dc interface has replaced al, ax, dm, pn and mx. The former 197 have been removed. 198 19919991204: 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 206 devices as well. 207 208 See "To rebuild disk /dev entries" at the end of the file. 209 21019991203: 211 BAD144 support has been removed. Cope or replace the hardware. 212 21319991129: 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. 217 21819991126: 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. 223 22419991125: 225 The ep changed a while ago and can no longer be used with hard 226 wired addresses in the config file. 227 22819991122: 229 The bridge drivers for sound cards have been committed. Please 230 see LINT for instructions for your card, if it still works at 231 all. 232 23319991113: 234 Gcc 2.95.2 is now the default compiler. 235 23619991030: 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.) 244 24519991015: 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 248 in them as follows: 249 controller pcic0 at isa? 250 controller pcic1 at isa? 251 controller card0 252 25319990929: 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 259 be done. 260 261 *************************************************************** 262 RECOMPILE AND REINSTALL KERNEL BEFORE MAKEWORLD 263 *************************************************************** 264 26519990919: 266 New jail syscall format requires recompilation of jail(8) with 267 fresh headers installed (or a make world will do it for you). 268 26919990914: 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 273 have been warned. 274 27519990908: 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. 279 28019990905: 281 /var/cron/log has been moved to /var/log/cron to get all the 282 log files in one place. 283 28419990831: 285 tn3270 has been removed from the base system and added as a port. 286 28719990830: 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. 291 29219990828: 293 RCS Id tags changed to FreeBSD. This will cause huge cvsup 294 updates. 295 29619990821: 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. 302 303 Thus I have reverted it back to "3". You will need to perform 304 the below immediately before your next ``make world'': 305 cd /usr/lib 306 ls -l libreadline.so.4 307 (if you have /usr/lib/libreadline.so.4) 308 mv libreadline.so.4 libreadline.so.3 309 rm -f libreadline.so 310 ln -s libreadline.so.3 libreadline.so 311 31219990801: 313 Changes to the pccardd kernel interface require that you recompile 314 pccardd for new kernel. 315 31619980725: 317 The ipfw interface to the kernel has changed. You will need to 318 recompile ipfw programs for the new kernel. 319 32019990715: 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. 323 32419990704: 325 src/contrib/sys/softupdates is moving to 326 src/sys/contrib/softupdates. Update your symbolic links/etc. 327 32819990702: 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. 333 33419990628: 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. 338 33919990627: 340 Inetd wrapping default has changed. Please see the updated 341 man page for details. 342 34319990623: 344 Compaq Smart Raid driver committed as ida. 345 34619990622: 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. 352 35319990620: 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 358 installed. 359 36019990618: 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. 364 36519990509: 366 Most of the problems with newbus have been corrected, but 367 it is still current and evolving. 368 369 libcam's ABI has changed. You must recompile the world and 370 any ports that use it. 371 37219990427: 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). 377 37819990420: 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 382 all people. 383 38419990416: 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). 391 392 As of 19990421 the remaining problems/quirks are 393 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. 416 41719990414: 418 cc -aout sometimes has problems compiling with -g, remove -g 419 from those compilation units affected until this is corrected. 420 421 cc -aout has problems with producing some threaded libraries, 422 so make world -DWANT_AOUT is not functional at this time. 423 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. 429 43019990413: 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). 435 43619990413: 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. 441 44219990409: 443 NOTE: New c++ compiler cannot be used with c++ binaries from 444 the old compiler and vice versa. 445 44619990408: 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. 451 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 456 undefined. 457 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 461 make clean 462 make all 463 make install 464 and this should correct your problems. See the -current 465 archives for a version of this that does moer cleaning. 466 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. 469 47019990329: 471 Previously, one would define "NOAOUT" to keep from building 472 the legacy a.out bits. Now one would define "WANT_AOUT" to 473 build them. 474 47519990316: 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". 479 48019990314: 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. 485 48619990309: 487 New loader.rc mechanism. Please see src/sys/boot/README for 488 details. 489 49019990225: 491 struct proc size changed. Recompile kernel and the 492 usual suspects. Make world if in doubt. 493 49419990214: 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. 498 49919990210: 500 The 'lpt' driver is now obsolete. Replace it with the 'nlpt' 501 driver and 'ppbus' controller combination. 502 50319990209: 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. 508 50919990125: 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). 513 51419990122: 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. 519 52019990121: 521 Vinum has changed. The "vinum read" command has changed. For 522 updates, please see 523 524http://www.freebsd.org/cgi/getmsg.cgi?fetch=800363+0+current/freebsd-current 525 526 for details. 527 528 Matt Dillon committed a boatload of VM changes, for 529 information please see 530 531http://www.freebsd.org/cgi/getmsg.cgi?fetch=886676+0+current/freebsd-current 532 or 533http://www.freebsd.org/cgi/getmsg.cgi?fetch=827400+0+current/freebsd-current 534 535 for details. These changes will likely not impact anybody, 536 but large chagnes to the VM need at least a heads up. 537 53819990120: 539 Stable branch created. You might want to consider using this 540 branch. It is tagged with RELENG_3. 541 54219990119: 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. 547 54819990111: 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 554 555 http://www.freebsd.org/~yokota/sc_update.txt 556 557 It has notes on splash screen too. 558 55919990106: 560 Robert Nordier was kind enough to make this page to enable people to 561 install the new bootblocks: 562 563 http://www.freebsd.org/~rnordier/boot.txt 564 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 571 recommended. 572 57319990104: 574 Information about ELF day (see 19981230) can be found in 575 576 http://www.freebsd.org/~peter/elfday.html 577 578 about the upcoming change, its motivations and instructions 579 for doing the upgrade. 580 58119981230: 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 588 for more details. 589 59019981224: 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. 594 595 Failure to do this will result in "ATAPI CD-ROMs not 596 configured" at boot time. 597 598 The floppy tape driver (ft) has been removed from the kernel, 599 with no replacement driver. 600 60119981202: 602 New groups from 19981201 commented out of mtree, so they 603 aren't strictly needed, but still a good idea to have. 604 60519981201: 606 New user/group added: bind. From src/etc/master.passwd and 607 src/etc/group: 608 % grep <newstuff> /usr/src/etc/group 609 bind:*:53: 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 614 61519981118: 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. 619 620COMMON ITEMS: 621 622 To build a kernel 623 ----------------- 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 632 make depend && make 633 make install 634 635 To rebuild disk /dev entries 636 ---------------------------- 637 638 MAKEDEV should be copied from src/etc/MAKEDEV to /dev before 639 starting the following: 640 641 For N in the list of disks 642 MAKEDEV N # eg ad0 643 for M in the list of slices 644 MAKEDEV NsMa # eg ad0s1a 645 646 647 To rebuild everything 648 --------------------- 649 make world 650 651 Except when it doesn't work. 652 653 To update from 3.x to 4.0 stable 654 -------------------------------- 655 cd /usr/src 656 make buildworld 657 cd sbin/mknod 658 make install 659 <follow directions to build/install a kernel> 660 <follow rebuild disk /dev entries above> [*] 661 reboot 662 <in single user> 663 cd /usr/src 664 make -DNOINFO installworld 665 make installworld 666 667 [*] You may need to switch from wd to ad ala 19991210 668 669 670FORMAT: 671 672This file contains a list, in reverse chronologocal order, of major 673breakages in tracking -current. Not all things will be listed here, 674and it only starts on November 18, 1998. If you have an earlier 675version of FreeBSD, you are on your own to get to November 18, 1998. 676 677Please filter your entries through Warner Losh (imp@village.org) so 678that the style, formatting, etc of this file can be maintained. 679 680$FreeBSD: head/UPDATING 57843 2000-03-09 07:34:46Z imp $ 681