UPDATING revision 95022
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 2520020404: 26 New sendmail startup scripts have been installed to make it 27 easier to use alternative MTAs with FreeBSD. Setting the rc.conf 28 variable sendmail_enable to "NO" no longer prevents any sendmail 29 daemons from starting. Instead, either set sendmail_enable to 30 "NONE" or change mta_start_script to a script for starting 31 an alternative MTA. Setting mta_start_script to "" will 32 also prevent any MTA from being started at boot. 33 3420020315: 35 FreeBSD 5.0 DP-1 was basically branched today. 36 3720020225: 38 Warnings are now errors in the kernel. Unless you are a developer, 39 you should add -DNO_WERROR to your make line. 40 4120020217: 42 sendmail 8.12.2 has been imported. The sendmail binary is no 43 longer a set-user-ID root binary and the infrastructure to support 44 command line mail submission has changed. Be sure to run 45 mergemaster (especially for updating /etc/rc, /etc/defaults/rc.conf, 46 and /etc/mail) and read /etc/mail/README for more details. 47 48 Due to the import of sendmail 8.12.2, a new user and group are 49 required in order for sendmail to run as a set-group-ID 50 binary. A 'make installworld' will use the new user and group 51 to set the owner and group of /var/spool/clientmqueue and will 52 fail if the new user and group do not exist. The 'smmsp' user 53 and group must be merged from src/etc/group and 54 src/etc/master.passwd before using 'make installworld'. 55 'mergemaster -p' will do this. You may need to install 56 mergemaster before this will work if you are updating from a 57 very old version of current. The updating recipe has changed 58 as of this date. 59 6020020112: 61 The preferred configuration method for PAM is now /etc/pam.d/ 62 rather than /etc/pam.conf. If you have an unmodified 63 pam.conf, just delete it after your next mergemaster run. If 64 you have local modifications, you can use 65 /usr/src/etc/pam.d/convert.pl to incorporate them into your 66 /etc/pam.d. 67 68 Please see the following url for more details: 69http://www.freebsd.org/cgi/mid.cgi?db=mid&id=<xzp6667fyoa.fsf@flood.ping.uio.no> 7020011229: 71 If anyone here is already using the new rc.conf(5) variable 72 networkfs_types, please note that it has changed 73http://www.freebsd.org/cgi/mid.cgi?db=mid&id=<9744.1009655556@axl.seasidesoftware.co.za> 74 7520011220: 76 sys/i4b/driver/i4b_ispppsubr.c has been retired. This file 77 started out its life in the ISDN4BSD project as an offspring 78 from sys/net/if_spppsubr.c, which eventually got a life of its 79 own. All the accumulated features and bugfixes of the i4b 80 version have now been merged back into the base system's 81 version now. The only user-visible change resulting from this 82 is that i4b's sppp(4) interfaces are to be managed with 83 spppcontrol(8) again, since ispppcontrol(8) has been retired 84 as well. (There has never been rc file support for 85 ispppcontrol in -current, but only in -stable. That will be 86 reverted by the time the changes are MFCed.) 87 8820011215: 89 The fdc(4) driver has been updated and now automatically 90 recognizes media in `standard' formats (like 1440 KB and 91 720 KB for a 3.5" high-density drive) when accessing the 92 default device node (e. g. /dev/fd0). The old variety of 93 floppy device nodes /dev/fd*.* is no longer present by 94 default, devices can be created (in DEVFS) on demand. They 95 will need to be customized then for `odd' densities using 96 fdcontrol(8). 97 9820011209: 99 The bugs in procfs' debugging support code have been fixed, 100 and truss(1) now works again. 101 10220011207: 103 Daily security checks have been split out to use the periodic(8) 104 scripts. Some change in configuration may be necessary. Please 105 see 106http://www.freebsd.org/cgi/mid.cgi?db=mid&id=<20011207155805.R8975@blossom.cjclark.org> 107 for details. 108 10920011204: 110 sos added VCD/SVCD support to ata driver and that needs the 111 kernel and burncd to be in sync. 112 11320011203: 114 The procfs pseudo-filesystem has now been converted to use the 115 pseudofs framework. If you have 'options PROCFS' in your 116 kernel config, you'll need to add 'options PSEUDOFS' if it's 117 not there already. 118 119 This change temporarily breaks truss(1); use ktrace(1) instead 120 until the issue has been resolved. 121 12220011202: 123 A security hole in OpenSSH involving `UseLogin yes' has been 124 patched. 125 12620011126: 127 You need to remove /usr/obj/.../usr.bin/tip before rebuilding 128 after this date. You need to do this only once. 129 13020011103: 131 Most of the awk issues have been resolved. Some rough 132 edges may be left, but for the most part things should be 133 back to "normal." For CURRENT's usual definition of "normal." 134 13520011030: 136 Awk has been upgraded to the one true awk from bell labs. Expect 137 choppy waves in the upgrade process. 138 13920011030: 140 The asr driver problem has been resolved. 141 14220011027: 143 Due to changes in other parts of the system, the asr driver 144 now causes the system to panic on boot. Do not use it pending 145 correction. Comment it out of any kernel config file that you 146 try to use from this date forward. 147 14820011025: 149 When crossbuilding, use TARGET=xxx where you used to use 150 MACHINE=xxx. You don't need to set TARGET_ARCH and TARGET, 151 unless you are changing both of them. To cross build pc98 on 152 an alpha, for example, you need to set TARGET=pc98 and 153 TARGET_ARCH=i386. 154 15520011001: 156 The kernel interface that burncd depends on has changed. 157 You must recompile both the kernel and userland applications 158 at the same time. 159 16020010929: 161 When crossbuilding, please set TARGET_ARCH rather than 162 MACHINE_ARCH to indicate the target. In the future, one will 163 set TARGET_MACHINE where you set MACHINE now. At the moment, 164 setting MACHINE alone for same MACHINE_ARCH machines works 165 (eg, you can build pc98 on a i386 machine and vice versa). 166 16720010927: 168 Some weird problems result from using ACPI on some machines. 169 To disable ACPI you can add 170 hint.acpi.0.disable="1" 171 to /boot/loader.conf (or by putting set X=Y at the boot 172 loader "ok" prompt). 173 174 Alternatively, you can remove it from /boot/kernel/acpi.ko 175 or use the MODULES_OVERRIDE function in your kernel config 176 file and not list acpi in that list. 177 17820010924: 179 The buildworld has been fixed. You may need to install 180 the 4.x compatibility libraries for some old binaries 181 to work. Add COMPAT4X=true to your /etc/make.conf to 182 get them installed on every installworld, or execute the 183 following to get them installed only once: 184 cd src/lib/compat/compat4x.<arch> 185 make all install 186 You will see ``__stdoutp undefined'' until you do this. 187 18820010919: 189 There's a bug in the world build process. The cross-tools 190 are build with the NEW headers, but the OLD libc.a. This 191 leads to all kinds of problems with the new libc. A temporary 192 workaround is to add 193 CFLAGS="-O -pipe -D_OLD_STDIO" 194 before building world when upgrading from 4.x to current. This 195 can be removed afterwards. 196 197 A proper fix to the buildworld target is needed. 198 19920010918: 200 Peter has committed his new kthread nfs client/server code. 201 NFS may be unstable after this date. 202 20320010912: 204 KSE has hit the tree. Lots of things are now different in 205 the kernel. While a few problems were introduced in the 206 initial commit, most of the major ones have been found and 207 corrected. 208 20920010901: 210 In OLDCARD, CardBus bridges appear to be stable. The work 211 arounds described in the 20010604 entry are now no longer 212 necessary and will be ignored. Most insert/remove problems 213 have been rectified around this date. 214 21520010823: 216 named now runs as user bind and group bind rather than as 217 root. If named_enable is set to YES in /etc/rc.conf, ensure 218 that user bind is available in /etc/passwd (using vipw(8)) 219 and that group bind is available in /etc/group. Also make 220 sure that user or group bind has read (and not write) 221 permission for your name server configuration and that it 222 has read and write permission for your slave zone files and 223 directory. 224 225 If you wish to continue to run named as root (a less secure 226 alternative), add a line to /etc/rc.conf saying 227 228 named_flags= 229 23020010709: 231 The PAM libraries have had an API upgrade that is beyond 232 the ability of the shared library major number to handle. 233 It is manifested by PAM-using ports dumping core. The 234 solution is to rebuild those ports. 235 23620010628: 237 The kernel compile module has moved from src/sys/compile/FOO 238 to src/sys/${MACHINE}/compile/FOO. 239 24020010625: 241 The pccard modem issue from 20010613 has been corrected. 242 OLDCARD support is still a little weak in -current. slot 1 is 243 known not to work on some TI based cardbus bridges. Some 244 cardbus bridges do not properly detect insert/removal events. 245 IRQ configuration needs more safety belts. 246 24720010617: 248 Softupdates problems have been corrected. 249 25020010614: 251 Peter ripped out the linkerset support. You must, as always, 252 rerun config after you cvsup if you are using the traditional 253 kernel building methods. 254 25520010613: 256 pccard modems may not work with current after 20010604 date. Some 257 do, others result in panics. *MAKE*SURE* that you update your 258 config and /etc/rc.conf ala the 20010604 entry, or you will have 259 problems (this issue will be fixed, it just hasn't been yet). 260 26120010613: 262 SOFTUPDATES seem to be broken since the middle of May or so. Do not 263 use them in current. You can disable softupdates on all mounted 264 partitions, or remove SOFTUPDATES the kernel config file. 265 26620010612: 267 After Peter's commits to the hints code, people have been noticing 268 that certain devices are attached (or try to) twice. This is due 269 to having both static hints as well as a /boot/device.hints. To 270 work around this issue, please use only one or the other mechanism 271 until this bug is fixed. 272 273 Please note that a feature of config is that if you have config 274 file FOO and FOO.hints, it automatically adds FOO.hints to the 275 hints.c file, wheather you want it to or not. 276 27720010610: 278 Locale names have changed to match other systems better. 279 28020010604: 281 pccard support for pci cards has been committed. You must change 282 your /etc/pccard.conf irq lines. It must match the irq used by 283 pcic device. Interrupt storms may result if you fail to do this. 284 Interrupt storms look a lot like a hang. 285 286 You must also install a new pccardd, otherwise you will get an 287 interrupt storm at card reset time (just after it tells you what 288 it is). 289 290 pccardd_flags="-I" is necessary for the time being. It tells pccardd 291 not to ask the kernel if the interrupt is really free or not before 292 using it. You can either change the /etc/pccard.conf irq lines to 293 match pcic, or add "-i X" to the pccardd_flags. 294 29520010530: 296 INSTALL=install -C is being deprecated. If you want to do this, 297 use COPY=-C instead. The former method will be supported for only 298 a limited time. If you see 299 300install: warning: the -d and -C options may not be specified together 301 302 in your makeworld, then you need to migrate towards using 303 COPY=-C. 304 30520010525: 306 It appears that vm is now stable enough to use again. However, 307 there may be other problems, so caution is still urged. alpha 308 definitely is in bad shape. 309 31020010521: 311 Minor repo damange has happened. This may cause problems 312 with cvsup of ports. If you get errors, please see 313 http://www.FreeBSD.org/cgi/query-pr.cgi?pr=27495 314 at the bottom for details on a workaround. The error message 315 is 316Updater failed: Cannot delete "/usr/ports/www/jakarta-tomcat/files": Directory not empty 317 31820010520: 319 Vm and/or swapping are busted on -current. Please be patient. 320 32120010519: 322 pccard has had much reorganizational work done to it over 323 the past few days. Everything should still work, but if 324 not, please contact imp@freebsd.org. 325 32620010517: 327 ata ioctl changed. Make sure to recompile both kernel and 328 userland at the same time. 329 33020010517: 331 New ncurses imported. 332 33320010512: 334 DEVFS is now opt out, not opt in. Barring major problems, this 335 will be the only way to go starting July 1. 336 33720010504: 338 OpenSSH has been updated to 2.9. Some defaults are different, 339 including RhostsRSAAuthentication, which changes from yes to no. 340 34120010502: 342 Perl breakage in 20010501 was corrected at 14:18:33 PDT. 343 34420010501: 345 Building perl was broken at 02:25:25 PDT. 346 34720010430: 348 The bug in 20010429 was corrected at 07:35:37 PDT. It is safe to 349 go back in the water. 350 35120010429: 352 A bad bug was committed at 04:48:42 PDT. Don't use kernels after 353 this date, but before the correction date. 354 35520010423: 356 old fsck and new kernel interactions appear to have been fixed. 357 35820010411: 359 fsck and the kernel were changed to handle some optimizations 360 to directory layout. This breaks backward compatibility. 361 Update only if you understand that you must not use the old 362 fsck with the new kernel ever. 363 36420010330: 365 fsck has changed the meaning of the pass column in /etc/fstab. 366 Please see the cvs commit to fsck.8 or the fsck.8 man page for 367 details. It is unclear if changes to /etc/fstab are necessary. 368 36920010319: 370 portmap had changed name to rpcbind for maximum POLA in your 371 current world. /etc/hosts.{allow,deny} needs changes. nfs and 372 other rpc based programs that rely on portmapper will not work 373 without updates to /etc/hosts.{allow,deny} and /etc/netconfig. 374 37520010315: 376 ata subsystem changes. ATA_ENABLE_ATAPI_DMA, ATA_ENABLE_WC 377 and ATA_ENABEL_TAGS are no longer kernel options. They have 378 been replaced by tunables. See ata.4 for details. 379 38020010312: 381 The fxp driver was converted to use miibus. If you compile 382 fxp into your kernel statically, you will need to add miibus. 383 38420010312: 385 The wi device now defaults to BSS (infrastructure) mode 386 instead of ad-hoc. 387 38820010310: 389 /dev/urandom should be a symbolic link to /dev/random now. 390 Users of current not using DEVFS need to run MAKEDEV std. 391 ssh might not work if you don't. 392 39320010303: 394 The ed driver has been updated. It now allows mii attachments, 395 which means that you must include the miibus in your kernel if 396 you use the ed driver. 397 39820010220: 399 The problems with libc have been corrected. It is now mostly 400 safe to go back into the water. 401 40220010211: 403 The size of FILE was changed. This breaks upgrading. If 404 you must upgrade, be prepared for pain. It also breaks almost 405 all binaries that you've compiled on -current. You are warned 406 that before upgrading would be a good time to do a level 0 407 dump of your system. No, really, I mean it this time. 408 409 To get to the new system, you'll need to use the following 410 workaround. Hopefully this can be sorted out so that we 411 don't have to move this to the updating section. 412 413 To get around the installworld problem, do: 414 # cd /usr/src/usr.bin/sed 415 # make install 416 # cd /usr/src 417 # make installworld 418 If that doesn't work, then try: 419 # make -k installworld 420 # make installworld 421 42220010207: 423 DEVFS is now the default. If you use vinum, make sure that you 424 do not include devfs in your kernel as problems result. 425 42620010205: 427 FFS_ROOT and CD9660_ROOT have been removed or deprecated. 428 Remove them from your config. 429 43020010122: 431 ****************************** WARNING ****************************** 432 buildkernel has been changed slightly 433 ****************************** WARNING ****************************** 434 KERNCONF replaces the variable KERNEL for buildkernel. You 435 should update your scripts and make.conf accordingly. 436 43720010119: 438 config has changed to allow DEV_FOO as a replacement for NFOO. 439 This requires a new config to build correctly. 440 44120010116: 442 The kerrnel option I386_CPU is now mutually exclusive with the 443 other cpu types. If you have an i386 system, be sure that it 444 only had this line. Remove it for all other configurations. 445 44620010110: 447 Changes to the kernel require it and burncd be in sync. 448 44920010102: 450 Everyone who has hw.sndunit set to something in 451 /etc/sysctl.conf, it is now hw.snd.unit. 452 45320010101: 454 ex and vi were broken by some changes to sys/queue.h. If you 455 have a bad vi, you will see make buildworld fail with a core 456 dump while building termcap. You can work around this problem 457 by adding -k to your make buildworld. This will cause the 458 build to complete and install a new vi. Once that's done, you 459 can rebuild again without the -k to pick up anything that 460 might have been ignored by the -k option. 461 462 Others have suggested that you can just rebuild libc if your 463 vi/ex is dynamically linked, but I've not received any reports 464 of this working. 465 46620001228: 467 There have been some changes to libcrypt in -current. The 468 libscrypt/libdescrypt symlink sillyness is gone and the installed 469 libcrypt is fully functional. Be aware of this. 470 47120001218: 472 Linksys Fast Ethernet PCCARD cards supported by the ed driver 473 now require the addition of flag 0x80000 to their config line 474 in pccard.conf(5). This flag is not optional. These Linksys 475 cards will not be recognized without it. 476 47720001205: 478 Important new FreeBSD-version stuff: PAM support has been worked 479 in, partially from the "Unix" OpenSSH version. This requires 480 adding the following in pam.conf: 481 482 sshd auth sufficient pam_skey.so 483 sshd auth required pam_unix.so try_first_pass 484 sshd session required pam_permit.so 485 48620001031: 487 cvs updated to 1.11. 488 48920001020: 490 The random device needs more entropy, so you need to make sure 491 that you've run mergemaster to get a /etc/rc which will seed 492 /dev/random. If you don't and the system hangs after ldconfig, 493 then banging on the keyboard randomly until it unhangs is one 494 workaround. 495 49620001010: 497 ****************************** WARNING ****************************** 498 Sendmail has been updated. 499 ****************************** WARNING ****************************** 500 o mail.local(8) is no longer installed as a set-user-id binary. 501 o sendmail(8) is now built with STARTTLS support unless NO_OPENSSL 502 is set. 503 o The default /etc/mail/sendmail.cf disables the SMTP EXPN and VRFY 504 commands. 505 o Now using sendmail's version of vacation(1). 506 o The sendmail cf building tools (contrib/sendmail/cf) are installed 507 in /usr/share/sendmail/cf. 508 o sendmail.cw changed to local-host-names 509 510 More details can be found at 511 http://people.freebsd.org/~imp/UPDATING/sendmail-20001010 512 51320001009: 514 The ports tree's new layout is in place. Be sure to update 515 your entire ports tree, or you will have problems. 516 51720001006: 518 The perl build procedure no longer installs miniperl, nor uses 519 the installed miniperl. It is recommended that you delete 520 /usr/bin/miniperl. 521 52220001005: 523 This weekend the ports tree will be updated to a new layout. 524 It will be in an inconsistent state until noted in the UPDATING 525 file, or with asami-san's message to the relevant mailing 526 lists. With this new layout, you'll need to update the whole 527 tree for anything to work. 528 52920000928: 530 There was a change in the passwd format. Need more information. 531 53220000916: 533 /boot/kernel/kernel.ko -> /boot/kernel/kernel change has taken 534 place. Please update boot loader (not the boot blocks) at the 535 same time as your kernel. 536 53720000914: 538 The new pmtimer device is necessary for laptops. Failure to 539 include the device will cause suspended laptops losing time 540 when they resume. Include 541 device pmtimer 542 in your config file and 543 hint.pmtimer.0.at="isa" 544 to your /boot/device.hints file. 545 54620000911: 547 The random device has been turned into a (pseudo-)device, 548 rather than an option. The supplied kernel config files have 549 been updated. You will need to do something similar in your 550 own kernel config file. 551 Remove: 552 options RANDOMDEV 553 Add: 554 device random 555 If you prefer to load the loadable module, you need to do 556 nothing. 557 55820000909: 559 The random device module has been renamed from randomdev.ko to 560 random.ko. You will need to edit your /boot/loader.conf to 561 reflect this if you load this module at boot time. 562 The line should read: 563 random_load="YES" 564 56520000907: 566 The SMPNG commit has happened. It should work, but if it 567 doesn't, fallback to the PRE_SMPNG CVS tag. There are likely 568 to be a variety of minor issues. Please see 20000905 to make 569 sure you don't have model loading problems which might at 570 first blush appear related to SMP. 571 57220000906: 573 nsswitch has been imported from NetBSD. Among other things, 574 this means that /etc/host.conf is no longer used. See 575 nsswitch.conf(5) instead. Note that at boot time rc.network 576 will attempt to produce a new nsswitch.conf file for you if you 577 don't have one, and you have host.conf. 578 57920000905: 580 The ucred structure changed size. This breaks the interface 581 that mountd uses. Trying to use an older mountd with a newer 582 kernel guarantees a panic. This means that you need to use 583 kernels newer than today only with matching mountd, but you 584 needed to do that anyway with the boot loader changes. 585 58620000905: 587 The boot loader has been updated. The new default kernel is 588 now /boot/kernel/kernel.ko. The new default module location 589 is /boot/kernel. 590 591 You *MUST* upgrade your boot loader and kernel at the same time. 592 The easiest way to do this is to do the buildworld/buildkernel/ 593 installkernel/installworld dance. 594 595 Furthermore, you are urged to delete your old /modules directory 596 before booting the new kernel, since kldload will find stale 597 modules in that directory instead of finding them in the correct 598 path, /boot/kernel. The most common complaint that this cures 599 is that the linux module crashes your machine after the update. 600 601 if [ ! -d /boot/kernel.old ]; then 602 mv /modules.old /boot/kernel.old 603 chflags noschg /kernel.old 604 mv /kernel.old /boot/kernel.old/kernel.ko 605 chflags schg /boot/kernel.old/kernel.ko 606 fi 607 60820000904: 609 A new issue with the sendmail upgrade has come to light. 610 /etc/aliases has moved to /etc/mail/aliases. Mergemaster will 611 incorrectly install the default aliases in /etc/mail rather than 612 move the old one from /etc. So you'll need to manually move the 613 file, create a symbolic link, remove the old /etc/aliases.db and 614 run newaliases. For safety sake, you should stop sendmail 615 while doing this and run the upgrade when locally sourced email 616 is not likely to be generated. 617 61820000825: 619 /boot/device.hints is now required for installkernel to 620 succeed. You should copy GENERIC.hints for your architecture 621 into /boot/device.hints. If and only if you compile hints 622 into your kernel, then this file may be empty. Please note, 623 if you have an empty or missing /boot/device.hints file and 624 you neglected to compile hints into your kernel, no boot 625 messages will appear after the boot loader tries to start the 626 kernel. 627 62820000821: 629 If you do NOT have ``options RANDOMDEV'' in your kernel and 630 you DO want the random device then add randomdev_load="YES" to 631 /boot/loader.conf. 632 63320000812: 634 suidperl is now always built and installed on the system, but 635 with permissions of 511. If you have applications that use 636 this program, you are now required to add ENABLE_SUIDPERL=true 637 to /etc/make.conf. If you forget to do this, 638 chmod 4511 /usr/bin/suidperl 639 will fix this until the next build. 640 64120000812: 642 sendmail has been updated from 8.9.3 to 8.11.0. Some of the more 643 visible changes that may immediately affect your configuration 644 include: 645 - New default file locations from src/contrib/sendmail/cf/README 646 - newaliases limited to root and trusted users 647 - MSA port (587) turned on by default 648 - New queue file naming system so can't go from 8.11 -> 8.9 649 - FEATURE(`rbl') renamed to FEATURE(`dnsbl') 650 - FEATURE(`nullclient') is more full featured 651 - FEATURE(`nouucp') requires an argument: `reject' or `nospecial' 652 - mail.local FreeBSD-only -b option changed to -B 653 - See src/contrib/sendmail/RELEASE_NOTES for more info 654 65520000810: 656 suidperl (aka sperl) is no longer build by default. You must 657 specifically define BUILD_SUIDPERL to "true" for it to be build. 658 Furthermore, we recommend that you remove /usr/bin/sperl* and 659 /usr/bin/suidperl files from your system unless you have a 660 specific use for it. 661 66220000729: 663 Networking defaults have been tightened. Anybody upgrading 664 /etc/defaults/rc.conf needs to add the following lines to 665 /etc/rc.conf if they want to have the same setup 666 afterwards (unless the variables already are set, of course): 667 # Enable network daemons for user convenience. 668 inetd_enable="YES" 669 portmap_enable="YES" 670 sendmail_enable="YES" 671 67220000728: 673 If you have null_load="YES" in your /boot/loader.conf, you 674 will need to change that to nullfs_load="YES". 675 67620000728: 677 The "installkernel" target has changed slightly. Now even if 678 you override KERNEL e.g. 'make installkernel KERNEL=MYKERNEL' 679 it will install the MYKERNEL file (built with the buildkernel 680 target) as /kernel rather than /MYKERNEL. Those who have 681 updated their /boot/loader.conf files to point to /MYKERNEL 682 should remove that entry or perform manual rename of /kernel 683 to /MYKERNEL. 684 68520000711: 686 If you use CVSUP or CTM to get CVS trees, AND you used to get 687 the old crypto files from internat.freebsd.org AND you check 688 out files from the CVS tree with the cvs command, please read 689 http://people.freebsd.org/~imp/internat.txt 690 for details on potential problems that you might have and how 691 to get around them. 692 693 If you are merely a mirror, or don't answer yes to each of the 694 clauses above, you needn't worry. 695 69620000711: 697 /etc/security has been updated to print the inode number of 698 setuid programs that have changed. You will see a large spike 699 in the number of changed programs the first time when you run 700 mergemaster to get a new /etc/security. 701 70220000710: 703 /dev/random now has good entropy collection (from the keyboard 704 and sysmouse drivers). Please ensure that either `options 705 RANDOMDEV' is present in your kernel config file or that 706 `randomdev_load="YES"' is in your /boot/loader.conf. If you do 707 not have the /dev/random driver, OpenSSL (and consequently 708 lots of crypto tools (like SSH)) will fail with strange 709 errors. (see below, 20000624). 710 711 FreeBSD-current is safe again to run Crypto. 712 71320000709: 714 phk made the malloc default options AJ. This may slow things 715 down and uncover other latent bugs in the code. If you need to 716 run at full speed, you can disable this by doing the following: 717 ln -s aj /etc/malloc.conf 718 71920000706: 720 libftpio's version was accidentally bumped a few days ago. This 721 has been corrected. You may need to remove /usr/lib/libftpio.so.6 722 before doing your next buildworld/installworld pair. It certainly 723 won't hurt to remove it before the update procedure. It will 724 break fetch until a new one is built, but ftp can be used in the 725 interim if needed. 726 72720000705: 728 The crypto packages have changed for the cvsup. This has been done 729 in a backward compatible way, but the old packages will go away at 730 some point in the future. Look at /usr/share/examples/cvsup for 731 details. 732 73320000704: 734 With the new sys/modules/sound/drivers/*, you will need to 735 set SYSDIR until you do an installworld after July 7th. 736 73720000704: 738 rc.shutdown and rc will now call the rc.d scripts with start 739 or stop. This may cause some harmless warnings from older 740 rc.d scripts that haven't been updated. 741 74220000630: 743 The libfetch based version of fetch has gone into the tree. 744 Minor problems may result on some of the less popular sites, 745 which should be reported to des@freebsd.org. 746 74720000625: 748 From approximately this date forward, one must have the crypto 749 system installed in order to build the system and kernel. 750 While not technically strictly true, one should treat it as 751 required and grab the crypto bits. If you are grabbing CVS 752 trees, src-all and cvs-crypto should be treated as if they 753 were required. You should check with the latest collections 754 to make sure that these haven't changed. 755 75620000624: 757 Mark Murray just committed the first parts of a cleanup of 758 /dev/zero, et al. This is also cleaning up /dev/random. 759 The entropy is disconnected, so DO NOT USE VERSIONS OF FREEBSD 760 -CURRENT FROM THIS POINT to 2000710 for cryptographic services 761 until Mark can merge in the fixes to this work in progress. 762 openssh and openssl should not be used to generate keys from this 763 date to the completion of the work. 764 765 If you must operate at this reduced level of security, add ' 766 options RANDOMDEV' to your kernel or modload the randomdev 767 module. You may also need to copy a new MAKEDEV to /dev and 768 recreate the random and urandom devices. 769 77020000622: 771 The license on the softupdates is now a standard 2 clause 772 BSD license. You may need to remove your symbolic links 773 that used to be required when updating. 774 77520000621: 776 Scott Flatman <sf@aracnet.com> sent in a decent write-up on 777 the config file update procedure. 778 http://people.freebsd.org/~imp/config-upd.html 779 NOTE: LINT is gone. It has been replaced with NOTES. NOTES 780 isn't buildable. However, you can generate a LINT file. 781 78220000620: 783 Binutils 2.10 have hit the tree, or will shortly. As soon 784 as they do, the problem noted in 20000522 will be resolved and 785 that workaround will no longer be required. 786 78720000615: 788 phk removed the compatibility creation of wd devices in the 789 ad driver. If you haven't done so already, you must update 790 your fstab, etc to use the ad devices instead of the wd 791 devices. 792 793 In addition, you'll need to update your boot blocks to a 794 more modern version, if you haven't already done so. Modern 795 here means 4.0 release or newer (although older releases 796 may work). 797 79820000612: 799 Peter took an axe to config(8). Be sure that you read his mail 800 on the topic before even thinking about updating. You will 801 need to create a /boot/device.hints or add a hints directive 802 to your config file to compile them in statically. The format 803 of the config file has changed as well. Please see GENERIC or 804 NEWCARD for examples of the new format. 805 806 Indirectly, this also breaks USERCONFIG. Unless a newer entry 807 says that it has been fixed, assume that must use the hints mechanism 808 in the loader if you need to use a machine with very old ISA cards 809 in it. 810 81120000522: 812 A new set of binutils went into the tree today. Anybody 813 building a kernel after this point is advised that they need 814 to rebuild their binutils (or better yet do a 815 buildworld/installworld) before building a new kernel. 816 817 Due to bugs in binutils, using malloc options (eg /etc/malloc.conf 818 or MALLOC_OPTIONS env var) J will cause ld to dump core. It 819 is recommended that you don't set this option until the problem 820 is resolved. 821 82220000513: 823 The ethernet drivers were all updated to clean up the BPF handling. 824 82520000510: 826 The problems with boot blocks on the alphas have been corrected. 827 This will require some care in updating alphas. A new libstand 828 is requires for the boot blocks to build properly. 829 83020000503: 831 Recompile all kld modules. Proper version dependency info 832 is now available. 833 83420000502: 835 Modules have been disconnected from the buildworld tree and 836 connected to the kernel building instead. 837 83820000427: 839 You may need to build gperf 840 cd /usr/src/gnu/usr.bin/gperf && make depend all install 841 when upgrading from 4.0 -> current. The build system now uses 842 an option only in -current. 843 84420000417: 845 The method that we brand ELF binaries has changed to be more 846 acceptable to the binutils maintainers. You will need to 847 rebrand your ELF binaries that aren't native. One problem 848 binary is the Linux ldconfig. After your make world, but 849 before you reboot, you'll need to issue: 850 brandelf -t Linux /compat/linux/sbin/ldconfig 851 if you have Linux compatibility enabled on your machine. 852 85320000320: 854 If you have really bad/marginal IDE drives, you may find they 855 don't work well. Use pio mode instead. The easiest way to 856 cope if you have a problem combination is to add: 857 /sbin/sysctl -w hw.atamodes=pio,pio,pio,pio 858 to the start of /etc/rc.conf. 859 86020000319: 861 The ISA and PCI compatibility shims have been connected to the 862 options COMPAT_OLDISA and COMPAT_OLDPCI. If you are using old 863 style PCI or ISA drivers (i.e. tx, voxware, etc.) you must 864 include the appropriate option in your kernel config. Drivers 865 using the shims should be updated or they won't ship with 866 5.0-RELEASE, targeted for 2001. 867 86820000318: 869 We've entered the traditional post release dumping party. 870 Large kernel changes are being committed and are in the 871 works. It is important to keep the systems' klds and kernel 872 in sync as kernel interfaces and structures are changing. 873 Before reporting kernel panics, make sure that all modules 874 that you are loading are up to date. 875 87620000315: 877 If you are upgrading from an older version of FreeBSD, you 878 need to update your boot blocks as well. 'disklabel -B ad0' 879 will do the trick. This isn't critical until you remove your 880 wd device entries in /dev, at which point your system will not 881 boot. 882 88320000315: 884 4.0 RELEASE shipped. Please see the 4.0 UPDATING file for how 885 to upgrade to 4.0 from 3.x. 886 887COMMON ITEMS: 888 889 General Notes 890 ------------- 891 Avoid using make -j when upgrading. From time to time in the 892 past there have been problems using -j with buildworld and/or 893 installworld. This is especially true when upgrading between 894 "distant" versions (eg one that cross a major release boundary 895 or several minor releases, or when several months have passed 896 on the -current branch). 897 898 Sometimes, obscure build problems are the result of environment 899 poisoning. This can happen because the make utility reads its 900 environment when searching for values for global variables. 901 To run your build attempts in an "environmental clean room", 902 prefix all make commands with 'env -i '. See the env(1) manual 903 page for more details. 904 905 To build a kernel 906 ----------------- 907 If you are updating from a prior version of FreeBSD (even one just 908 a few days old), you should follow this procedure. With a 909 /usr/obj tree with a fresh buildworld, 910 make buildkernel KERNCONF=YOUR_KERNEL_HERE 911 make installkernel KERNCONF=YOUR_KERNEL_HERE 912 913 To just build a kernel when you know that it won't mess you up 914 -------------------------------------------------------------- 915 cd src/sys/{i386,alpha}/conf 916 config KERNEL_NAME_HERE 917 cd ../../compile/KERNEL_NAME_HERE 918 make depend 919 make 920 make install 921 922 If this fails, go to the "To build a kernel" section. 923 924 To rebuild everything and install it on the current system. 925 ----------------------------------------------------------- 926 make world 927 Build a new kernel, see above. 928 929 To upgrade from 4.x-stable to current 930 ------------------------------------- 931 make buildworld 932 make buildkernel KERNCONF=YOUR_KERNEL_HERE 933 cp src/sys/${MACHINE_ARCH}/conf/GENERIC.hints /boot/device.hints [2] 934 make installkernel KERNCONF=YOUR_KERNEL_HERE 935 reboot in single user [3] 936 mergemaster -p [5] 937 make installworld 938 mergemaster [4] 939 [1] 940 <reboot> 941 942 Make sure that you've read the UPDATING file to understand the 943 tweaks to various things you need. At this point in the life 944 cycle of current, things change often and you are on your own 945 to cope. The defaults can also change, so please read ALL of 946 the UPDATING entries. 947 948 Also, if you are tracking -current, you must be subscribed to 949 freebsd-current@freebsd.org. Make sure that before you update 950 your sources that you have read and understood all the recent 951 messages there. If in doubt, please track -stable which has 952 much fewer pitfalls. 953 954 [1] If you have third party modules, such as vmware, you 955 should disable them at this point so they don't crash your 956 system on reboot. 957 958 [2] If you have legacy ISA devices, you may need to create 959 your own device.hints to reflect your unique hardware 960 configuration. 961 962 [3] From the bootblocks, boot -s, and then do 963 fsck -p 964 mount -u / 965 mount -a 966 cd /usr/src 967 adjkerntz -i # if CMOS is wall time 968 969 [4] Note: This step is non-optional. Failure to do this step 970 can result in a significant reduction in the functionality of the 971 system. Attempting to do it by hand is not recommended and those 972 that pursue this avenue should read this file carefully, as well 973 as the archives of freebsd-current and freebsd-hackers mailing lists 974 for potential gotchas. 975 976 [5] Usually this step is a noop. However, from time to time 977 you may need to do this if you get unknown user in the following 978 step. It never hurts to do it all the time. You may need to 979 install a new mergemaster (cd src/usr.sbin/mergemaster && make 980 install) after the buildworld before this step if you last updated 981 from current before 20020224 or from -stable before 20020408. 982 983FORMAT: 984 985This file contains a list, in reverse chronological order, of major 986breakages in tracking -current. Not all things will be listed here, 987and it only starts on March 15, 2000. Updating files can found in 988previous releases if your system is older than this. 989 990Copyright information: 991 992Copyright 1998, 2002 M. Warner Losh. All Rights Reserved. 993 994Redistribution, publication, translation and use, with or without 995modification, in full or in part, in any form or format of this 996document are permitted without further permission from the author. 997 998THIS DOCUMENT IS PROVIDED BY WARNER LOSH ``AS IS'' AND ANY EXPRESS OR 999IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 1000WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 1001DISCLAIMED. IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT, 1002INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 1003(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 1004SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 1005HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 1006STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 1007IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 1008POSSIBILITY OF SUCH DAMAGE. 1009 1010If you find this document useful, and you want to, you may buy the 1011author a beer. 1012 1013Contact Warner Losh if you have any questions about your use of 1014this document. 1015 1016$FreeBSD: head/UPDATING 95022 2002-04-19 04:22:35Z imp $ 1017