UPDATING revision 87269
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 820011202: 9 A security hole in OpenSSH involving `UseLogin yes' has been 10 patched. 11 1220011126: 13 You need to remove /usr/obj/.../usr.bin/tip before rebuilding 14 after this date. 15 1620011103: 17 Most of the awk issues have been resolved. Some rough 18 edges may be left, but for the most part things should be 19 back to "normal." For CURRENT's usual definition of "normal." 20 2120011030: 22 Awk has been upgraded to the one true awk from bell labs. Expect 23 choppy waves in the upgrade process. 24 2520011030: 26 The asr driver problem has been resolved. 27 2820011027: 29 Due to changes in other parts of the system, the asr driver 30 now causes the system to panic on boot. Do not use it pending 31 correction. Comment it out of any kernel config file that you 32 try to use from this date forward. 33 3420011025: 35 When crossbuilding, use TARGET=xxx where you used to use 36 MACHINE=xxx. You don't need to set TARGET_ARCH and TARGET, 37 unless you are changing both of them. To cross build pc98 on 38 an alpha, for example, you need to set TARGET=pc98 and 39 TARGET_ARCH=i386. 40 4120011001: 42 The kernel interface that burncd depends on has changed. 43 You must recompile both the kernel and userland applications 44 at the same time. 45 4620010929: 47 When crossbuilding, please set TARGET_ARCH rather than 48 MACHINE_ARCH to indicate the target. In the future, one will 49 set TARGET_MACHINE where you set MACHINE now. At the moment, 50 setting MACHINE alone for same MACHINE_ARCH machines works 51 (eg, you can build pc98 on a i386 machine and vice versa). 52 5320010927: 54 Some weird problems result from using ACPI on some machines. 55 To disable ACPI you can add 56 hint.acpi.0.disable="1" 57 to /boot/loader.conf (or by putting set X=Y at the boot 58 loader "ok" prompt). 59 60 Alternatively, you can remove it from /boot/kernel/acpi.ko 61 or use the MODULES_OVERRIDE function in your kernel config 62 file and not list acpi in that list. 63 6420010924: 65 The buildworld has been fixed. You may need to install 66 the 4.x compatibility libraries for some old binaries 67 to work. 68 cd src/lib/compat/compat4x.i386 69 make all install 70 7120010919: 72 There's a bug in the world build process. The cross-tools 73 are build with the NEW headers, but the OLD libc.a. This 74 leads to all kinds of problems with the new libc. A temporary 75 workaround is to add 76 CFLAGS="-O -pipe -D_OLD_STDIO" 77 before building world when upgrading from 4.x to current. This 78 can be removed afterwards. 79 80 A proper fix to the buildworld target is needed. 81 8220010918: 83 Peter has committed his new kthread nfs client/server code. 84 NFS may be unstable after this date. 85 8620010912: 87 KSE has hit the tree. Lots of things are now different in 88 the kernel. While a few problems were introduced in the 89 initial commit, most of the major ones have been found and 90 corrected. 91 9220010901: 93 In OLDCARD, CardBus bridges appear to be stable. The work 94 arounds described in the 20010604 entry are now no longer 95 necessary and will be ignored. Most insert/remove problems 96 have been rectified around this date. 97 9820010823: 99 named now runs as user bind and group bind rather than as 100 root. If named_enable is set to YES in /etc/rc.conf, ensure 101 that user bind is available in /etc/passwd (using vipw(8)) 102 and that group bind is available in /etc/group. Also make 103 sure that user or group bind has read (and not write) 104 permission for your name server configuration and that it 105 has read and write permission for your slave zone files and 106 directory. 107 108 If you wish to continue to run named as root (a less secure 109 alternative), add a line to /etc/rc.conf saying 110 111 named_flags= 112 11320010709: 114 The PAM libraries have had an API upgrade that is beyond 115 the ability of the shared library major number to handle. 116 It is manifested by PAM-using ports dumping core. The 117 solution is to rebuild those ports. 118 11920010628: 120 The kernel compile module has moved from src/sys/compile/FOO 121 to src/sys/${MACHINE}/compile/FOO. 122 12320010625: 124 The pccard modem issue from 20010613 has been corrected. 125 OLDCARD support is still a little weak in -current. slot 1 is 126 known not to work on some TI based cardbus bridges. Some 127 cardbus bridges do not properly detect insert/removal events. 128 IRQ configuration needs more safety belts. 129 13020010617: 131 Softupdates problems have been corrected. 132 13320010614: 134 Peter ripped out the linkerset support. You must, as always, 135 rerun config after you cvsup if you are using the traditional 136 kernel building methods. 137 13820010613: 139 pccard modems may not work with current after 20010604 date. Some 140 do, others result in panics. *MAKE*SURE* that you update your 141 config and /etc/rc.conf ala the 20010604 entry, or you will have 142 problems (this issue will be fixed, it just hasn't been yet). 143 14420010613: 145 SOFTUPDATES seem to be broken since the middle of May or so. Do not 146 use them in current. You can disable softupdates on all mounted 147 partitions, or remove SOFTUPDATES the kernel config file. 148 14920010612: 150 After Peter's commits to the hints code, people have been noticing 151 that certain devices are attached (or try to) twice. This is due 152 to having both static hints as well as a /boot/device.hints. To 153 work around this issue, please use only one or the other mechanism 154 until this bug is fixed. 155 156 Please note that a feature of config is that if you have config 157 file FOO and FOO.hints, it automatically adds FOO.hints to the 158 hints.c file, wheather you want it to or not. 159 16020010610: 161 Locale names have changed to match other systems better. 162 16320010604: 164 pccard support for pci cards has been committed. You must change 165 your /etc/pccard.conf irq lines. It must match the irq used by 166 pcic device. Interrupt storms may result if you fail to do this. 167 Interrupt storms look a lot like a hang. 168 169 You must also install a new pccardd, otherwise you will get an 170 interrupt storm at card reset time (just after it tells you what 171 it is). 172 173 pccardd_flags="-I" is necessary for the time being. It tells pccardd 174 not to ask the kernel if the interrupt is really free or not before 175 using it. You can either change the /etc/pccard.conf irq lines to 176 match pcic, or add "-i X" to the pccardd_flags. 177 17820010530: 179 INSTALL=install -C is being deprecated. If you want to do this, 180 use COPY=-C instead. The former method will be supported for only 181 a limited time. If you see 182 183install: warning: the -d and -C options may not be specified together 184 185 in your makeworld, then you need to migrate towards using 186 COPY=-C. 187 18820010525: 189 It appears that vm is now stable enough to use again. However, 190 there may be other problems, so caution is still urged. alpha 191 definitely is in bad shape. 192 19320010521: 194 Minor repo damange has happened. This may cause problems 195 with cvsup of ports. If you get errors, please see 196 http://www.FreeBSD.org/cgi/query-pr.cgi?pr=27495 197 at the bottom for details on a workaround. The error message 198 is 199Updater failed: Cannot delete "/usr/ports/www/jakarta-tomcat/files": Directory not empty 200 20120010520: 202 Vm and/or swapping are busted on -current. Please be patient. 203 20420010519: 205 pccard has had much reorganizational work done to it over 206 the past few days. Everything should still work, but if 207 not, please contact imp@freebsd.org. 208 20920010517: 210 ata ioctl changed. Make sure to recompile both kernel and 211 userland at the same time. 212 21320010517: 214 New ncurses imported. 215 21620010512: 217 DEVFS is now opt out, not opt in. Barring major problems, this 218 will be the only way to go starting July 1. 219 22020010502: 221 Perl breakage in 20010501 was corrected at 14:18:33 PDT. 222 22320010501: 224 Building perl was broken at 02:25:25 PDT. 225 22620010430: 227 The bug in 20010429 was corrected at 07:35:37 PDT. It is safe to 228 go back in the water. 229 23020010429: 231 A bad bug was committed at 04:48:42 PDT. Don't use kernels after 232 this date, but before the correction date. 233 23420010423: 235 old fsck and new kernel interactions appear to have been fixed. 236 23720010411: 238 fsck and the kernel were changed to handle some optimizations 239 to directory layout. This breaks backward compatibility. 240 Update only if you understand that you must not use the old 241 fsck with the new kernel ever. 242 24320010330: 244 fsck has changed the meaning of the pass column in /etc/fstab. 245 Please see the cvs commit to fsck.8 or the fsck.8 man page for 246 details. It is unclear if changes to /etc/fstab are necessary. 247 24820010319: 249 portmap had changed name to rpcbind for maximum POLA in your 250 current world. /etc/hosts.{allow,deny} needs changes. nfs and 251 other rpc based programs that rely on portmapper will not work 252 without updates to /etc/hosts.{allow,deny} and /etc/netconfig. 253 25420010315: 255 ata subsystem changes. ATA_ENABLE_ATAPI_DMA, ATA_ENABLE_WC 256 and ATA_ENABEL_TAGS are no longer kernel options. They have 257 been replaced by tunables. See ata.4 for details. 258 25920010312: 260 The fxp driver was converted to use miibus. If you compile 261 fxp into your kernel statically, you will need to add miibus. 262 26320010312: 264 The wi device now defaults to BSS (infrastructure) mode 265 instead of ad-hoc. 266 26720010310: 268 /dev/urandom should be a symbolic link to /dev/random now. 269 Users of current not using DEVFS need to run MAKEDEV std. 270 ssh might not work if you don't. 271 27220010303: 273 The ed driver has been updated. It now allows mii attachments, 274 which means that you must include the miibus in your kernel if 275 you use the ed driver. 276 27720010220: 278 The problems with libc have been corrected. It is now mostly 279 safe to go back into the water. 280 28120010211: 282 The size of FILE was changed. This breaks upgrading. If 283 you must upgrade, be prepared for pain. It also breaks almost 284 all binaries that you've compiled on -current. You are warned 285 that before upgrading would be a good time to do a level 0 286 dump of your system. No, really, I mean it this time. 287 288 To get to the new system, you'll need to use the following 289 workaround. Hopefully this can be sorted out so that we 290 don't have to move this to the updating section. 291 292 To get around the installworld problem, do: 293 # cd /usr/src/usr.bin/sed 294 # make install 295 # cd /usr/src 296 # make installworld 297 If that doesn't work, then try: 298 # make -k installworld 299 # make installworld 300 30120010207: 302 DEVFS is now the default. If you use vinum, make sure that you 303 do not include devfs in your kernel as problems result. 304 30520010205: 306 FFS_ROOT and CD9660_ROOT have been removed or deprecated. 307 Remove them from your config. 308 30920010122: 310 ****************************** WARNING ****************************** 311 buildkernel has been changed slightly 312 ****************************** WARNING ****************************** 313 KERNCONF replaces the variable KERNEL for buildkernel. You 314 should update your scripts and make.conf accordingly. 315 31620010119: 317 config has changed to allow DEV_FOO as a replacement for NFOO. 318 This requires a new config to build correctly. 319 32020010116: 321 The kerrnel option I386_CPU is now mutually exclusive with the 322 other cpu types. If you have an i386 system, be sure that it 323 only had this line. Remove it for all other configurations. 324 32520010110: 326 Changes to the kernel require it and burncd be in sync. 327 32820010102: 329 Everyone who has hw.sndunit set to something in 330 /etc/sysctl.conf, it is now hw.snd.unit. 331 33220010101: 333 ex and vi were broken by some changes to sys/queue.h. If you 334 have a bad vi, you will see make buildworld fail with a core 335 dump while building termcap. You can work around this problem 336 by adding -k to your make buildworld. This will cause the 337 build to complete and install a new vi. Once that's done, you 338 can rebuild again without the -k to pick up anything that 339 might have been ignored by the -k option. 340 341 Others have suggested that you can just rebuild libc if your 342 vi/ex is dynamically linked, but I've not received any reports 343 of this working. 344 34520001228: 346 There have been some changes to libcrypt in -current. The 347 libscrypt/libdescrypt symlink sillyness is gone and the installed 348 libcrypt is fully functional. Be aware of this. 349 35020001218: 351 Linksys Fast Ethernet PCCARD cards supported by the ed driver 352 now require the addition of flag 0x80000 to their config line 353 in pccard.conf(5). This flag is not optional. These Linksys 354 cards will not be recognized without it. 355 35620001205: 357 Important new FreeBSD-version stuff: PAM support has been worked 358 in, partially from the "Unix" OpenSSH version. This requires 359 adding the following in pam.conf: 360 361 sshd auth sufficient pam_skey.so 362 sshd auth required pam_unix.so try_first_pass 363 sshd session required pam_permit.so 364 36520001031: 366 cvs updated to 1.11. 367 36820001020: 369 The random device needs more entropy, so you need to make sure 370 that you've run mergemaster to get a /etc/rc which will seed 371 /dev/random. If you don't and the system hangs after ldconfig, 372 then banging on the keyboard randomly until it unhangs is one 373 workaround. 374 37520001010: 376 ****************************** WARNING ****************************** 377 Sendmail has been updated. 378 ****************************** WARNING ****************************** 379 o mail.local(8) is no longer installed as a set-user-id binary. 380 o sendmail(8) is now built with STARTTLS support unless NO_OPENSSL 381 is set. 382 o The default /etc/mail/sendmail.cf disables the SMTP EXPN and VRFY 383 commands. 384 o Now using sendmail's version of vacation(1). 385 o The sendmail cf building tools (contrib/sendmail/cf) are installed 386 in /usr/share/sendmail/cf. 387 o sendmail.cw changed to local-host-names 388 389 More details can be found at 390 http://people.freebsd.org/~imp/UPDATING/sendmail-20001010 391 39220001009: 393 The ports tree's new layout is in place. Be sure to update 394 your entire ports tree, or you will have problems. 395 39620001006: 397 The perl build procedure no longer installs miniperl, nor uses 398 the installed miniperl. It is recommended that you delete 399 /usr/bin/miniperl. 400 40120001005: 402 This weekend the ports tree will be updated to a new layout. 403 It will be in an inconsistent state until noted in the UPDATING 404 file, or with asami-san's message to the relevant mailing 405 lists. With this new layout, you'll need to update the whole 406 tree for anything to work. 407 40820000928: 409 There was a change in the passwd format. Need more information. 410 41120000916: 412 /boot/kernel/kernel.ko -> /boot/kernel/kernel change has taken 413 place. Please update boot loader (not the boot blocks) at the 414 same time as your kernel. 415 41620000914: 417 The new pmtimer device is necessary for laptops. Failure to 418 include the device will cause suspended laptops losing time 419 when they resume. Include 420 device pmtimer 421 in your config file and 422 hint.pmtimer.0.at="isa" 423 to your /boot/device.hints file. 424 42520000911: 426 The random device has been turned into a (pseudo-)device, 427 rather than an option. The supplied kernel config files have 428 been updated. You will need to do something similar in your 429 own kernel config file. 430 Remove: 431 options RANDOMDEV 432 Add: 433 device random 434 If you prefer to load the loadable module, you need to do 435 nothing. 436 43720000909: 438 The random device module has been renamed from randomdev.ko to 439 random.ko. You will need to edit your /boot/loader.conf to 440 reflect this if you load this module at boot time. 441 The line should read: 442 random_load="YES" 443 44420000907: 445 The SMPNG commit has happened. It should work, but if it 446 doesn't, fallback to the PRE_SMPNG CVS tag. There are likely 447 to be a variety of minor issues. Please see 20000905 to make 448 sure you don't have model loading problems which might at 449 first blush appear related to SMP. 450 45120000906: 452 nsswitch has been imported from NetBSD. Among other things, 453 this means that /etc/host.conf is no longer used. See 454 nsswitch.conf(5) instead. Note that at boot time rc.network 455 will attempt to produce a new nsswitch.conf file for you if you 456 don't have one, and you have host.conf. 457 45820000905: 459 The ucred structure changed size. This breaks the interface 460 that mountd uses. Trying to use an older mountd with a newer 461 kernel guarantees a panic. This means that you need to use 462 kernels newer than today only with matching mountd, but you 463 needed to do that anyway with the boot loader changes. 464 46520000905: 466 The boot loader has been updated. The new default kernel is 467 now /boot/kernel/kernel.ko. The new default module location 468 is /boot/kernel. 469 470 You *MUST* upgrade your boot loader and kernel at the same time. 471 The easiest way to do this is to do the buildworld/buildkernel/ 472 installkernel/installworld dance. 473 474 Furthermore, you are urged to delete your old /modules directory 475 before booting the new kernel, since kldload will find stale 476 modules in that directory instead of finding them in the correct 477 path, /boot/kernel. The most common complaint that this cures 478 is that the linux module crashes your machine after the update. 479 480 if [ ! -d /boot/kernel.old ]; then 481 mv /modules.old /boot/kernel.old 482 chflags noschg /kernel.old 483 mv /kernel.old /boot/kernel.old/kernel.ko 484 chflags schg /boot/kernel.old/kernel.ko 485 fi 486 48720000904: 488 A new issue with the sendmail upgrade has come to light. 489 /etc/aliases has moved to /etc/mail/aliases. Mergemaster will 490 incorrectly install the default aliases in /etc/mail rather than 491 move the old one from /etc. So you'll need to manually move the 492 file, create a symbolic link, remove the old /etc/aliases.db and 493 run newaliases. For safety sake, you should stop sendmail 494 while doing this and run the upgrade when locally sourced email 495 is not likely to be generated. 496 49720000825: 498 /boot/device.hints is now required for installkernel to 499 succeed. You should copy GENERIC.hints for your architecture 500 into /boot/device.hints. If and only if you compile hints 501 into your kernel, then this file may be empty. Please note, 502 if you have an empty or missing /boot/device.hints file and 503 you neglected to compile hints into your kernel, no boot 504 messages will appear after the boot loader tries to start the 505 kernel. 506 50720000821: 508 If you do NOT have ``options RANDOMDEV'' in your kernel and 509 you DO want the random device then add randomdev_load="YES" to 510 /boot/loader.conf. 511 51220000812: 513 suidperl is now always built and installed on the system, but 514 with permissions of 511. If you have applications that use 515 this program, you are now required to add ENABLE_SUIDPERL=true 516 to /etc/make.conf. If you forget to do this, 517 chmod 4511 /usr/bin/suidperl 518 will fix this until the next build. 519 52020000812: 521 sendmail has been updated from 8.9.3 to 8.11.0. Some of the more 522 visible changes that may immediately affect your configuration 523 include: 524 - New default file locations from src/contrib/sendmail/cf/README 525 - newaliases limited to root and trusted users 526 - MSA port (587) turned on by default 527 - New queue file naming system so can't go from 8.11 -> 8.9 528 - FEATURE(`rbl') renamed to FEATURE(`dnsbl') 529 - FEATURE(`nullclient') is more full featured 530 - FEATURE(`nouucp') requires an argument: `reject' or `nospecial' 531 - mail.local FreeBSD-only -b option changed to -B 532 - See src/contrib/sendmail/RELEASE_NOTES for more info 533 53420000810: 535 suidperl (aka sperl) is no longer build by default. You must 536 specifically define BUILD_SUIDPERL to "true" for it to be build. 537 Furthermore, we recommend that you remove /usr/bin/sperl* and 538 /usr/bin/suidperl files from your system unless you have a 539 specific use for it. 540 54120000729: 542 Networking defaults have been tightened. Anybody upgrading 543 /etc/defaults/rc.conf needs to add the following lines to 544 /etc/rc.conf if they want to have the same setup 545 afterwards (unless the variables already are set, of course): 546 # Enable network daemons for user convenience. 547 inetd_enable="YES" 548 portmap_enable="YES" 549 sendmail_enable="YES" 550 55120000728: 552 If you have null_load="YES" in your /boot/loader.conf, you 553 will need to change that to nullfs_load="YES". 554 55520000728: 556 The "installkernel" target has changed slightly. Now even if 557 you override KERNEL e.g. 'make installkernel KERNEL=MYKERNEL' 558 it will install the MYKERNEL file (built with the buildkernel 559 target) as /kernel rather than /MYKERNEL. Those who have 560 updated their /boot/loader.conf files to point to /MYKERNEL 561 should remove that entry or perform manual rename of /kernel 562 to /MYKERNEL. 563 56420000711: 565 If you use CVSUP or CTM to get CVS trees, AND you used to get 566 the old crypto files from internat.freebsd.org AND you check 567 out files from the CVS tree with the cvs command, please read 568 http://people.freebsd.org/~imp/internat.txt 569 for details on potential problems that you might have and how 570 to get around them. 571 572 If you are merely a mirror, or don't answer yes to each of the 573 clauses above, you needn't worry. 574 57520000711: 576 /etc/security has been updated to print the inode number of 577 setuid programs that have changed. You will see a large spike 578 in the number of changed programs the first time when you run 579 mergemaster to get a new /etc/security. 580 58120000710: 582 /dev/random now has good entropy collection (from the keyboard 583 and sysmouse drivers). Please ensure that either `options 584 RANDOMDEV' is present in your kernel config file or that 585 `randomdev_load="YES"' is in your /boot/loader.conf. If you do 586 not have the /dev/random driver, OpenSSL (and consequently 587 lots of crypto tools (like SSH)) will fail with strange 588 errors. (see below, 20000624). 589 590 FreeBSD-current is safe again to run Crypto. 591 59220000709: 593 phk made the malloc default options AJ. This may slow things 594 down and uncover other latent bugs in the code. If you need to 595 run at full speed, you can disable this by doing the following: 596 ln -s aj /etc/malloc.conf 597 59820000706: 599 libftpio's version was accidentally bumped a few days ago. This 600 has been corrected. You may need to remove /usr/lib/libftpio.so.6 601 before doing your next buildworld/installworld pair. It certainly 602 won't hurt to remove it before the update procedure. It will 603 break fetch until a new one is built, but ftp can be used in the 604 interim if needed. 605 60620000705: 607 The crypto packages have changed for the cvsup. This has been done 608 in a backward compatible way, but the old packages will go away at 609 some point in the future. Look at /usr/share/examples/cvsup for 610 details. 611 61220000704: 613 With the new sys/modules/sound/drivers/*, you will need to 614 set SYSDIR until you do an installworld after July 7th. 615 61620000704: 617 rc.shutdown and rc will now call the rc.d scripts with start 618 or stop. This may cause some harmless warnings from older 619 rc.d scripts that haven't been updated. 620 62120000630: 622 The libfetch based version of fetch has gone into the tree. 623 Minor problems may result on some of the less popular sites, 624 which should be reported to des@freebsd.org. 625 62620000625: 627 From approximately this date forward, one must have the crypto 628 system installed in order to build the system and kernel. 629 While not technically strictly true, one should treat it as 630 required and grab the crypto bits. If you are grabbing CVS 631 trees, src-all and cvs-crypto should be treated as if they 632 were required. You should check with the latest collections 633 to make sure that these haven't changed. 634 63520000624: 636 Mark Murray just committed the first parts of a cleanup of 637 /dev/zero, et al. This is also cleaning up /dev/random. 638 The entropy is disconnected, so DO NOT USE VERSIONS OF FREEBSD 639 -CURRENT FROM THIS POINT FORWARD for cryptographic services 640 until Mark can merge in the fixes to this work in progress. 641 openssh and openssl should not be used to generate keys from this 642 date to the completion of the work. 643 644 If you must operate at this reduced level of security, add ' 645 options RANDOMDEV' to your kernel or modload the randomdev 646 module. You may also need to copy a new MAKEDEV to /dev and 647 recreate the random and urandom devices. 648 64920000622: 650 The license on the softupdates is now a standard 2 clause 651 BSD license. You may need to remove your symbolic links 652 that used to be required when updating. 653 65420000621: 655 Scott Flatman <sf@aracnet.com> sent in a decent write-up on 656 the config file update procedure. 657 http://people.freebsd.org/~imp/config-upd.html 658 NOTE: LINT is gone. It has been replaced with NOTES. NOTES 659 isn't buildable. However, you can generate a LINT file. 660 66120000620: 662 Binutils 2.10 have hit the tree, or will shortly. As soon 663 as they do, the problem noted in 20000522 will be resolved and 664 that workaround will no longer be required. 665 66620000615: 667 phk removed the compatibility creation of wd devices in the 668 ad driver. If you haven't done so already, you must update 669 your fstab, etc to use the ad devices instead of the wd 670 devices. 671 672 In addition, you'll need to update your boot blocks to a 673 more modern version, if you haven't already done so. Modern 674 here means 4.0 release or newer (although older releases 675 may work). 676 67720000612: 678 Peter took an axe to config(8). Be sure that you read his mail 679 on the topic before even thinking about updating. You will 680 need to create a /boot/device.hints or add a hints directive 681 to your config file to compile them in statically. The format 682 of the config file has changed as well. Please see GENERIC or 683 NEWCARD for examples of the new format. 684 68520000522: 686 A new set of binutils went into the tree today. Anybody 687 building a kernel after this point is advised that they need 688 to rebuild their binutils (or better yet do a 689 buildworld/installworld) before building a new kernel. 690 691 Due to bugs in binutils, using malloc options (eg /etc/malloc.conf 692 or MALLOC_OPTIONS env var) J will cause ld to dump core. It 693 is recommended that you don't set this option until the problem 694 is resolved. 695 69620000513: 697 The ethernet drivers were all updated to clean up the BPF handling. 698 69920000510: 700 The problems with boot blocks on the alphas have been corrected. 701 This will require some care in updating alphas. A new libstand 702 is requires for the boot blocks to build properly. 703 70420000503: 705 Recompile all kld modules. Proper version dependency info 706 is now available. 707 70820000502: 709 Modules have been disconnected from the buildworld tree and 710 connected to the kernel building instead. 711 71220000427: 713 You may need to build gperf 714 cd /usr/src/gnu/usr.bin/gperf && make depend all install 715 when upgrading from 4.0 -> current. The build system now uses 716 an option only in -current. 717 71820000417: 719 The method that we brand ELF binaries has changed to be more 720 acceptable to the binutils maintainers. You will need to 721 rebrand your ELF binaries that aren't native. One problem 722 binary is the Linux ldconfig. After your make world, but 723 before you reboot, you'll need to issue: 724 brandelf -t Linux /compat/linux/sbin/ldconfig 725 if you have Linux compatibility enabled on your machine. 726 72720000320: 728 If you have really bad/marginal IDE drives, you may find they 729 don't work well. Use pio mode instead. The easiest way to 730 cope if you have a problem combination is to add: 731 /sbin/sysctl -w hw.atamodes=pio,pio,pio,pio 732 to the start of /etc/rc.conf. 733 73420000319: 735 The ISA and PCI compatibility shims have been connected to the 736 options COMPAT_OLDISA and COMPAT_OLDPCI. If you are using old 737 style PCI or ISA drivers (i.e. tx, voxware, etc.) you must 738 include the appropriate option in your kernel config. Drivers 739 using the shims should be updated or they won't ship with 740 5.0-RELEASE, targeted for 2001. 741 74220000318: 743 We've entered the traditional post release dumping party. 744 Large kernel changes are being committed and are in the 745 works. It is important to keep the systems' klds and kernel 746 in sync as kernel interfaces and structures are changing. 747 Before reporting kernel panics, make sure that all modules 748 that you are loading are up to date. 749 75020000315: 751 If you are upgrading from an older version of FreeBSD, you 752 need to update your boot blocks as well. 'disklabel -B ad0' 753 will do the trick. This isn't critical until you remove your 754 wd device entries in /dev, at which point your system will not 755 boot. 756 75720000315: 758 4.0 RELEASE shipped. Please see the 4.0 UPDATING file for how 759 to upgrade to 4.0 from 3.x. 760 761COMMON ITEMS: 762 763 General Notes 764 ------------- 765 Avoid using make -j when upgrading. From time to time in the 766 past there have been problems using -j with buildworld and/or 767 installworld. This is especially true when upgrading between 768 "distant" versions (eg one that cross a major release boundary 769 or several minor releases, or when several months have passed 770 on the -current branch). 771 772 To build a kernel 773 ----------------- 774 If you are updating from a prior version of FreeBSD (even one just 775 a few days old), you should follow this procedure. With a 776 /usr/obj tree with a fresh buildworld, 777 make buildkernel KERNCONF=YOUR_KERNEL_HERE 778 make installkernel KERNCONF=YOUR_KERNEL_HERE 779 780 To just build a kernel when you know that it won't mess you up 781 -------------------------------------------------------------- 782 cd src/sys/{i386,alpha}/conf 783 config KERNEL_NAME_HERE [1] 784 cd ../../compile/KERNEL_NAME_HERE 785 make depend 786 make 787 make install 788 789 [1] If in doubt, -r might help here. 790 791 If this fails, go to the "To build a kernel" section. 792 793 To rebuild everything and install it on the current system. 794 ----------------------------------------------------------- 795 make world 796 Build a new kernel, see above. 797 798 To upgrade from 4.x-stable to current 799 ------------------------------------- 800 make buildworld 801 make buildkernel KERNCONF=YOUR_KERNEL_HERE 802 cp src/sys/${MACHINE_ARCH}/conf/GENERIC.hints /boot/device.hints [2] 803 make installkernel KERNCONF=YOUR_KERNEL_HERE 804 reboot in single user [3] 805 make installworld 806 mergemaster [4] 807 [1] 808 <reboot> 809 810 Make sure that you've read the UPDATING file to understand the 811 tweaks to various things you need. At this point in the life 812 cycle of current, things change often and you are on your own 813 to cope. The defaults can also change, so please read ALL of 814 the UPDATING entries. 815 816 Also, if you are tracking -current, you must be subscribed to 817 freebsd-current@freebsd.org. Make sure that before you update 818 your sources that you have read and understood all the recent 819 messages there. If in doubt, please track -stable which has 820 much fewer pitfalls. 821 822 [1] If you have third party modules, such as vmware, you 823 should disable them at this point so they don't crash your 824 system on reboot. 825 826 [2] If you have legacy ISA devices, you may need to create 827 your own device.hints to reflect your unique hardware 828 configuration. 829 830 [3] From the bootblocks, boot -s, and then do 831 fsck -p 832 mount -u / 833 mount -a 834 cd /usr/src 835 adjkerntz -i # if COMS is wall time 836 837 [4] Note: This step is non-optional. Failure to do this step 838 can result in a significant reduction in the functionality of the 839 system. Attempting to do it by hand is not recommended and those 840 that pursue this avenue should read this file carefully, as well 841 as the archives of freebsd-current and freebsd-hackers mailing lists 842 for potential gotchas. 843 844FORMAT: 845 846This file contains a list, in reverse chronological order, of major 847breakages in tracking -current. Not all things will be listed here, 848and it only starts on March 15, 2000. Updating files can found in 849previous releases if your system is older than this. 850 851Please filter your entries through Warner Losh (imp@village.org) so 852that the style, formatting, etc of this file can be maintained. 853 854Copyright information: 855 856Copyright 1998, 2001 M. Warner Losh. All Rights Reserved. 857 858Redistribution, publication, translation and use, with or without 859modification, in full or in part, in any form or format of this 860document are permitted. 861 862THIS DOCUMENT IS PROVIDED BY WARNER LOSH ``AS IS'' AND ANY EXPRESS OR 863IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 864WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 865DISCLAIMED. IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT, 866INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 867(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 868SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 869HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 870STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 871IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 872POSSIBILITY OF SUCH DAMAGE. 873 874If you find this document useful, and you want to, you may buy the 875author a beer. 876 877Contact Warner Losh if you have any questions about your use of 878this document. 879 880$FreeBSD: head/UPDATING 87269 2001-12-03 13:14:15Z nectar $ 881