UPDATING revision 102887
1Updating Information for FreeBSD current 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 7NOTE TO PEOPLE WHO THINK THAT 5.0-CURRENT IS SLOW: 8 FreeBSD 5.0-CURRENT has many debugging features turned on, in 9 both the kernel and userland. These features attempt to detect 10 incorrect use of system primitives, and encourage loud failure 11 through extra sanity checking and fail stop semantics. They 12 also substantially impact system performance. If you want to 13 do performance measurement, benchmarking, and optimization, 14 you'll want to turn them off. This includes various WITNESS- 15 related kernel options, INVARIANTS, malloc debugging flags 16 in userland, and various verbose features in the kernel. Many 17 developers choose to disable these features on build machines 18 to maximize performance. 19 20 In addition, IDE write caching is currently disabled by default 21 due to on-going concerns about disk write order and file system 22 integrity. Re-enabling write caching can substantially improve 23 performance. 24 2520020831: 26 gcc has been upgraded to 3.2. It is not all binary compatible 27 with earlier versions of gcc for c++ programs. All c++ 28 programs and libraries need to be recompiled. 29 30 Also, if you encounter g++ issues, rm /usr/include/g++/* before 31 doing an installworld to make sure that stale files are removed. 32 3320020827: 34 Our /etc/termcap now has all the entries from the XFree86 xterm 35 almost unchanged. This means xterm now supports color by default. 36 If you used TERM=xterm-color in the past you now should use 37 TERM=xterm. (xterm-color will lead to benign warnings). 38 3920020815: 40 A "bug" in gcc(1) that was hiding warning in system headers was 41 fixed. It's probably time to add -DNO_WERROR to your make line 42 again. 43 4420020729: 45 COPY is being deprecated. The 20010530 change was reverted, as 46 it causes far more pain than was expected, and to always compare 47 before installing, please use INSTALL="install -C" again. The 48 -C option is now silently ignored when used with the -d option. 49 5020020702: 51 Problems with libc_r clients like KDE and GNOME have been resolved. 52 There are still some minor problems with some signals but the 53 system is stable enough for general use again. SMP is less so than UP 54 but each can successfully complete multiple buildworlds. 55 Libkvm needs to be recompiled due to KSE. 56 5720020701: 58 Now would be a bad time to upgrade. Something in or near the 59 KSE commit totally broke programs using libc_r like KDE and 60 GNOME. 61 6220020511: 63 The k5su utility installed as part of Kerberos 5 is no longer 64 installed with the set-user-ID bit set by default. Add 65 ENABLE_SUID_K5SU=yes to /etc/make.conf to have it installed 66 with the set-user-ID bit set. 67 6820020510: 69 Gcc 3.1 debugging format (cc -g) has changed from STABS to DWARF2. 70 Unfortunately our native GDB (at version 4.18) does not understand 71 the DWARF2 debugging format. Thus you must use `gcc -gstabs+' to 72 generated debugging information for our native GDB. 73 7420020510: 75 Due to the way CVS works, it may not properly update src/contrib/gcc 76 to the 3.1 sources. The easiest fix is to `rm -rf' src/contrib/gcc 77 and then do a cvs update. 78 7920020421: 80 When exec'ing set[ug]id executables, the kernel now ensures that the 81 stdio file descriptors (0..2) are open. See FreeBSD-SA-02:23.stdio. 82 8320020404: 84 New sendmail startup scripts have been installed to make it 85 easier to use alternative MTAs with FreeBSD. Setting the rc.conf 86 variable sendmail_enable to "NO" no longer prevents any sendmail 87 daemons from starting. Instead, either set sendmail_enable to 88 "NONE" or change mta_start_script to a script for starting 89 an alternative MTA. Setting mta_start_script to "" will 90 also prevent any MTA from being started at boot. 91 9220020403: 93 UCONSOLE is no longer a valid kernel option. 94 9520020315: 96 FreeBSD 5.0 DP-1 was basically branched today. 97 9820020225: 99 Warnings are now errors in the kernel. Unless you are a developer, 100 you should add -DNO_WERROR to your make line. 101 10220020217: 103 sendmail 8.12.2 has been imported. The sendmail binary is no 104 longer a set-user-ID root binary and the infrastructure to support 105 command line mail submission has changed. Be sure to run 106 mergemaster (especially for updating /etc/rc, /etc/defaults/rc.conf, 107 and /etc/mail) and read /etc/mail/README for more details. 108 109 Due to the import of sendmail 8.12.2, a new user and group are 110 required in order for sendmail to run as a set-group-ID 111 binary. A 'make installworld' will use the new user and group 112 to set the owner and group of /var/spool/clientmqueue and will 113 fail if the new user and group do not exist. The 'smmsp' user 114 and group must be merged from src/etc/group and 115 src/etc/master.passwd before using 'make installworld'. 116 'mergemaster -p' will do this. You may need to install 117 mergemaster before this will work if you are updating from a 118 very old version of current. The updating recipe has changed 119 as of this date. 120 12120020112: 122 The preferred configuration method for PAM is now /etc/pam.d/ 123 rather than /etc/pam.conf. If you have an unmodified 124 pam.conf, just delete it after your next mergemaster run. If 125 you have local modifications, you can use 126 /usr/src/etc/pam.d/convert.pl to incorporate them into your 127 /etc/pam.d. 128 129 Please see the following url for more details: 130http://www.freebsd.org/cgi/mid.cgi?db=mid&id=<xzp6667fyoa.fsf@flood.ping.uio.no> 13120011229: 132 If anyone here is already using the new rc.conf(5) variable 133 networkfs_types, please note that it has changed 134http://www.freebsd.org/cgi/mid.cgi?db=mid&id=<9744.1009655556@axl.seasidesoftware.co.za> 135 13620011220: 137 sys/i4b/driver/i4b_ispppsubr.c has been retired. This file 138 started out its life in the ISDN4BSD project as an offspring 139 from sys/net/if_spppsubr.c, which eventually got a life of its 140 own. All the accumulated features and bugfixes of the i4b 141 version have now been merged back into the base system's 142 version now. The only user-visible change resulting from this 143 is that i4b's sppp(4) interfaces are to be managed with 144 spppcontrol(8) again, since ispppcontrol(8) has been retired 145 as well. (There has never been rc file support for 146 ispppcontrol in -current, but only in -stable. That will be 147 reverted by the time the changes are MFCed.) 148 14920011215: 150 The fdc(4) driver has been updated and now automatically 151 recognizes media in `standard' formats (like 1440 KB and 152 720 KB for a 3.5" high-density drive) when accessing the 153 default device node (e. g. /dev/fd0). The old variety of 154 floppy device nodes /dev/fd*.* is no longer present by 155 default, devices can be created (in DEVFS) on demand. They 156 will need to be customized then for `odd' densities using 157 fdcontrol(8). 158 15920011209: 160 The bugs in procfs' debugging support code have been fixed, 161 and truss(1) now works again. 162 16320011207: 164 Daily security checks have been split out to use the periodic(8) 165 scripts. Some change in configuration may be necessary. Please 166 see 167http://www.freebsd.org/cgi/mid.cgi?db=mid&id=<20011207155805.R8975@blossom.cjclark.org> 168 for details. 169 17020011204: 171 sos added VCD/SVCD support to ata driver and that needs the 172 kernel and burncd to be in sync. 173 17420011203: 175 The procfs pseudo-filesystem has now been converted to use the 176 pseudofs framework. If you have 'options PROCFS' in your 177 kernel config, you'll need to add 'options PSEUDOFS' if it's 178 not there already. 179 180 This change temporarily breaks truss(1); use ktrace(1) instead 181 until the issue has been resolved. 182 18320011202: 184 A security hole in OpenSSH involving `UseLogin yes' has been 185 patched. 186 18720011126: 188 You need to remove /usr/obj/.../usr.bin/tip before rebuilding 189 after this date. You need to do this only once. 190 19120011103: 192 Most of the awk issues have been resolved. Some rough 193 edges may be left, but for the most part things should be 194 back to "normal." For CURRENT's usual definition of "normal." 195 19620011030: 197 Awk has been upgraded to the one true awk from bell labs. Expect 198 choppy waves in the upgrade process. 199 20020011030: 201 The asr driver problem has been resolved. 202 20320011027: 204 Due to changes in other parts of the system, the asr driver 205 now causes the system to panic on boot. Do not use it pending 206 correction. Comment it out of any kernel config file that you 207 try to use from this date forward. 208 20920011025: 210 When crossbuilding, use TARGET=xxx where you used to use 211 MACHINE=xxx. You don't need to set TARGET_ARCH and TARGET, 212 unless you are changing both of them. To cross build pc98 on 213 an alpha, for example, you need to set TARGET=pc98 and 214 TARGET_ARCH=i386. 215 21620011001: 217 The kernel interface that burncd depends on has changed. 218 You must recompile both the kernel and userland applications 219 at the same time. 220 22120010929: 222 When crossbuilding, please set TARGET_ARCH rather than 223 MACHINE_ARCH to indicate the target. In the future, one will 224 set TARGET_MACHINE where you set MACHINE now. At the moment, 225 setting MACHINE alone for same MACHINE_ARCH machines works 226 (eg, you can build pc98 on a i386 machine and vice versa). 227 22820010927: 229 Some weird problems result from using ACPI on some machines. 230 To disable ACPI you can add 231 hint.acpi.0.disable="1" 232 to /boot/loader.conf (or by putting set X=Y at the boot 233 loader "ok" prompt). 234 235 Alternatively, you can remove it from /boot/kernel/acpi.ko 236 or use the MODULES_OVERRIDE function in your kernel config 237 file and not list acpi in that list. 238 23920010924: 240 The buildworld has been fixed. You may need to install 241 the 4.x compatibility libraries for some old binaries 242 to work. Add COMPAT4X=true to your /etc/make.conf to 243 get them installed on every installworld, or execute the 244 following to get them installed only once: 245 cd src/lib/compat/compat4x.<arch> 246 make all install 247 You will see ``__stdoutp undefined'' until you do this. 248 24920010919: 250 There's a bug in the world build process. The cross-tools 251 are build with the NEW headers, but the OLD libc.a. This 252 leads to all kinds of problems with the new libc. A temporary 253 workaround is to add 254 CFLAGS="-O -pipe -D_OLD_STDIO" 255 before building world when upgrading from 4.x to current. This 256 can be removed afterwards. 257 258 A proper fix to the buildworld target is needed. 259 26020010918: 261 Peter has committed his new kthread nfs client/server code. 262 NFS may be unstable after this date. 263 26420010912: 265 KSE has hit the tree. Lots of things are now different in 266 the kernel. While a few problems were introduced in the 267 initial commit, most of the major ones have been found and 268 corrected. 269 27020010901: 271 In OLDCARD, CardBus bridges appear to be stable. The work 272 arounds described in the 20010604 entry are now no longer 273 necessary and will be ignored. Most insert/remove problems 274 have been rectified around this date. 275 27620010823: 277 named now runs as user bind and group bind rather than as 278 root. If named_enable is set to YES in /etc/rc.conf, ensure 279 that user bind is available in /etc/passwd (using vipw(8)) 280 and that group bind is available in /etc/group. Also make 281 sure that user or group bind has read (and not write) 282 permission for your name server configuration and that it 283 has read and write permission for your slave zone files and 284 directory. 285 286 If you wish to continue to run named as root (a less secure 287 alternative), add a line to /etc/rc.conf saying 288 289 named_flags= 290 29120010709: 292 The PAM libraries have had an API upgrade that is beyond 293 the ability of the shared library major number to handle. 294 It is manifested by PAM-using ports dumping core. The 295 solution is to rebuild those ports. 296 29720010628: 298 The kernel compile module has moved from src/sys/compile/FOO 299 to src/sys/${MACHINE}/compile/FOO. 300 30120010625: 302 The pccard modem issue from 20010613 has been corrected. 303 OLDCARD support is still a little weak in -current. slot 1 is 304 known not to work on some TI based cardbus bridges. Some 305 cardbus bridges do not properly detect insert/removal events. 306 IRQ configuration needs more safety belts. 307 30820010617: 309 Softupdates problems have been corrected. 310 31120010614: 312 Peter ripped out the linkerset support. You must, as always, 313 rerun config after you cvsup if you are using the traditional 314 kernel building methods. 315 31620010613: 317 pccard modems may not work with current after 20010604 date. Some 318 do, others result in panics. *MAKE*SURE* that you update your 319 config and /etc/rc.conf ala the 20010604 entry, or you will have 320 problems (this issue will be fixed, it just hasn't been yet). 321 32220010613: 323 SOFTUPDATES seem to be broken since the middle of May or so. Do not 324 use them in current. You can disable softupdates on all mounted 325 partitions, or remove SOFTUPDATES the kernel config file. 326 32720010612: 328 After Peter's commits to the hints code, people have been noticing 329 that certain devices are attached (or try to) twice. This is due 330 to having both static hints as well as a /boot/device.hints. To 331 work around this issue, please use only one or the other mechanism 332 until this bug is fixed. 333 334 Please note that a feature of config is that if you have config 335 file FOO and FOO.hints, it automatically adds FOO.hints to the 336 hints.c file, wheather you want it to or not. 337 33820010610: 339 Locale names have changed to match other systems better. 340 34120010604: 342 pccard support for pci cards has been committed. You must change 343 your /etc/pccard.conf irq lines. It must match the irq used by 344 pcic device. Interrupt storms may result if you fail to do this. 345 Interrupt storms look a lot like a hang. 346 347 You must also install a new pccardd, otherwise you will get an 348 interrupt storm at card reset time (just after it tells you what 349 it is). 350 351 pccardd_flags="-I" is necessary for the time being. It tells pccardd 352 not to ask the kernel if the interrupt is really free or not before 353 using it. You can either change the /etc/pccard.conf irq lines to 354 match pcic, or add "-i X" to the pccardd_flags. 355 35620010530: 357 INSTALL=install -C is being deprecated. If you want to do this, 358 use COPY=-C instead. The former method will be supported for only 359 a limited time. If you see 360 361install: warning: the -d and -C options may not be specified together 362 363 in your makeworld, then you need to migrate towards using 364 COPY=-C. 365 36620010525: 367 It appears that vm is now stable enough to use again. However, 368 there may be other problems, so caution is still urged. alpha 369 definitely is in bad shape. 370 37120010521: 372 Minor repo damange has happened. This may cause problems 373 with cvsup of ports. If you get errors, please see 374 http://www.FreeBSD.org/cgi/query-pr.cgi?pr=27495 375 at the bottom for details on a workaround. The error message 376 is 377Updater failed: Cannot delete "/usr/ports/www/jakarta-tomcat/files": Directory not empty 378 37920010520: 380 Vm and/or swapping are busted on -current. Please be patient. 381 38220010519: 383 pccard has had much reorganizational work done to it over 384 the past few days. Everything should still work, but if 385 not, please contact imp@freebsd.org. 386 38720010517: 388 ata ioctl changed. Make sure to recompile both kernel and 389 userland at the same time. 390 39120010517: 392 New ncurses imported. 393 39420010512: 395 DEVFS is now opt out, not opt in. Barring major problems, this 396 will be the only way to go starting July 1. 397 39820010504: 399 OpenSSH has been updated to 2.9. Some defaults are different, 400 including RhostsRSAAuthentication, which changes from yes to no. 401 40220010502: 403 Perl breakage in 20010501 was corrected at 14:18:33 PDT. 404 40520010501: 406 Building perl was broken at 02:25:25 PDT. 407 40820010430: 409 The bug in 20010429 was corrected at 07:35:37 PDT. It is safe to 410 go back in the water. 411 41220010429: 413 A bad bug was committed at 04:48:42 PDT. Don't use kernels after 414 this date, but before the correction date. 415 41620010423: 417 old fsck and new kernel interactions appear to have been fixed. 418 41920010411: 420 fsck and the kernel were changed to handle some optimizations 421 to directory layout. This breaks backward compatibility. 422 Update only if you understand that you must not use the old 423 fsck with the new kernel ever. 424 42520010330: 426 fsck has changed the meaning of the pass column in /etc/fstab. 427 Please see the cvs commit to fsck.8 or the fsck.8 man page for 428 details. It is unclear if changes to /etc/fstab are necessary. 429 43020010319: 431 portmap had changed name to rpcbind for maximum POLA in your 432 current world. /etc/hosts.{allow,deny} needs changes. nfs and 433 other rpc based programs that rely on portmapper will not work 434 without updates to /etc/hosts.{allow,deny} and /etc/netconfig. 435 43620010315: 437 ata subsystem changes. ATA_ENABLE_ATAPI_DMA, ATA_ENABLE_WC 438 and ATA_ENABEL_TAGS are no longer kernel options. They have 439 been replaced by tunables. See ata.4 for details. 440 44120010312: 442 The fxp driver was converted to use miibus. If you compile 443 fxp into your kernel statically, you will need to add miibus. 444 44520010312: 446 The wi device now defaults to BSS (infrastructure) mode 447 instead of ad-hoc. 448 44920010310: 450 /dev/urandom should be a symbolic link to /dev/random now. 451 Users of current not using DEVFS need to run MAKEDEV std. 452 ssh might not work if you don't. 453 45420010303: 455 The ed driver has been updated. It now allows mii attachments, 456 which means that you must include the miibus in your kernel if 457 you use the ed driver. 458 45920010220: 460 The problems with libc have been corrected. It is now mostly 461 safe to go back into the water. 462 46320010211: 464 The size of FILE was changed. This breaks upgrading. If 465 you must upgrade, be prepared for pain. It also breaks almost 466 all binaries that you've compiled on -current. You are warned 467 that before upgrading would be a good time to do a level 0 468 dump of your system. No, really, I mean it this time. 469 470 To get to the new system, you'll need to use the following 471 workaround. Hopefully this can be sorted out so that we 472 don't have to move this to the updating section. 473 474 To get around the installworld problem, do: 475 # cd /usr/src/usr.bin/sed 476 # make install 477 # cd /usr/src 478 # make installworld 479 If that doesn't work, then try: 480 # make -k installworld 481 # make installworld 482 48320010207: 484 DEVFS is now the default. If you use vinum, make sure that you 485 do not include devfs in your kernel as problems result. 486 48720010205: 488 FFS_ROOT and CD9660_ROOT have been removed or deprecated. 489 Remove them from your config. 490 49120010122: 492 ****************************** WARNING ****************************** 493 buildkernel has been changed slightly 494 ****************************** WARNING ****************************** 495 KERNCONF replaces the variable KERNEL for buildkernel. You 496 should update your scripts and make.conf accordingly. 497 49820010119: 499 config has changed to allow DEV_FOO as a replacement for NFOO. 500 This requires a new config to build correctly. 501 50220010116: 503 The kerrnel option I386_CPU is now mutually exclusive with the 504 other cpu types. If you have an i386 system, be sure that it 505 only had this line. Remove it for all other configurations. 506 50720010110: 508 Changes to the kernel require it and burncd be in sync. 509 51020010102: 511 Everyone who has hw.sndunit set to something in 512 /etc/sysctl.conf, it is now hw.snd.unit. 513 51420010101: 515 ex and vi were broken by some changes to sys/queue.h. If you 516 have a bad vi, you will see make buildworld fail with a core 517 dump while building termcap. You can work around this problem 518 by adding -k to your make buildworld. This will cause the 519 build to complete and install a new vi. Once that's done, you 520 can rebuild again without the -k to pick up anything that 521 might have been ignored by the -k option. 522 523 Others have suggested that you can just rebuild libc if your 524 vi/ex is dynamically linked, but I've not received any reports 525 of this working. 526 52720001228: 528 There have been some changes to libcrypt in -current. The 529 libscrypt/libdescrypt symlink sillyness is gone and the installed 530 libcrypt is fully functional. Be aware of this. 531 53220001218: 533 Linksys Fast Ethernet PCCARD cards supported by the ed driver 534 now require the addition of flag 0x80000 to their config line 535 in pccard.conf(5). This flag is not optional. These Linksys 536 cards will not be recognized without it. 537 53820001205: 539 Important new FreeBSD-version stuff: PAM support has been worked 540 in, partially from the "Unix" OpenSSH version. This requires 541 adding the following in pam.conf: 542 543 sshd auth sufficient pam_skey.so 544 sshd auth required pam_unix.so try_first_pass 545 sshd session required pam_permit.so 546 54720001031: 548 cvs updated to 1.11. 549 55020001020: 551 The random device needs more entropy, so you need to make sure 552 that you've run mergemaster to get a /etc/rc which will seed 553 /dev/random. If you don't and the system hangs after ldconfig, 554 then banging on the keyboard randomly until it unhangs is one 555 workaround. 556 55720001010: 558 ****************************** WARNING ****************************** 559 Sendmail has been updated. 560 ****************************** WARNING ****************************** 561 o mail.local(8) is no longer installed as a set-user-id binary. 562 o sendmail(8) is now built with STARTTLS support unless NO_OPENSSL 563 is set. 564 o The default /etc/mail/sendmail.cf disables the SMTP EXPN and VRFY 565 commands. 566 o Now using sendmail's version of vacation(1). 567 o The sendmail cf building tools (contrib/sendmail/cf) are installed 568 in /usr/share/sendmail/cf. 569 o sendmail.cw changed to local-host-names 570 571 More details can be found at 572 http://people.freebsd.org/~imp/UPDATING/sendmail-20001010 573 57420001009: 575 The ports tree's new layout is in place. Be sure to update 576 your entire ports tree, or you will have problems. 577 57820001006: 579 The perl build procedure no longer installs miniperl, nor uses 580 the installed miniperl. It is recommended that you delete 581 /usr/bin/miniperl. 582 58320001005: 584 This weekend the ports tree will be updated to a new layout. 585 It will be in an inconsistent state until noted in the UPDATING 586 file, or with asami-san's message to the relevant mailing 587 lists. With this new layout, you'll need to update the whole 588 tree for anything to work. 589 59020000928: 591 There was a change in the passwd format. Need more information. 592 59320000916: 594 /boot/kernel/kernel.ko -> /boot/kernel/kernel change has taken 595 place. Please update boot loader (not the boot blocks) at the 596 same time as your kernel. 597 59820000914: 599 The new pmtimer device is necessary for laptops. Failure to 600 include the device will cause suspended laptops losing time 601 when they resume. Include 602 device pmtimer 603 in your config file and 604 hint.pmtimer.0.at="isa" 605 to your /boot/device.hints file. 606 60720000911: 608 The random device has been turned into a (pseudo-)device, 609 rather than an option. The supplied kernel config files have 610 been updated. You will need to do something similar in your 611 own kernel config file. 612 Remove: 613 options RANDOMDEV 614 Add: 615 device random 616 If you prefer to load the loadable module, you need to do 617 nothing. 618 61920000909: 620 The random device module has been renamed from randomdev.ko to 621 random.ko. You will need to edit your /boot/loader.conf to 622 reflect this if you load this module at boot time. 623 The line should read: 624 random_load="YES" 625 62620000907: 627 The SMPNG commit has happened. It should work, but if it 628 doesn't, fallback to the PRE_SMPNG CVS tag. There are likely 629 to be a variety of minor issues. Please see 20000905 to make 630 sure you don't have model loading problems which might at 631 first blush appear related to SMP. 632 63320000906: 634 nsswitch has been imported from NetBSD. Among other things, 635 this means that /etc/host.conf is no longer used. See 636 nsswitch.conf(5) instead. Note that at boot time rc.network 637 will attempt to produce a new nsswitch.conf file for you if you 638 don't have one, and you have host.conf. 639 64020000905: 641 The ucred structure changed size. This breaks the interface 642 that mountd uses. Trying to use an older mountd with a newer 643 kernel guarantees a panic. This means that you need to use 644 kernels newer than today only with matching mountd, but you 645 needed to do that anyway with the boot loader changes. 646 64720000905: 648 The boot loader has been updated. The new default kernel is 649 now /boot/kernel/kernel.ko. The new default module location 650 is /boot/kernel. 651 652 You *MUST* upgrade your boot loader and kernel at the same time. 653 The easiest way to do this is to do the buildworld/buildkernel/ 654 installkernel/installworld dance. 655 656 Furthermore, you are urged to delete your old /modules directory 657 before booting the new kernel, since kldload will find stale 658 modules in that directory instead of finding them in the correct 659 path, /boot/kernel. The most common complaint that this cures 660 is that the linux module crashes your machine after the update. 661 662 if [ ! -d /boot/kernel.old ]; then 663 mv /modules.old /boot/kernel.old 664 chflags noschg /kernel.old 665 mv /kernel.old /boot/kernel.old/kernel.ko 666 chflags schg /boot/kernel.old/kernel.ko 667 fi 668 66920000904: 670 A new issue with the sendmail upgrade has come to light. 671 /etc/aliases has moved to /etc/mail/aliases. Mergemaster will 672 incorrectly install the default aliases in /etc/mail rather than 673 move the old one from /etc. So you'll need to manually move the 674 file, create a symbolic link, remove the old /etc/aliases.db and 675 run newaliases. For safety sake, you should stop sendmail 676 while doing this and run the upgrade when locally sourced email 677 is not likely to be generated. 678 67920000825: 680 /boot/device.hints is now required for installkernel to 681 succeed. You should copy GENERIC.hints for your architecture 682 into /boot/device.hints. If and only if you compile hints 683 into your kernel, then this file may be empty. Please note, 684 if you have an empty or missing /boot/device.hints file and 685 you neglected to compile hints into your kernel, no boot 686 messages will appear after the boot loader tries to start the 687 kernel. 688 68920000821: 690 If you do NOT have ``options RANDOMDEV'' in your kernel and 691 you DO want the random device then add randomdev_load="YES" to 692 /boot/loader.conf. 693 69420000812: 695 suidperl is now always built and installed on the system, but 696 with permissions of 511. If you have applications that use 697 this program, you are now required to add ENABLE_SUIDPERL=true 698 to /etc/make.conf. If you forget to do this, 699 chmod 4511 /usr/bin/suidperl 700 will fix this until the next build. 701 70220000812: 703 sendmail has been updated from 8.9.3 to 8.11.0. Some of the more 704 visible changes that may immediately affect your configuration 705 include: 706 - New default file locations from src/contrib/sendmail/cf/README 707 - newaliases limited to root and trusted users 708 - MSA port (587) turned on by default 709 - New queue file naming system so can't go from 8.11 -> 8.9 710 - FEATURE(`rbl') renamed to FEATURE(`dnsbl') 711 - FEATURE(`nullclient') is more full featured 712 - FEATURE(`nouucp') requires an argument: `reject' or `nospecial' 713 - mail.local FreeBSD-only -b option changed to -B 714 - See src/contrib/sendmail/RELEASE_NOTES for more info 715 71620000810: 717 suidperl (aka sperl) is no longer build by default. You must 718 specifically define BUILD_SUIDPERL to "true" for it to be build. 719 Furthermore, we recommend that you remove /usr/bin/sperl* and 720 /usr/bin/suidperl files from your system unless you have a 721 specific use for it. 722 72320000729: 724 Networking defaults have been tightened. Anybody upgrading 725 /etc/defaults/rc.conf needs to add the following lines to 726 /etc/rc.conf if they want to have the same setup 727 afterwards (unless the variables already are set, of course): 728 # Enable network daemons for user convenience. 729 inetd_enable="YES" 730 portmap_enable="YES" 731 sendmail_enable="YES" 732 73320000728: 734 If you have null_load="YES" in your /boot/loader.conf, you 735 will need to change that to nullfs_load="YES". 736 73720000728: 738 The "installkernel" target has changed slightly. Now even if 739 you override KERNEL e.g. 'make installkernel KERNEL=MYKERNEL' 740 it will install the MYKERNEL file (built with the buildkernel 741 target) as /kernel rather than /MYKERNEL. Those who have 742 updated their /boot/loader.conf files to point to /MYKERNEL 743 should remove that entry or perform manual rename of /kernel 744 to /MYKERNEL. 745 74620000711: 747 If you use CVSUP or CTM to get CVS trees, AND you used to get 748 the old crypto files from internat.freebsd.org AND you check 749 out files from the CVS tree with the cvs command, please read 750 http://people.freebsd.org/~imp/internat.txt 751 for details on potential problems that you might have and how 752 to get around them. 753 754 If you are merely a mirror, or don't answer yes to each of the 755 clauses above, you needn't worry. 756 75720000711: 758 /etc/security has been updated to print the inode number of 759 setuid programs that have changed. You will see a large spike 760 in the number of changed programs the first time when you run 761 mergemaster to get a new /etc/security. 762 76320000710: 764 /dev/random now has good entropy collection (from the keyboard 765 and sysmouse drivers). Please ensure that either `options 766 RANDOMDEV' is present in your kernel config file or that 767 `randomdev_load="YES"' is in your /boot/loader.conf. If you do 768 not have the /dev/random driver, OpenSSL (and consequently 769 lots of crypto tools (like SSH)) will fail with strange 770 errors. (see below, 20000624). 771 772 FreeBSD-current is safe again to run Crypto. 773 77420000709: 775 phk made the malloc default options AJ. This may slow things 776 down and uncover other latent bugs in the code. If you need to 777 run at full speed, you can disable this by doing the following: 778 ln -s aj /etc/malloc.conf 779 78020000706: 781 libftpio's version was accidentally bumped a few days ago. This 782 has been corrected. You may need to remove /usr/lib/libftpio.so.6 783 before doing your next buildworld/installworld pair. It certainly 784 won't hurt to remove it before the update procedure. It will 785 break fetch until a new one is built, but ftp can be used in the 786 interim if needed. 787 78820000705: 789 The crypto packages have changed for the cvsup. This has been done 790 in a backward compatible way, but the old packages will go away at 791 some point in the future. Look at /usr/share/examples/cvsup for 792 details. 793 79420000704: 795 With the new sys/modules/sound/drivers/*, you will need to 796 set SYSDIR until you do an installworld after July 7th. 797 79820000704: 799 rc.shutdown and rc will now call the rc.d scripts with start 800 or stop. This may cause some harmless warnings from older 801 rc.d scripts that haven't been updated. 802 80320000630: 804 The libfetch based version of fetch has gone into the tree. 805 Minor problems may result on some of the less popular sites, 806 which should be reported to des@freebsd.org. 807 80820000625: 809 From approximately this date forward, one must have the crypto 810 system installed in order to build the system and kernel. 811 While not technically strictly true, one should treat it as 812 required and grab the crypto bits. If you are grabbing CVS 813 trees, src-all and cvs-crypto should be treated as if they 814 were required. You should check with the latest collections 815 to make sure that these haven't changed. 816 81720000624: 818 Mark Murray just committed the first parts of a cleanup of 819 /dev/zero, et al. This is also cleaning up /dev/random. 820 The entropy is disconnected, so DO NOT USE VERSIONS OF FREEBSD 821 -CURRENT FROM THIS POINT to 2000710 for cryptographic services 822 until Mark can merge in the fixes to this work in progress. 823 openssh and openssl should not be used to generate keys from this 824 date to the completion of the work. 825 826 If you must operate at this reduced level of security, add ' 827 options RANDOMDEV' to your kernel or modload the randomdev 828 module. You may also need to copy a new MAKEDEV to /dev and 829 recreate the random and urandom devices. 830 83120000622: 832 The license on the softupdates is now a standard 2 clause 833 BSD license. You may need to remove your symbolic links 834 that used to be required when updating. 835 83620000621: 837 Scott Flatman <sf@aracnet.com> sent in a decent write-up on 838 the config file update procedure. 839 http://people.freebsd.org/~imp/config-upd.html 840 NOTE: LINT is gone. It has been replaced with NOTES. NOTES 841 isn't buildable. However, you can generate a LINT file. 842 84320000620: 844 Binutils 2.10 have hit the tree, or will shortly. As soon 845 as they do, the problem noted in 20000522 will be resolved and 846 that workaround will no longer be required. 847 84820000615: 849 phk removed the compatibility creation of wd devices in the 850 ad driver. If you haven't done so already, you must update 851 your fstab, etc to use the ad devices instead of the wd 852 devices. 853 854 In addition, you'll need to update your boot blocks to a 855 more modern version, if you haven't already done so. Modern 856 here means 4.0 release or newer (although older releases 857 may work). 858 85920000612: 860 Peter took an axe to config(8). Be sure that you read his mail 861 on the topic before even thinking about updating. You will 862 need to create a /boot/device.hints or add a hints directive 863 to your config file to compile them in statically. The format 864 of the config file has changed as well. Please see GENERIC or 865 NEWCARD for examples of the new format. 866 867 Indirectly, this also breaks USERCONFIG. Unless a newer entry 868 says that it has been fixed, assume that must use the hints mechanism 869 in the loader if you need to use a machine with very old ISA cards 870 in it. 871 87220000522: 873 A new set of binutils went into the tree today. Anybody 874 building a kernel after this point is advised that they need 875 to rebuild their binutils (or better yet do a 876 buildworld/installworld) before building a new kernel. 877 878 Due to bugs in binutils, using malloc options (eg /etc/malloc.conf 879 or MALLOC_OPTIONS env var) J will cause ld to dump core. It 880 is recommended that you don't set this option until the problem 881 is resolved. 882 88320000513: 884 The ethernet drivers were all updated to clean up the BPF handling. 885 88620000510: 887 The problems with boot blocks on the alphas have been corrected. 888 This will require some care in updating alphas. A new libstand 889 is requires for the boot blocks to build properly. 890 89120000503: 892 Recompile all kld modules. Proper version dependency info 893 is now available. 894 89520000502: 896 Modules have been disconnected from the buildworld tree and 897 connected to the kernel building instead. 898 89920000427: 900 You may need to build gperf 901 cd /usr/src/gnu/usr.bin/gperf && make depend all install 902 when upgrading from 4.0 -> current. The build system now uses 903 an option only in -current. 904 90520000417: 906 The method that we brand ELF binaries has changed to be more 907 acceptable to the binutils maintainers. You will need to 908 rebrand your ELF binaries that aren't native. One problem 909 binary is the Linux ldconfig. After your make world, but 910 before you reboot, you'll need to issue: 911 brandelf -t Linux /compat/linux/sbin/ldconfig 912 if you have Linux compatibility enabled on your machine. 913 91420000320: 915 If you have really bad/marginal IDE drives, you may find they 916 don't work well. Use pio mode instead. The easiest way to 917 cope if you have a problem combination is to add: 918 /sbin/sysctl hw.ata.ata_dma=0 919 to the start of /etc/rc.conf. 920 92120000319: 922 The ISA and PCI compatibility shims have been connected to the 923 options COMPAT_OLDISA and COMPAT_OLDPCI. If you are using old 924 style PCI or ISA drivers (i.e. tx, voxware, etc.) you must 925 include the appropriate option in your kernel config. Drivers 926 using the shims should be updated or they won't ship with 927 5.0-RELEASE, targeted for 2001. 928 92920000318: 930 We've entered the traditional post release dumping party. 931 Large kernel changes are being committed and are in the 932 works. It is important to keep the systems' klds and kernel 933 in sync as kernel interfaces and structures are changing. 934 Before reporting kernel panics, make sure that all modules 935 that you are loading are up to date. 936 93720000315: 938 If you are upgrading from an older version of FreeBSD, you 939 need to update your boot blocks as well. 'disklabel -B ad0' 940 will do the trick. This isn't critical until you remove your 941 wd device entries in /dev, at which point your system will not 942 boot. 943 94420000315: 945 4.0 RELEASE shipped. Please see the 4.0 UPDATING file for how 946 to upgrade to 4.0 from 3.x. 947 948COMMON ITEMS: 949 950 General Notes 951 ------------- 952 Avoid using make -j when upgrading. From time to time in the 953 past there have been problems using -j with buildworld and/or 954 installworld. This is especially true when upgrading between 955 "distant" versions (eg one that cross a major release boundary 956 or several minor releases, or when several months have passed 957 on the -current branch). 958 959 Sometimes, obscure build problems are the result of environment 960 poisoning. This can happen because the make utility reads its 961 environment when searching for values for global variables. 962 To run your build attempts in an "environmental clean room", 963 prefix all make commands with 'env -i '. See the env(1) manual 964 page for more details. 965 966 To build a kernel 967 ----------------- 968 If you are updating from a prior version of FreeBSD (even one just 969 a few days old), you should follow this procedure. With a 970 /usr/obj tree with a fresh buildworld, 971 make buildkernel KERNCONF=YOUR_KERNEL_HERE 972 make installkernel KERNCONF=YOUR_KERNEL_HERE 973 974 To just build a kernel when you know that it won't mess you up 975 -------------------------------------------------------------- 976 cd src/sys/{i386,alpha}/conf 977 config KERNEL_NAME_HERE 978 cd ../../compile/KERNEL_NAME_HERE 979 make depend 980 make 981 make install 982 983 If this fails, go to the "To build a kernel" section. 984 985 To rebuild everything and install it on the current system. 986 ----------------------------------------------------------- 987 make world 988 Build a new kernel, see above. 989 990 To upgrade from 4.x-stable to current 991 ------------------------------------- 992 make buildworld 993 make buildkernel KERNCONF=YOUR_KERNEL_HERE 994 cp src/sys/${MACHINE_ARCH}/conf/GENERIC.hints /boot/device.hints [2] 995 make installkernel KERNCONF=YOUR_KERNEL_HERE 996 reboot in single user [3] 997 mergemaster -p [5] 998 rm -rf /usr/include/g++ 999 make installworld 1000 mergemaster [4] 1001 [1] 1002 <reboot> 1003 1004 Make sure that you've read the UPDATING file to understand the 1005 tweaks to various things you need. At this point in the life 1006 cycle of current, things change often and you are on your own 1007 to cope. The defaults can also change, so please read ALL of 1008 the UPDATING entries. 1009 1010 Also, if you are tracking -current, you must be subscribed to 1011 freebsd-current@freebsd.org. Make sure that before you update 1012 your sources that you have read and understood all the recent 1013 messages there. If in doubt, please track -stable which has 1014 much fewer pitfalls. 1015 1016 [1] If you have third party modules, such as vmware, you 1017 should disable them at this point so they don't crash your 1018 system on reboot. 1019 1020 [2] If you have legacy ISA devices, you may need to create 1021 your own device.hints to reflect your unique hardware 1022 configuration. 1023 1024 [3] From the bootblocks, boot -s, and then do 1025 fsck -p 1026 mount -u / 1027 mount -a 1028 cd /usr/src 1029 adjkerntz -i # if CMOS is wall time 1030 Also, when doing a major release upgrade, it is required that 1031 you boot into single user mode to do the installworld. 1032 1033 [4] Note: This step is non-optional. Failure to do this step 1034 can result in a significant reduction in the functionality of the 1035 system. Attempting to do it by hand is not recommended and those 1036 that pursue this avenue should read this file carefully, as well 1037 as the archives of freebsd-current and freebsd-hackers mailing lists 1038 for potential gotchas. 1039 1040 [5] Usually this step is a noop. However, from time to time 1041 you may need to do this if you get unknown user in the following 1042 step. It never hurts to do it all the time. You may need to 1043 install a new mergemaster (cd src/usr.sbin/mergemaster && make 1044 install) after the buildworld before this step if you last updated 1045 from current before 20020224 or from -stable before 20020408. 1046 1047FORMAT: 1048 1049This file contains a list, in reverse chronological order, of major 1050breakages in tracking -current. Not all things will be listed here, 1051and it only starts on March 15, 2000. Updating files can found in 1052previous releases if your system is older than this. 1053 1054Copyright information: 1055 1056Copyright 1998, 2002 M. Warner Losh. All Rights Reserved. 1057 1058Redistribution, publication, translation and use, with or without 1059modification, in full or in part, in any form or format of this 1060document are permitted without further permission from the author. 1061 1062THIS DOCUMENT IS PROVIDED BY WARNER LOSH ``AS IS'' AND ANY EXPRESS OR 1063IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 1064WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 1065DISCLAIMED. IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT, 1066INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 1067(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 1068SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 1069HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 1070STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 1071IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 1072POSSIBILITY OF SUCH DAMAGE. 1073 1074If you find this document useful, and you want to, you may buy the 1075author a beer. 1076 1077Contact Warner Losh if you have any questions about your use of 1078this document. 1079 1080$FreeBSD: head/UPDATING 102887 2002-09-03 06:13:43Z imp $ 1081