1Updating Information for FreeBSD current users 2 3This file is maintained and copyrighted by M. Warner Losh 4<imp@village.org>. Please send new entries directly to him. See end 5of file for further details. For commonly done items, please see the 6COMMON ITEMS: section later in the file. 7 8NOTE TO PEOPLE WHO THINK THAT 5.0-CURRENT IS SLOW: 9 FreeBSD 5.0-CURRENT has many debugging features turned on, in 10 both the kernel and userland. These features attempt to detect 11 incorrect use of system primitives, and encourage loud failure 12 through extra sanity checking and fail stop semantics. They 13 also substantially impact system performance. If you want to 14 do performance measurement, benchmarking, and optimization, 15 you'll want to turn them off. This includes various WITNESS- 16 related kernel options, INVARIANTS, malloc debugging flags 17 in userland, and various verbose features in the kernel. Many 18 developers choose to disable these features on build machines 19 to maximize performance. 20 21 In addition, IDE write caching is currently disabled by default 22 due to on-going concerns about disk write order and file system 23 integrity. Re-enabling write caching can substantially improve 24 performance. 25 2620020315: 27 FreeBSD 5.0 DP-1 was basically branched today. 28 2920020225: 30 Warnings are now errors in the kernel. Unless you are a developer, 31 you should add -DNO_WERROR to your make line. 32 3320020217: 34 sendmail 8.12.2 has been imported. The sendmail binary is no 35 longer a set-user-ID root binary and the infrastructure to support 36 command line mail submission has changed. Be sure to run 37 mergemaster (especially for updating /etc/rc, /etc/defaults/rc.conf, 38 and /etc/mail) and read /etc/mail/README for more details. 39 4020020112: 41 The preferred configuration method for PAM is now /etc/pam.d/ 42 rather than /etc/pam.conf. If you have an unmodified 43 pam.conf, just delete it after your next mergemaster run. If 44 you have local modifications, you can use 45 /usr/src/etc/pam.d/convert.pl to incorporate them into your 46 /etc/pam.d. 47 48 Please see the following url for more details: 49http://www.freebsd.org/cgi/mid.cgi?db=mid&id=<xzp6667fyoa.fsf@flood.ping.uio.no> 50 5120011229: 52 If anyone here is already using the new rc.conf(5) variable 53 networkfs_types, please note that it has changed 54http://www.freebsd.org/cgi/mid.cgi?db=mid&id=<9744.1009655556@axl.seasidesoftware.co.za> 55 5620011220: 57 sys/i4b/driver/i4b_ispppsubr.c has been retired. This file 58 started out its life in the ISDN4BSD project as an offspring 59 from sys/net/if_spppsubr.c, which eventually got a life of its 60 own. All the accumulated features and bugfixes of the i4b 61 version have now been merged back into the base system's 62 version now. The only user-visible change resulting from this 63 is that i4b's sppp(4) interfaces are to be managed with 64 spppcontrol(8) again, since ispppcontrol(8) has been retired 65 as well. (There has never been rc file support for 66 ispppcontrol in -current, but only in -stable. That will be 67 reverted by the time the changes are MFCed.) 68 6920011215: 70 The fdc(4) driver has been updated and now automatically 71 recognizes media in `standard' formats (like 1440 KB and 72 720 KB for a 3.5" high-density drive) when accessing the 73 default device node (e. g. /dev/fd0). The old variety of 74 floppy device nodes /dev/fd*.* is no longer present by 75 default, devices can be created (in DEVFS) on demand. They 76 will need to be customized then for `odd' densities using 77 fdcontrol(8). 78 7920011209: 80 The bugs in procfs' debugging support code have been fixed, 81 and truss(1) now works again. 82 8320011207: 84 Daily security checks have been split out to use the periodic(8) 85 scripts. Some change in configuration may be necessary. Please 86 see 87http://www.freebsd.org/cgi/mid.cgi?db=mid&id=<20011207155805.R8975@blossom.cjclark.org> 88 for details. 89 9020011204: 91 sos added VCD/SVCD support to ata driver and that needs the 92 kernel and burncd to be in sync. 93 9420011203: 95 The procfs pseudo-filesystem has now been converted to use the 96 pseudofs framework. If you have 'options PROCFS' in your 97 kernel config, you'll need to add 'options PSEUDOFS' if it's 98 not there already. 99 100 This change temporarily breaks truss(1); use ktrace(1) instead 101 until the issue has been resolved. 102 10320011202: 104 A security hole in OpenSSH involving `UseLogin yes' has been 105 patched. 106 10720011126: 108 You need to remove /usr/obj/.../usr.bin/tip before rebuilding 109 after this date. You need to do this only once. 110 11120011103: 112 Most of the awk issues have been resolved. Some rough 113 edges may be left, but for the most part things should be 114 back to "normal." For CURRENT's usual definition of "normal." 115 11620011030: 117 Awk has been upgraded to the one true awk from bell labs. Expect 118 choppy waves in the upgrade process. 119 12020011030: 121 The asr driver problem has been resolved. 122 12320011027: 124 Due to changes in other parts of the system, the asr driver 125 now causes the system to panic on boot. Do not use it pending 126 correction. Comment it out of any kernel config file that you 127 try to use from this date forward. 128 12920011025: 130 When crossbuilding, use TARGET=xxx where you used to use 131 MACHINE=xxx. You don't need to set TARGET_ARCH and TARGET, 132 unless you are changing both of them. To cross build pc98 on 133 an alpha, for example, you need to set TARGET=pc98 and 134 TARGET_ARCH=i386. 135 13620011001: 137 The kernel interface that burncd depends on has changed. 138 You must recompile both the kernel and userland applications 139 at the same time. 140 14120010929: 142 When crossbuilding, please set TARGET_ARCH rather than 143 MACHINE_ARCH to indicate the target. In the future, one will 144 set TARGET_MACHINE where you set MACHINE now. At the moment, 145 setting MACHINE alone for same MACHINE_ARCH machines works 146 (eg, you can build pc98 on a i386 machine and vice versa). 147 14820010927: 149 Some weird problems result from using ACPI on some machines. 150 To disable ACPI you can add 151 hint.acpi.0.disable="1" 152 to /boot/loader.conf (or by putting set X=Y at the boot 153 loader "ok" prompt). 154 155 Alternatively, you can remove it from /boot/kernel/acpi.ko 156 or use the MODULES_OVERRIDE function in your kernel config 157 file and not list acpi in that list. 158 15920010924: 160 The buildworld has been fixed. You may need to install 161 the 4.x compatibility libraries for some old binaries 162 to work. Add COMPAT4X=true to your /etc/make.conf to 163 get them installed on every installworld, or execute the 164 following to get them installed only once: 165 cd src/lib/compat/compat4x.<arch> 166 make all install 167 You will see ``__stdoutp undefined'' until you do this. 168 16920010919: 170 There's a bug in the world build process. The cross-tools 171 are build with the NEW headers, but the OLD libc.a. This 172 leads to all kinds of problems with the new libc. A temporary 173 workaround is to add 174 CFLAGS="-O -pipe -D_OLD_STDIO" 175 before building world when upgrading from 4.x to current. This 176 can be removed afterwards. 177 178 A proper fix to the buildworld target is needed. 179 18020010918: 181 Peter has committed his new kthread nfs client/server code. 182 NFS may be unstable after this date. 183 18420010912: 185 KSE has hit the tree. Lots of things are now different in 186 the kernel. While a few problems were introduced in the 187 initial commit, most of the major ones have been found and 188 corrected. 189 19020010901: 191 In OLDCARD, CardBus bridges appear to be stable. The work 192 arounds described in the 20010604 entry are now no longer 193 necessary and will be ignored. Most insert/remove problems 194 have been rectified around this date. 195 19620010823: 197 named now runs as user bind and group bind rather than as 198 root. If named_enable is set to YES in /etc/rc.conf, ensure 199 that user bind is available in /etc/passwd (using vipw(8)) 200 and that group bind is available in /etc/group. Also make 201 sure that user or group bind has read (and not write) 202 permission for your name server configuration and that it 203 has read and write permission for your slave zone files and 204 directory. 205 206 If you wish to continue to run named as root (a less secure 207 alternative), add a line to /etc/rc.conf saying 208 209 named_flags= 210 21120010709: 212 The PAM libraries have had an API upgrade that is beyond 213 the ability of the shared library major number to handle. 214 It is manifested by PAM-using ports dumping core. The 215 solution is to rebuild those ports. 216 21720010628: 218 The kernel compile module has moved from src/sys/compile/FOO 219 to src/sys/${MACHINE}/compile/FOO. 220 22120010625: 222 The pccard modem issue from 20010613 has been corrected. 223 OLDCARD support is still a little weak in -current. slot 1 is 224 known not to work on some TI based cardbus bridges. Some 225 cardbus bridges do not properly detect insert/removal events. 226 IRQ configuration needs more safety belts. 227 22820010617: 229 Softupdates problems have been corrected. 230 23120010614: 232 Peter ripped out the linkerset support. You must, as always, 233 rerun config after you cvsup if you are using the traditional 234 kernel building methods. 235 23620010613: 237 pccard modems may not work with current after 20010604 date. Some 238 do, others result in panics. *MAKE*SURE* that you update your 239 config and /etc/rc.conf ala the 20010604 entry, or you will have 240 problems (this issue will be fixed, it just hasn't been yet). 241 24220010613: 243 SOFTUPDATES seem to be broken since the middle of May or so. Do not 244 use them in current. You can disable softupdates on all mounted 245 partitions, or remove SOFTUPDATES the kernel config file. 246 24720010612: 248 After Peter's commits to the hints code, people have been noticing 249 that certain devices are attached (or try to) twice. This is due 250 to having both static hints as well as a /boot/device.hints. To 251 work around this issue, please use only one or the other mechanism 252 until this bug is fixed. 253 254 Please note that a feature of config is that if you have config 255 file FOO and FOO.hints, it automatically adds FOO.hints to the 256 hints.c file, wheather you want it to or not. 257 25820010610: 259 Locale names have changed to match other systems better. 260 26120010604: 262 pccard support for pci cards has been committed. You must change 263 your /etc/pccard.conf irq lines. It must match the irq used by 264 pcic device. Interrupt storms may result if you fail to do this. 265 Interrupt storms look a lot like a hang. 266 267 You must also install a new pccardd, otherwise you will get an 268 interrupt storm at card reset time (just after it tells you what 269 it is). 270 271 pccardd_flags="-I" is necessary for the time being. It tells pccardd 272 not to ask the kernel if the interrupt is really free or not before 273 using it. You can either change the /etc/pccard.conf irq lines to 274 match pcic, or add "-i X" to the pccardd_flags. 275 27620010530: 277 INSTALL=install -C is being deprecated. If you want to do this, 278 use COPY=-C instead. The former method will be supported for only 279 a limited time. If you see 280 281install: warning: the -d and -C options may not be specified together 282 283 in your makeworld, then you need to migrate towards using 284 COPY=-C. 285 28620010525: 287 It appears that vm is now stable enough to use again. However, 288 there may be other problems, so caution is still urged. alpha 289 definitely is in bad shape. 290 29120010521: 292 Minor repo damange has happened. This may cause problems 293 with cvsup of ports. If you get errors, please see 294 http://www.FreeBSD.org/cgi/query-pr.cgi?pr=27495 295 at the bottom for details on a workaround. The error message 296 is 297Updater failed: Cannot delete "/usr/ports/www/jakarta-tomcat/files": Directory not empty 298 29920010520: 300 Vm and/or swapping are busted on -current. Please be patient. 301 30220010519: 303 pccard has had much reorganizational work done to it over 304 the past few days. Everything should still work, but if 305 not, please contact imp@freebsd.org. 306 30720010517: 308 ata ioctl changed. Make sure to recompile both kernel and 309 userland at the same time. 310 31120010517: 312 New ncurses imported. 313 31420010512: 315 DEVFS is now opt out, not opt in. Barring major problems, this 316 will be the only way to go starting July 1. 317 31820010504: 319 OpenSSH has been updated to 2.9. Some defaults are different, 320 including RhostsRSAAuthentication, which changes from yes to no. 321 32220010502: 323 Perl breakage in 20010501 was corrected at 14:18:33 PDT. 324 32520010501: 326 Building perl was broken at 02:25:25 PDT. 327 32820010430: 329 The bug in 20010429 was corrected at 07:35:37 PDT. It is safe to 330 go back in the water. 331 33220010429: 333 A bad bug was committed at 04:48:42 PDT. Don't use kernels after 334 this date, but before the correction date. 335 33620010423: 337 old fsck and new kernel interactions appear to have been fixed. 338 33920010411: 340 fsck and the kernel were changed to handle some optimizations 341 to directory layout. This breaks backward compatibility. 342 Update only if you understand that you must not use the old 343 fsck with the new kernel ever. 344 34520010330: 346 fsck has changed the meaning of the pass column in /etc/fstab. 347 Please see the cvs commit to fsck.8 or the fsck.8 man page for 348 details. It is unclear if changes to /etc/fstab are necessary. 349 35020010319: 351 portmap had changed name to rpcbind for maximum POLA in your 352 current world. /etc/hosts.{allow,deny} needs changes. nfs and 353 other rpc based programs that rely on portmapper will not work 354 without updates to /etc/hosts.{allow,deny} and /etc/netconfig. 355 35620010315: 357 ata subsystem changes. ATA_ENABLE_ATAPI_DMA, ATA_ENABLE_WC 358 and ATA_ENABEL_TAGS are no longer kernel options. They have 359 been replaced by tunables. See ata.4 for details. 360 36120010312: 362 The fxp driver was converted to use miibus. If you compile 363 fxp into your kernel statically, you will need to add miibus. 364 36520010312: 366 The wi device now defaults to BSS (infrastructure) mode 367 instead of ad-hoc. 368 36920010310: 370 /dev/urandom should be a symbolic link to /dev/random now. 371 Users of current not using DEVFS need to run MAKEDEV std. 372 ssh might not work if you don't. 373 37420010303: 375 The ed driver has been updated. It now allows mii attachments, 376 which means that you must include the miibus in your kernel if 377 you use the ed driver. 378 37920010220: 380 The problems with libc have been corrected. It is now mostly 381 safe to go back into the water. 382 38320010211: 384 The size of FILE was changed. This breaks upgrading. If 385 you must upgrade, be prepared for pain. It also breaks almost 386 all binaries that you've compiled on -current. You are warned 387 that before upgrading would be a good time to do a level 0 388 dump of your system. No, really, I mean it this time. 389 390 To get to the new system, you'll need to use the following 391 workaround. Hopefully this can be sorted out so that we 392 don't have to move this to the updating section. 393 394 To get around the installworld problem, do: 395 # cd /usr/src/usr.bin/sed 396 # make install 397 # cd /usr/src 398 # make installworld 399 If that doesn't work, then try: 400 # make -k installworld 401 # make installworld 402 40320010207: 404 DEVFS is now the default. If you use vinum, make sure that you 405 do not include devfs in your kernel as problems result. 406 40720010205: 408 FFS_ROOT and CD9660_ROOT have been removed or deprecated. 409 Remove them from your config. 410 41120010122: 412 ****************************** WARNING ****************************** 413 buildkernel has been changed slightly 414 ****************************** WARNING ****************************** 415 KERNCONF replaces the variable KERNEL for buildkernel. You 416 should update your scripts and make.conf accordingly. 417 41820010119: 419 config has changed to allow DEV_FOO as a replacement for NFOO. 420 This requires a new config to build correctly. 421 42220010116: 423 The kerrnel option I386_CPU is now mutually exclusive with the 424 other cpu types. If you have an i386 system, be sure that it 425 only had this line. Remove it for all other configurations. 426 42720010110: 428 Changes to the kernel require it and burncd be in sync. 429 43020010102: 431 Everyone who has hw.sndunit set to something in 432 /etc/sysctl.conf, it is now hw.snd.unit. 433 43420010101: 435 ex and vi were broken by some changes to sys/queue.h. If you 436 have a bad vi, you will see make buildworld fail with a core 437 dump while building termcap. You can work around this problem 438 by adding -k to your make buildworld. This will cause the 439 build to complete and install a new vi. Once that's done, you 440 can rebuild again without the -k to pick up anything that 441 might have been ignored by the -k option. 442 443 Others have suggested that you can just rebuild libc if your 444 vi/ex is dynamically linked, but I've not received any reports 445 of this working. 446 44720001228: 448 There have been some changes to libcrypt in -current. The 449 libscrypt/libdescrypt symlink sillyness is gone and the installed 450 libcrypt is fully functional. Be aware of this. 451 45220001218: 453 Linksys Fast Ethernet PCCARD cards supported by the ed driver 454 now require the addition of flag 0x80000 to their config line 455 in pccard.conf(5). This flag is not optional. These Linksys 456 cards will not be recognized without it. 457 45820001205: 459 Important new FreeBSD-version stuff: PAM support has been worked 460 in, partially from the "Unix" OpenSSH version. This requires 461 adding the following in pam.conf: 462 463 sshd auth sufficient pam_skey.so 464 sshd auth required pam_unix.so try_first_pass 465 sshd session required pam_permit.so 466 46720001031: 468 cvs updated to 1.11. 469 47020001020: 471 The random device needs more entropy, so you need to make sure 472 that you've run mergemaster to get a /etc/rc which will seed 473 /dev/random. If you don't and the system hangs after ldconfig, 474 then banging on the keyboard randomly until it unhangs is one 475 workaround. 476 47720001010: 478 ****************************** WARNING ****************************** 479 Sendmail has been updated. 480 ****************************** WARNING ****************************** 481 o mail.local(8) is no longer installed as a set-user-id binary. 482 o sendmail(8) is now built with STARTTLS support unless NO_OPENSSL 483 is set. 484 o The default /etc/mail/sendmail.cf disables the SMTP EXPN and VRFY 485 commands. 486 o Now using sendmail's version of vacation(1). 487 o The sendmail cf building tools (contrib/sendmail/cf) are installed 488 in /usr/share/sendmail/cf. 489 o sendmail.cw changed to local-host-names 490 491 More details can be found at 492 http://people.freebsd.org/~imp/UPDATING/sendmail-20001010 493 49420001009: 495 The ports tree's new layout is in place. Be sure to update 496 your entire ports tree, or you will have problems. 497 49820001006: 499 The perl build procedure no longer installs miniperl, nor uses 500 the installed miniperl. It is recommended that you delete 501 /usr/bin/miniperl. 502 50320001005: 504 This weekend the ports tree will be updated to a new layout. 505 It will be in an inconsistent state until noted in the UPDATING 506 file, or with asami-san's message to the relevant mailing 507 lists. With this new layout, you'll need to update the whole 508 tree for anything to work. 509 51020000928: 511 There was a change in the passwd format. Need more information. 512 51320000916: 514 /boot/kernel/kernel.ko -> /boot/kernel/kernel change has taken 515 place. Please update boot loader (not the boot blocks) at the 516 same time as your kernel. 517 51820000914: 519 The new pmtimer device is necessary for laptops. Failure to 520 include the device will cause suspended laptops losing time 521 when they resume. Include 522 device pmtimer 523 in your config file and 524 hint.pmtimer.0.at="isa" 525 to your /boot/device.hints file. 526 52720000911: 528 The random device has been turned into a (pseudo-)device, 529 rather than an option. The supplied kernel config files have 530 been updated. You will need to do something similar in your 531 own kernel config file. 532 Remove: 533 options RANDOMDEV 534 Add: 535 device random 536 If you prefer to load the loadable module, you need to do 537 nothing. 538 53920000909: 540 The random device module has been renamed from randomdev.ko to 541 random.ko. You will need to edit your /boot/loader.conf to 542 reflect this if you load this module at boot time. 543 The line should read: 544 random_load="YES" 545 54620000907: 547 The SMPNG commit has happened. It should work, but if it 548 doesn't, fallback to the PRE_SMPNG CVS tag. There are likely 549 to be a variety of minor issues. Please see 20000905 to make 550 sure you don't have model loading problems which might at 551 first blush appear related to SMP. 552 55320000906: 554 nsswitch has been imported from NetBSD. Among other things, 555 this means that /etc/host.conf is no longer used. See 556 nsswitch.conf(5) instead. Note that at boot time rc.network 557 will attempt to produce a new nsswitch.conf file for you if you 558 don't have one, and you have host.conf. 559 56020000905: 561 The ucred structure changed size. This breaks the interface 562 that mountd uses. Trying to use an older mountd with a newer 563 kernel guarantees a panic. This means that you need to use 564 kernels newer than today only with matching mountd, but you 565 needed to do that anyway with the boot loader changes. 566 56720000905: 568 The boot loader has been updated. The new default kernel is 569 now /boot/kernel/kernel.ko. The new default module location 570 is /boot/kernel. 571 572 You *MUST* upgrade your boot loader and kernel at the same time. 573 The easiest way to do this is to do the buildworld/buildkernel/ 574 installkernel/installworld dance. 575 576 Furthermore, you are urged to delete your old /modules directory 577 before booting the new kernel, since kldload will find stale 578 modules in that directory instead of finding them in the correct 579 path, /boot/kernel. The most common complaint that this cures 580 is that the linux module crashes your machine after the update. 581 582 if [ ! -d /boot/kernel.old ]; then 583 mv /modules.old /boot/kernel.old 584 chflags noschg /kernel.old 585 mv /kernel.old /boot/kernel.old/kernel.ko 586 chflags schg /boot/kernel.old/kernel.ko 587 fi 588 58920000904: 590 A new issue with the sendmail upgrade has come to light. 591 /etc/aliases has moved to /etc/mail/aliases. Mergemaster will 592 incorrectly install the default aliases in /etc/mail rather than 593 move the old one from /etc. So you'll need to manually move the 594 file, create a symbolic link, remove the old /etc/aliases.db and 595 run newaliases. For safety sake, you should stop sendmail 596 while doing this and run the upgrade when locally sourced email 597 is not likely to be generated. 598 59920000825: 600 /boot/device.hints is now required for installkernel to 601 succeed. You should copy GENERIC.hints for your architecture 602 into /boot/device.hints. If and only if you compile hints 603 into your kernel, then this file may be empty. Please note, 604 if you have an empty or missing /boot/device.hints file and 605 you neglected to compile hints into your kernel, no boot 606 messages will appear after the boot loader tries to start the 607 kernel. 608 60920000821: 610 If you do NOT have ``options RANDOMDEV'' in your kernel and 611 you DO want the random device then add randomdev_load="YES" to 612 /boot/loader.conf. 613 61420000812: 615 suidperl is now always built and installed on the system, but 616 with permissions of 511. If you have applications that use 617 this program, you are now required to add ENABLE_SUIDPERL=true 618 to /etc/make.conf. If you forget to do this, 619 chmod 4511 /usr/bin/suidperl 620 will fix this until the next build. 621 62220000812: 623 sendmail has been updated from 8.9.3 to 8.11.0. Some of the more 624 visible changes that may immediately affect your configuration 625 include: 626 - New default file locations from src/contrib/sendmail/cf/README 627 - newaliases limited to root and trusted users 628 - MSA port (587) turned on by default 629 - New queue file naming system so can't go from 8.11 -> 8.9 630 - FEATURE(`rbl') renamed to FEATURE(`dnsbl') 631 - FEATURE(`nullclient') is more full featured 632 - FEATURE(`nouucp') requires an argument: `reject' or `nospecial' 633 - mail.local FreeBSD-only -b option changed to -B 634 - See src/contrib/sendmail/RELEASE_NOTES for more info 635 63620000810: 637 suidperl (aka sperl) is no longer build by default. You must 638 specifically define BUILD_SUIDPERL to "true" for it to be build. 639 Furthermore, we recommend that you remove /usr/bin/sperl* and 640 /usr/bin/suidperl files from your system unless you have a 641 specific use for it. 642 64320000729: 644 Networking defaults have been tightened. Anybody upgrading 645 /etc/defaults/rc.conf needs to add the following lines to 646 /etc/rc.conf if they want to have the same setup 647 afterwards (unless the variables already are set, of course): 648 # Enable network daemons for user convenience. 649 inetd_enable="YES" 650 portmap_enable="YES" 651 sendmail_enable="YES" 652 65320000728: 654 If you have null_load="YES" in your /boot/loader.conf, you 655 will need to change that to nullfs_load="YES". 656 65720000728: 658 The "installkernel" target has changed slightly. Now even if 659 you override KERNEL e.g. 'make installkernel KERNEL=MYKERNEL' 660 it will install the MYKERNEL file (built with the buildkernel 661 target) as /kernel rather than /MYKERNEL. Those who have 662 updated their /boot/loader.conf files to point to /MYKERNEL 663 should remove that entry or perform manual rename of /kernel 664 to /MYKERNEL. 665 66620000711: 667 If you use CVSUP or CTM to get CVS trees, AND you used to get 668 the old crypto files from internat.freebsd.org AND you check 669 out files from the CVS tree with the cvs command, please read 670 http://people.freebsd.org/~imp/internat.txt 671 for details on potential problems that you might have and how 672 to get around them. 673 674 If you are merely a mirror, or don't answer yes to each of the 675 clauses above, you needn't worry. 676 67720000711: 678 /etc/security has been updated to print the inode number of 679 setuid programs that have changed. You will see a large spike 680 in the number of changed programs the first time when you run 681 mergemaster to get a new /etc/security. 682 68320000710: 684 /dev/random now has good entropy collection (from the keyboard 685 and sysmouse drivers). Please ensure that either `options 686 RANDOMDEV' is present in your kernel config file or that 687 `randomdev_load="YES"' is in your /boot/loader.conf. If you do 688 not have the /dev/random driver, OpenSSL (and consequently 689 lots of crypto tools (like SSH)) will fail with strange 690 errors. (see below, 20000624). 691 692 FreeBSD-current is safe again to run Crypto. 693 69420000709: 695 phk made the malloc default options AJ. This may slow things 696 down and uncover other latent bugs in the code. If you need to 697 run at full speed, you can disable this by doing the following: 698 ln -s aj /etc/malloc.conf 699 70020000706: 701 libftpio's version was accidentally bumped a few days ago. This 702 has been corrected. You may need to remove /usr/lib/libftpio.so.6 703 before doing your next buildworld/installworld pair. It certainly 704 won't hurt to remove it before the update procedure. It will 705 break fetch until a new one is built, but ftp can be used in the 706 interim if needed. 707 70820000705: 709 The crypto packages have changed for the cvsup. This has been done 710 in a backward compatible way, but the old packages will go away at 711 some point in the future. Look at /usr/share/examples/cvsup for 712 details. 713 71420000704: 715 With the new sys/modules/sound/drivers/*, you will need to 716 set SYSDIR until you do an installworld after July 7th. 717 71820000704: 719 rc.shutdown and rc will now call the rc.d scripts with start 720 or stop. This may cause some harmless warnings from older 721 rc.d scripts that haven't been updated. 722 72320000630: 724 The libfetch based version of fetch has gone into the tree. 725 Minor problems may result on some of the less popular sites, 726 which should be reported to des@freebsd.org. 727 72820000625: 729 From approximately this date forward, one must have the crypto 730 system installed in order to build the system and kernel. 731 While not technically strictly true, one should treat it as 732 required and grab the crypto bits. If you are grabbing CVS 733 trees, src-all and cvs-crypto should be treated as if they 734 were required. You should check with the latest collections 735 to make sure that these haven't changed. 736 73720000624: 738 Mark Murray just committed the first parts of a cleanup of 739 /dev/zero, et al. This is also cleaning up /dev/random. 740 The entropy is disconnected, so DO NOT USE VERSIONS OF FREEBSD 741 -CURRENT FROM THIS POINT to 2000710 for cryptographic services 742 until Mark can merge in the fixes to this work in progress. 743 openssh and openssl should not be used to generate keys from this 744 date to the completion of the work. 745 746 If you must operate at this reduced level of security, add ' 747 options RANDOMDEV' to your kernel or modload the randomdev 748 module. You may also need to copy a new MAKEDEV to /dev and 749 recreate the random and urandom devices. 750 75120000622: 752 The license on the softupdates is now a standard 2 clause 753 BSD license. You may need to remove your symbolic links 754 that used to be required when updating. 755 75620000621: 757 Scott Flatman <sf@aracnet.com> sent in a decent write-up on 758 the config file update procedure. 759 http://people.freebsd.org/~imp/config-upd.html 760 NOTE: LINT is gone. It has been replaced with NOTES. NOTES 761 isn't buildable. However, you can generate a LINT file. 762 76320000620: 764 Binutils 2.10 have hit the tree, or will shortly. As soon 765 as they do, the problem noted in 20000522 will be resolved and 766 that workaround will no longer be required. 767 76820000615: 769 phk removed the compatibility creation of wd devices in the 770 ad driver. If you haven't done so already, you must update 771 your fstab, etc to use the ad devices instead of the wd 772 devices. 773 774 In addition, you'll need to update your boot blocks to a 775 more modern version, if you haven't already done so. Modern 776 here means 4.0 release or newer (although older releases 777 may work). 778 77920000612: 780 Peter took an axe to config(8). Be sure that you read his mail 781 on the topic before even thinking about updating. You will 782 need to create a /boot/device.hints or add a hints directive 783 to your config file to compile them in statically. The format 784 of the config file has changed as well. Please see GENERIC or 785 NEWCARD for examples of the new format. 786 78720000522: 788 A new set of binutils went into the tree today. Anybody 789 building a kernel after this point is advised that they need 790 to rebuild their binutils (or better yet do a 791 buildworld/installworld) before building a new kernel. 792 793 Due to bugs in binutils, using malloc options (eg /etc/malloc.conf 794 or MALLOC_OPTIONS env var) J will cause ld to dump core. It 795 is recommended that you don't set this option until the problem 796 is resolved. 797 79820000513: 799 The ethernet drivers were all updated to clean up the BPF handling. 800 80120000510: 802 The problems with boot blocks on the alphas have been corrected. 803 This will require some care in updating alphas. A new libstand 804 is requires for the boot blocks to build properly. 805 80620000503: 807 Recompile all kld modules. Proper version dependency info 808 is now available. 809 81020000502: 811 Modules have been disconnected from the buildworld tree and 812 connected to the kernel building instead. 813 81420000427: 815 You may need to build gperf 816 cd /usr/src/gnu/usr.bin/gperf && make depend all install 817 when upgrading from 4.0 -> current. The build system now uses 818 an option only in -current. 819 82020000417: 821 The method that we brand ELF binaries has changed to be more 822 acceptable to the binutils maintainers. You will need to 823 rebrand your ELF binaries that aren't native. One problem 824 binary is the Linux ldconfig. After your make world, but 825 before you reboot, you'll need to issue: 826 brandelf -t Linux /compat/linux/sbin/ldconfig 827 if you have Linux compatibility enabled on your machine. 828 82920000320: 830 If you have really bad/marginal IDE drives, you may find they 831 don't work well. Use pio mode instead. The easiest way to 832 cope if you have a problem combination is to add: 833 /sbin/sysctl -w hw.atamodes=pio,pio,pio,pio 834 to the start of /etc/rc.conf. 835 83620000319: 837 The ISA and PCI compatibility shims have been connected to the 838 options COMPAT_OLDISA and COMPAT_OLDPCI. If you are using old 839 style PCI or ISA drivers (i.e. tx, voxware, etc.) you must 840 include the appropriate option in your kernel config. Drivers 841 using the shims should be updated or they won't ship with 842 5.0-RELEASE, targeted for 2001. 843 84420000318: 845 We've entered the traditional post release dumping party. 846 Large kernel changes are being committed and are in the 847 works. It is important to keep the systems' klds and kernel 848 in sync as kernel interfaces and structures are changing. 849 Before reporting kernel panics, make sure that all modules 850 that you are loading are up to date. 851 85220000315: 853 If you are upgrading from an older version of FreeBSD, you 854 need to update your boot blocks as well. 'disklabel -B ad0' 855 will do the trick. This isn't critical until you remove your 856 wd device entries in /dev, at which point your system will not 857 boot. 858 85920000315: 860 4.0 RELEASE shipped. Please see the 4.0 UPDATING file for how 861 to upgrade to 4.0 from 3.x. 862 863COMMON ITEMS: 864 865 General Notes 866 ------------- 867 Avoid using make -j when upgrading. From time to time in the 868 past there have been problems using -j with buildworld and/or 869 installworld. This is especially true when upgrading between 870 "distant" versions (eg one that cross a major release boundary 871 or several minor releases, or when several months have passed 872 on the -current branch). 873 874 Sometimes, obscure build problems are the result of environment 875 poisoning. This can happen because the make utility reads its 876 environment when searching for values for global variables. 877 To run your build attempts in an "environmental clean room", 878 prefix all make commands with 'env -i '. See the env(1) manual 879 page for more details. 880 881 To build a kernel 882 ----------------- 883 If you are updating from a prior version of FreeBSD (even one just 884 a few days old), you should follow this procedure. With a 885 /usr/obj tree with a fresh buildworld, 886 make buildkernel KERNCONF=YOUR_KERNEL_HERE 887 make installkernel KERNCONF=YOUR_KERNEL_HERE 888 889 To just build a kernel when you know that it won't mess you up 890 -------------------------------------------------------------- 891 cd src/sys/{i386,alpha}/conf 892 config KERNEL_NAME_HERE 893 cd ../../compile/KERNEL_NAME_HERE 894 make depend 895 make 896 make install 897 898 If this fails, go to the "To build a kernel" section. 899 900 To rebuild everything and install it on the current system. 901 ----------------------------------------------------------- 902 make world 903 Build a new kernel, see above. 904 905 To upgrade from 4.x-stable to current 906 ------------------------------------- 907 make buildworld 908 make buildkernel KERNCONF=YOUR_KERNEL_HERE 909 cp src/sys/${MACHINE_ARCH}/conf/GENERIC.hints /boot/device.hints [2] 910 make installkernel KERNCONF=YOUR_KERNEL_HERE 911 reboot in single user [3] 912 make installworld 913 mergemaster [4] 914 [1] 915 <reboot> 916 917 Make sure that you've read the UPDATING file to understand the 918 tweaks to various things you need. At this point in the life 919 cycle of current, things change often and you are on your own 920 to cope. The defaults can also change, so please read ALL of 921 the UPDATING entries. 922 923 Also, if you are tracking -current, you must be subscribed to 924 freebsd-current@freebsd.org. Make sure that before you update 925 your sources that you have read and understood all the recent 926 messages there. If in doubt, please track -stable which has 927 much fewer pitfalls. 928 929 [1] If you have third party modules, such as vmware, you 930 should disable them at this point so they don't crash your 931 system on reboot. 932 933 [2] If you have legacy ISA devices, you may need to create 934 your own device.hints to reflect your unique hardware 935 configuration. 936 937 [3] From the bootblocks, boot -s, and then do 938 fsck -p 939 mount -u / 940 mount -a 941 cd /usr/src 942 adjkerntz -i # if CMOS is wall time 943 944 [4] Note: This step is non-optional. Failure to do this step 945 can result in a significant reduction in the functionality of the 946 system. Attempting to do it by hand is not recommended and those 947 that pursue this avenue should read this file carefully, as well 948 as the archives of freebsd-current and freebsd-hackers mailing lists 949 for potential gotchas. 950 951FORMAT: 952 953This file contains a list, in reverse chronological order, of major 954breakages in tracking -current. Not all things will be listed here, 955and it only starts on March 15, 2000. Updating files can found in 956previous releases if your system is older than this. 957 958Please filter your entries through Warner Losh (imp@village.org) so 959that the style, formatting, etc of this file can be maintained. 960 961Copyright information: 962 963Copyright 1998, 2001 M. Warner Losh. All Rights Reserved. 964 965Redistribution, publication, translation and use, with or without 966modification, in full or in part, in any form or format of this 967document are permitted. 968 969THIS DOCUMENT IS PROVIDED BY WARNER LOSH ``AS IS'' AND ANY EXPRESS OR 970IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 971WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 972DISCLAIMED. IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT, 973INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 974(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 975SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 976HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 977STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 978IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 979POSSIBILITY OF SUCH DAMAGE. 980 981If you find this document useful, and you want to, you may buy the 982author a beer. 983 984Contact Warner Losh if you have any questions about your use of 985this document. 986 987$FreeBSD$ 988