UPDATING revision 75897
1Updating Information for FreeBSD current users 2 3This file is maintained by imp@village.org. Please send new entries 4directly to him. See end of file for further details. For commonly 5done items, please see the end of the file. Search for 'COMMON 6ITEMS:' 7 820010423: 9 old fsck and new kernel interactions appear to have been fixed. 10 1120010411: 12 fsck and the kernel were changed to handle some optimizations 13 to directory layout. This breaks backward compatibility. 14 Update only if you understand that you must not use the old 15 fsck with the new kernel ever. 16 1720010330: 18 fsck has changed the meaning of the pass column in /etc/fstab. 19 Please see the cvs commit to fsck.8 or the fsck.8 man page fora 20 details. It is unclear if changes to /etc/fstab are necessary. 21 2220010319: 23 portmap had changed name to rpcbind for maximum POLA in your 24 current world. /etc/hosts.{allow,deny} needs changes. nfs and 25 other rpc based programs that rely on portmapper will not work 26 without updates to /etc/hosts.{allow,deny}. 27 2820010312: 29 The fxp driver was converted to use miibus. If you compile 30 fxp into your kernel statically, you will need to add miibus. 31 3220010312: 33 The wi device now defaults to BSS (infrastructure) mode 34 instead of ad-hoc. 35 3620010310: 37 /dev/urandmon should be a sumbolic link to /dev/random now. 38 Users of current not using DEVFS need to run MAKEDEV std. 39 ssh might not work if you don't. 40 4120010220: 42 The problems with libc have been corrected. It is now mostly 43 safe to go back into the water. 44 4520010211: 46 The size of FILE was changed. This breaks upgrading. If 47 you must upgrade, be prepared for pain. It also breaks almost 48 all binaries that you've compiled on -current. You are warned 49 that before upgrading would be a good time to do a level 0 50 dump of your system. No, really, I mean it this time. 51 52 To get to the new system, you'll need to use the following 53 workaround. Hopefully this can be sorted out so that we 54 don't have to move this to the updating section. 55 56 To get around the installworld problem, do: 57 # cd /usr/src/usr.bin/sed 58 # make install 59 # cd /usr/src 60 # make installworld 61 If that doesn't work, then try: 62 # make -k installworld 63 # make installworld 64 6520010207: 66 DEVFS is now the default. If you use vinum, make sure that you 67 do not include devfs in your kernel as problems result. 68 6920010205: 70 FFS_ROOT and CD9660_ROOT have been removed or deprecated. 71 Remove them from your config. 72 7320010122: 74 ****************************** WARNING ****************************** 75 buildkernel has been changed slightly 76 ****************************** WARNING ****************************** 77 KERNCONF replaces the variable KERNEL for buildkernel. You 78 should update your scripts and make.conf accordingly. 79 8020010119: 81 config has changed to allow DEV_FOO as a replacement for NFOO. 82 This requires a new config to build correctly. 83 8420010116: 85 The kerrnel option I386_CPU is now mutually exclusive with the 86 other cpu types. If you have an i386 system, be sure that it 87 only had this line. Remove it for all other configurations. 88 8920010110: 90 Changes to the kernel require it and burncd be in sync. 91 9220010102: 93 Everyone who has hw.sndunit set to something in 94 /etc/sysctl.conf, it is now hw.snd.unit. 95 9620010101: 97 ex and vi were broken by some changes to sys/queue.h. If you 98 have a bad vi, you will see make buildworld fail with a core 99 dump while building termcap. You can work around this problem 100 by adding -k to your make buildworld. This will cause the 101 build to complete and install a new vi. Once that's done, you 102 can rebuild again without the -k to pick up anything that 103 might have been ignored by the -k option. 104 105 Others have suggested that you can just rebuild libc if your 106 vi/ex is dynamically linked, but I've not received any reports 107 of this working. 108 10920001228: 110 There have been some changes to libcrypt in -current. The 111 libscrypt/libdescrypt symlink sillyness is gone and the installed 112 libcrypt is fully functional. Be aware of this. 113 11420001218: 115 Linksys Fast Ethernet PCCARD cards supported by the ed driver 116 now require the addition of flag 0x80000 to their config line 117 in pccard.conf(5). This flag is not optional. These Linksys 118 cards will not be recognized without it. 119 12020001205: 121 Important new FreeBSD-version stuff: PAM support has been worked 122 in, partially from the "Unix" OpenSSH version. This requires 123 adding the following in pam.conf: 124 125 sshd auth sufficient pam_skey.so 126 sshd auth required pam_unix.so try_first_pass 127 sshd session required pam_permit.so 128 12920001031: 130 cvs updated to 1.11. 131 13220001020: 133 The random device needs more entropy, so you need to make sure 134 that you've run mergemaster to get a /etc/rc which will seed 135 /dev/random. If you don't and the system hangs after ldconfig, 136 then banging on the keyboard randomly until it unhangs is one 137 workaround. 138 13920001010: 140 ****************************** WARNING ****************************** 141 Sendmail has been updated. 142 ****************************** WARNING ****************************** 143 o mail.local(8) is no longer installed as a set-user-id binary. 144 o sendmail(8) is now built with STARTTLS support unless NO_OPENSSL 145 is set. 146 o The default /etc/mail/sendmail.cf disables the SMTP EXPN and VRFY 147 commands. 148 o Now using sendmail's version of vacation(1). 149 o The sendmail cf building tools (contrib/sendmail/cf) are installed 150 in /usr/share/sendmail/cf. 151 o sendmail.cw changed to local-host-names 152 153 More details can be found at 154 http://people.freebsd.org/~imp/UPDATING/sendmail-20001010 155 15620001009: 157 The ports tree's new layout is in place. Be sure to update 158 your entire ports tree, or you will have problems. 159 16020001006: 161 The perl build procedure no longer installs miniperl, nor uses 162 the installed miniperl. It is recommended that you delete 163 /usr/bin/miniperl. 164 16520001005: 166 This weekend the ports tree will be updated to a new layout. 167 It will be in an inconsistent state until noted in the UPDATING 168 file, or with asami-san's message to the relevant mailing 169 lists. With this new layout, you'll need to update the whole 170 tree for anything to work. 171 17220000928: 173 There was a change in the passwd format. Need more information. 174 17520000916: 176 /boot/kernel/kernel.ko -> /boot/kernel/kernel change has taken 177 place. Please update boot loader (not the boot blocks) at the 178 same time as your kernel. 179 18020000914: 181 The new pmtimer device is necessary for laptops. Failure to 182 include the device will cause suspended laptops losing time 183 when they resume. Include 184 device pmtimer 185 in your config file and 186 hint.pmtimer.0.at="isa" 187 to your /boot/device.hints file. 188 18920000911: 190 The random device has been turned into a (pseudo-)device, 191 rather than an option. The supplied kernel config files have 192 been updated. You will need to do something similar in your 193 own kernel config file. 194 Remove: 195 options RANDOMDEV 196 Add: 197 device random 198 If you prefer to load the loadable module, you need to do 199 nothing. 200 20120000909: 202 The random device module has been renamed from randomdev.ko to 203 random.ko. You will need to edit your /boot/loader.conf to 204 reflect this if you load this module at boot time. 205 The line should read: 206 random_load="YES" 207 20820000907: 209 The SMPNG commit has happened. It should work, but if it 210 doesn't, fallback to the PRE_SMPNG CVS tag. There are likely 211 to be a variety of minor issues. Please see 20000905 to make 212 sure you don't have model loading problems which might at 213 first blush appear related to SMP. 214 21520000906: 216 nsswitch has been imported from NetBSD. Among other things, 217 this means that /etc/host.conf is no longer used. See 218 nsswitch.conf(5) instead. Note that at boot time rc.network 219 will attempt to produce a new nsswitch.conf file for you if you 220 don't have one, and you have host.conf. 221 22220000905: 223 The ucred structure changed size. This breaks the interface 224 that mountd uses. Trying to use an older mountd with a newer 225 kernel guarantees a panic. This means that you need to use 226 kernels newer than today only with matching mountd, but you 227 needed to do that anyway with the boot loader changes. 228 22920000905: 230 The boot loader has been updated. The new default kernel is 231 now /boot/kernel/kernel.ko. The new default module location 232 is /boot/kernel. 233 234 You *MUST* upgrade your boot loader and kernel at the same time. 235 The easiest way to do this is to do the buildworld/buildkernel/ 236 installkernel/installworld dance. 237 238 Furthermore, you are urged to delete your old /modules directory 239 before booting the new kernel, since kldload will find stale 240 modules in that directory instead of finding them in the correct 241 path, /boot/kernel. The most common complaint that this cures 242 is that the linux module crashes your machine after the update. 243 244 if [ ! -d /boot/kernel.old ]; then 245 mv /modules.old /boot/kernel.old 246 chflags noschg /kernel.old 247 mv /kernel.old /boot/kernel.old/kernel.ko 248 chflags schg /boot/kernel.old/kernel.ko 249 fi 250 25120000904: 252 A new issue with the sendmail upgrade has come to light. 253 /etc/aliases has moved to /etc/mail/aliases. Mergemaster will 254 incorrectly install the default aliases in /etc/mail rather than 255 move the old one from /etc. So you'll need to manually move the 256 file, create a symbolic link, remove the old /etc/aliases.db and 257 run newaliases. For safety sake, you should stop sendmail 258 while doing this and run the upgrade when locally sourced email 259 is not likely to be generated. 260 26120000825: 262 /boot/device.hints is now required for installkernel to 263 succeed. You should copy GENERIC.hints for your architecture 264 into /boot/device.hints. If and only if you compile hints 265 into your kernel, then this file may be empty. Please note, 266 if you have an empty or missing /boot/device.hints file and 267 you neglected to compile hints into your kernel, no boot 268 messages will appear after the boot loader tries to start the 269 kernel. 270 27120000821: 272 If you do NOT have ``options RANDOMDEV'' in your kernel and 273 you DO want the random device then add randomdev_load="YES" to 274 /boot/loader.conf. 275 27620000812: 277 suidperl is now always built and installed on the system, but 278 with permissions of 511. If you have applications that use 279 this program, you are now required to add ENABLE_SUIDPERL=true 280 to /etc/make.conf. If you forget to do this, 281 chmod 4511 /usr/bin/suidperl 282 will fix this until the next build. 283 28420000812: 285 sendmail has been updated from 8.9.3 to 8.11.0. Some of the more 286 visible changes that may immediately affect your configuration 287 include: 288 - New default file locations from src/contrib/sendmail/cf/README 289 - newaliases limited to root and trusted users 290 - MSA port (587) turned on by default 291 - New queue file naming system so can't go from 8.11 -> 8.9 292 - FEATURE(`rbl') renamed to FEATURE(`dnsbl') 293 - FEATURE(`nullclient') is more full featured 294 - FEATURE(`nouucp') requires an argument: `reject' or `nospecial' 295 - mail.local FreeBSD-only -b option changed to -B 296 - See src/contrib/sendmail/RELEASE_NOTES for more info 297 29820000810: 299 suidperl (aka sperl) is no longer build by default. You must 300 specifically define BUILD_SUIDPERL to "true" for it to be build. 301 Furthermore, we recommend that you remove /usr/bin/sperl* and 302 /usr/bin/suidperl files from your system unless you have a 303 specific use for it. 304 30520000729: 306 Networking defaults have been tightened. Anybody upgrading 307 /etc/defaults/rc.conf needs to add the following lines to 308 /etc/rc.conf if they want to have the same setup 309 afterwards (unless the variables already are set, of course): 310 # Enable network daemons for user convenience. 311 inetd_enable="YES" 312 portmap_enable="YES" 313 sendmail_enable="YES" 314 31520000728: 316 If you have null_load="YES" in your /boot/loader.conf, you 317 will need to change that to nullfs_load="YES". 318 31920000728: 320 The "installkernel" target has changed slightly. Now even if 321 you override KERNEL e.g. 'make installkernel KERNEL=MYKERNEL' 322 it will install the MYKERNEL file (built with the buildkernel 323 target) as /kernel rather than /MYKERNEL. Those who have 324 updated their /boot/loader.conf files to point to /MYKERNEL 325 should remove that entry or perform manual rename of /kernel 326 to /MYKERNEL. 327 32820000711: 329 If you use CVSUP or CTM to get CVS trees, AND you used to get 330 the old crypto files from internat.freebsd.org AND you check 331 out files from the CVS tree with the cvs command, please read 332 http://people.freebsd.org/~imp/internat.txt 333 for details on potential problems that you might have and how 334 to get around them. 335 336 If you are merely a mirror, or don't answer yes to each of the 337 clauses above, you needn't worry. 338 33920000711: 340 /etc/security has been updated to print the inode number of 341 setuid programs that have changed. You will see a large spike 342 in the number of changed programs the first time when you run 343 mergemaster to get a new /etc/security. 344 34520000710: 346 /dev/random now has good entropy collection (from the keyboard 347 and sysmouse drivers). Please ensure that either `options 348 RANDOMDEV' is present in your kernel config file or that 349 `randomdev_load="YES"' is in your /boot/loader.conf. If you do 350 not have the /dev/random driver, OpenSSL (and consequently 351 lots of crypto tools (like SSH)) will fail with strange 352 errors. (see below, 20000624). 353 354 FreeBSD-current is safe again to run Crypto. 355 35620000709: 357 phk made the malloc default options AJ. This may slow things 358 down and uncover other latent bugs in the code. If you need to 359 run at full speed, you can disable this by doing the following: 360 ln -s aj /etc/malloc.conf 361 36220000706: 363 libftpio's version was accidentally bumped a few days ago. This 364 has been corrected. You may need to remove /usr/lib/libftpio.so.6 365 before doing your next buildworld/installworld pair. It certainly 366 won't hurt to remove it before the update procedure. It will 367 break fetch until a new one is built, but ftp can be used in the 368 interim if needed. 369 37020000705: 371 The crypto packages have changed for the cvsup. This has been done 372 in a backward compatible way, but the old packages will go away at 373 some point in the future. Look at /usr/share/examples/cvsup for 374 details. 375 37620000704: 377 With the new sys/modules/sound/drivers/*, you will need to 378 set SYSDIR until you do an installworld after July 7th. 379 38020000704: 381 rc.shutdown and rc will now call the rc.d scripts with start 382 or stop. This may cause some harmless warnings from older 383 rc.d scripts that haven't been updated. 384 38520000630: 386 The libfetch based version of fetch has gone into the tree. 387 Minor problems may result on some of the less popular sites, 388 which should be reported to des@freebsd.org. 389 39020000625: 391 From approximately this date forward, one must have the crypto 392 system installed in order to build the system and kernel. 393 While not technically strictly true, one should treat it as 394 required and grab the crypto bits. If you are grabbing CVS 395 trees, src-all and cvs-crypto should be treated as if they 396 were required. You should check with the latest collections 397 to make sure that these haven't changed. 398 39920000624: 400 Mark Murray just committed the first parts of a cleanup of 401 /dev/zero, et al. This is also cleaning up /dev/random. 402 The entropy is disconnected, so DO NOT USE VERSIONS OF FREEBSD 403 -CURRENT FROM THIS POINT FORWARD for cryptographic services 404 until Mark can merge in the fixes to this work in progress. 405 openssh and openssl should not be used to generate keys from this 406 date to the completion of the work. 407 408 If you must operate at this reduced level of security, add ' 409 options RANDOMDEV' to your kernel or modload the randomdev 410 module. You may also need to copy a new MAKEDEV to /dev and 411 recreate the random and urandom devices. 412 41320000622: 414 The license on the softupdates is now a standard 2 clause 415 BSD license. You may need to remove your symbolic links 416 that used to be required when updating. 417 41820000621: 419 Scott Flatman <sf@aracnet.com> sent in a decent write-up on 420 the config file update procedure. 421 http://people.freebsd.org/~imp/config-upd.html 422 NOTE: LINT is gone. It has been replaced with NOTES. NOTES 423 isn't buildable. However, you can generate a LINT file. 424 42520000620: 426 Binutils 2.10 have hit the tree, or will shortly. As soon 427 as they do, the problem noted in 20000522 will be resolved and 428 that workaround will no longer be required. 429 43020000615: 431 phk removed the compatibility creation of wd devices in the 432 ad driver. If you haven't done so already, you must update 433 your fstab, etc to use the ad devices instead of the wd 434 devices. 435 436 In addition, you'll need to update your boot blocks to a 437 more modern version, if you haven't already done so. Modern 438 here means 4.0 release or newer (although older releases 439 may work). 440 44120000612: 442 Peter took an axe to config(8). Be sure that you read his mail 443 on the topic before even thinking about updating. You will 444 need to create a /boot/device.hints or add a hints directive 445 to your config file to compile them in statically. The format 446 of the config file has changed as well. Please see GENERIC or 447 NEWCARD for examples of the new format. 448 44920000522: 450 A new set of binutils went into the tree today. Anybody 451 building a kernel after this point is advised that they need 452 to rebuild their binutils (or better yet do a 453 buildworld/installworld) before building a new kernel. 454 455 Due to bugs in binutils, using malloc options (eg /etc/malloc.conf 456 or MALLOC_OPTIONS env var) J will cause ld to dump core. It 457 is recommended that you don't set this option until the problem 458 is resolved. 459 46020000513: 461 The ethernet drivers were all updated to clean up the BPF handling. 462 46320000510: 464 The problems with boot blocks on the alphas have been corrected. 465 This will require some care in updating alphas. A new libstand 466 is requires for the boot blocks to build properly. 467 46820000503: 469 Recompile all kld modules. Proper version dependency info 470 is now available. 471 47220000502: 473 Modules have been disconnected from the buildworld tree and 474 connected to the kernel building instead. 475 47620000427: 477 You may need to build gperf 478 cd /usr/src/gnu/usr.bin/gperf && make depend all install 479 when upgrading from 4.0 -> current. The build system now uses 480 an option only in -current. 481 48220000417: 483 The method that we brand ELF binaries has changed to be more 484 acceptable to the binutils maintainers. You will need to 485 rebrand your ELF binaries that aren't native. One problem 486 binary is the Linux ldconfig. After your make world, but 487 before you reboot, you'll need to issue: 488 brandelf -t Linux /compat/linux/sbin/ldconfig 489 if you have Linux compatibility enabled on your machine. 490 49120000320: 492 If you have really bad/marginal IDE drives, you may find they 493 don't work well. Use pio mode instead. The easiest way to 494 cope if you have a problem combination is to add: 495 /sbin/sysctl -w hw.atamodes=pio,pio,pio,pio 496 to the start of /etc/rc.conf. 497 49820000319: 499 The ISA and PCI compatibility shims have been connected to the 500 options COMPAT_OLDISA and COMPAT_OLDPCI. If you are using old 501 style PCI or ISA drivers (i.e. tx, voxware, etc.) you must 502 include the appropriate option in your kernel config. Drivers 503 using the shims should be updated or they won't ship with 504 5.0-RELEASE, targeted for 2001. 505 50620000318: 507 We've entered the traditional post release dumping party. 508 Large kernel changes are being committed and are in the 509 works. It is important to keep the systems' klds and kernel 510 in sync as kernel interfaces and structures are changing. 511 Before reporting kernel panics, make sure that all modules 512 that you are loading are up to date. 513 51420000315: 515 If you are upgrading from an older version of FreeBSD, you 516 need to update your boot blocks as well. 'disklabel -B ad0' 517 will do the trick. This isn't critical until you remove your 518 wd device entries in /dev, at which point your system will not 519 boot. 520 52120000315: 522 4.0 RELEASE shipped. Please see the 4.0 UPDATING file for how 523 to upgrade to 4.0 from 3.x. 524 525COMMON ITEMS: 526 527 General Notes 528 ------------- 529 Avoid using make -j when upgrading. From time to time in the 530 past there have been problems using -j with buildworld and/or 531 installworld. This is especially true when upgrading between 532 "distant" versions (eg one that cross a major release boundary 533 or several minor releases, or when several months have passed 534 on the -current branch). 535 536 To build a kernel 537 ----------------- 538 If you are updating from a prior version of FreeBSD (even one just 539 a few days old), you should follow this procedure. With a 540 /usr/obj tree with a fresh buildworld, 541 make buildkernel KERNCONF=YOUR_KERNEL_HERE 542 make installkernel KERNCONF=YOUR_KERNEL_HERE 543 544 To just build a kernel when you know that it won't mess you up 545 -------------------------------------------------------------- 546 cd src/sys/{i386,alpha}/conf 547 config KERNEL_NAME_HERE [1] 548 cd ../../compile/KERNEL_NAME_HERE 549 make depend 550 make 551 make install 552 553 [1] If in doubt, -r might help here. 554 555 If this fails, go to the "To build a kernel" section. 556 557 To rebuild everything and install it on the current system. 558 ----------------------------------------------------------- 559 make world 560 Build a new kernel, see above. 561 562 To upgrade from 4.x-stable to current 563 ------------------------------------- 564 make buildworld 565 make buildkernel KERNCONF=YOUR_KERNEL_HERE 566 cp src/sys/${MACHINE_ARCH}/conf/GENERIC.hints /boot/device.hints [2] 567 make installkernel KERNCONF=YOUR_KERNEL_HERE 568 make installworld 569 mergemaster 570 [1] 571 <reboot> 572 573 Make sure that you've read the UPDATING file to understand the 574 tweaks to various things you need. At this point in the life 575 cycle of current, things change often and you are on your own 576 to cope. The defaults can also change, so please read ALL of 577 the UPDATING entries. 578 579 Also, if you are tracking -current, you must be subscribed to 580 freebsd-current@freebsd.org. Make sure that before you update 581 your sources that you have read and understood all the recent 582 messages there. If in doubt, please track -stable which has 583 much fewer pitfalls. 584 585 [1] If you have third party modules, such as vmware, you 586 should disable them at this point so they don't crash your 587 system on reboot. 588 589 [2] If you have legacy ISA devices, you may need to create 590 your own device.hints to reflect your unique hardware 591 configuration. 592 593FORMAT: 594 595This file contains a list, in reverse chronological order, of major 596breakages in tracking -current. Not all things will be listed here, 597and it only starts on March 15, 2000. Updating files can found in 598previous releases if your system is older than this. 599 600Please filter your entries through Warner Losh (imp@village.org) so 601that the style, formatting, etc of this file can be maintained. 602 603$FreeBSD: head/UPDATING 75897 2001-04-24 04:49:21Z imp $ 604