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 820010122: 9 ****************************** WARNING ****************************** 10 buildkernel has been changed slightly 11 ****************************** WARNING ****************************** 12 KERNCONF replaces the variable KERNEL for buildkernel. You 13 should update your scripts and make.conf accordingly. 14 1520010119: 16 config has changed to allow DEV_FOO as a replacement for NFOO. 17 This requires a new config to build correctly. 18 1920010116: 20 The kerrnel option I386_CPU is now mutually exclusive with the 21 other cpu types. If you have an i386 system, be sure that it 22 only had this line. Remove it for all other configurations. 23 2420010110: 25 Changes to the kernel require it and burncd be in sync. 26 2720010102: 28 Everyone who has hw.sndunit set to something in 29 /etc/sysctl.conf, it is now hw.snd.unit. 30 3120010101: 32 ex and vi were broken by some changes to sys/queue.h. If you 33 have a bad vi, you will see make buildworld fail with a core 34 dump while building termcap. You can work around this problem 35 by adding -k to your make buildworld. This will cause the 36 build to complete and install a new vi. Once that's done, you 37 can rebuild again without the -k to pick up anything that 38 might have been ignored by the -k option. 39 40 Others have suggested that you can just rebuild libc if your 41 vi/ex is dynamically linked, but I've not received any reports 42 of this working. 43 4420001228: 45 There have been some changes to libcrypt in -current. The 46 libscrypt/libdescrypt symlink sillyness is gone and the installed 47 libcrypt is fully functional. Be aware of this. 48 4920001218: 50 Linksys Fast Ethernet PCCARD cards supported by the ed driver 51 now require the addition of flag 0x80000 to their config line 52 in pccard.conf(5). This flag is not optional. These Linksys 53 cards will not be recognized without it. 54 5520001205: 56 Important new FreeBSD-version stuff: PAM support has been worked 57 in, partially from the "Unix" OpenSSH version. This requires 58 adding the following in pam.conf: 59 60 sshd auth sufficient pam_skey.so 61 sshd auth required pam_unix.so try_first_pass 62 sshd session required pam_permit.so 63 6420001031: 65 cvs updated to 1.11. 66 6720001020: 68 The random device needs more entropy, so you need to make sure 69 that you've run mergemaster to get a /etc/rc which will seed 70 /dev/random. If you don't and the system hangs after ldconfig, 71 then banging on the keyboard randomly until it unhangs is one 72 workaround. 73 7420001010: 75 ****************************** WARNING ****************************** 76 Sendmail has been updated. 77 ****************************** WARNING ****************************** 78 o mail.local(8) is no longer installed as a set-user-id binary. 79 o sendmail(8) is now built with STARTTLS support unless NO_OPENSSL 80 is set. 81 o The default /etc/mail/sendmail.cf disables the SMTP EXPN and VRFY 82 commands. 83 o Now using sendmail's version of vacation(1). 84 o The sendmail cf building tools (contrib/sendmail/cf) are installed 85 in /usr/share/sendmail/cf. 86 o sendmail.cw changed to local-host-names 87 88 More details can be found at 89 http://people.freebsd.org/~imp/UPDATING/sendmail-20001010 90 9120001009: 92 The ports tree's new layout is in place. Be sure to update 93 your entire ports tree, or you will have problems. 94 9520001006: 96 The perl build procedure no longer installs miniperl, nor uses 97 the installed miniperl. It is recommended that you delete 98 /usr/bin/miniperl. 99 10020001005: 101 This weekend the ports tree will be updated to a new layout. 102 It will be in an inconsistent state until noted in the UPDATING 103 file, or with asami-san's message to the relevant mailing 104 lists. With this new layout, you'll need to update the whole 105 tree for anything to work. 106 10720000928: 108 There was a change in the passwd format. Need more information. 109 11020000916: 111 /boot/kernel/kernel.ko -> /boot/kernel/kernel change has taken 112 place. Please update boot loader (not the boot blocks) at the 113 same time as your kernel. 114 11520000914: 116 The new pmtimer device is necessary for laptops. Failure to 117 include the device will cause suspended laptops losing time 118 when they resume. Include 119 device pmtimer 120 in your config file and 121 hint.pmtimer.0.at="isa" 122 to your /boot/device.hints file. 123 12420000911: 125 The random device has been turned into a (pseudo-)device, 126 rather than an option. The supplied kernel config files have 127 been updated. You will need to do something similar in your 128 own kernel config file. 129 Remove: 130 options RANDOMDEV 131 Add: 132 device random 133 If you prefer to load the loadable module, you need to do 134 nothing. 135 13620000909: 137 The random device module has been renamed from randomdev.ko to 138 random.ko. You will need to edit your /boot/loader.conf to 139 reflect this if you load this module at boot time. 140 The line should read: 141 random_load="YES" 142 14320000907: 144 The SMPNG commit has happened. It should work, but if it 145 doesn't, fallback to the PRE_SMPNG CVS tag. There are likely 146 to be a variety of minor issues. Please see 20000905 to make 147 sure you don't have model loading problems which might at 148 first blush appear related to SMP. 149 15020000906: 151 nsswitch has been imported from NetBSD. Among other things, 152 this means that /etc/host.conf is no longer used. See 153 nsswitch.conf(5) instead. Note that at boot time rc.network 154 will attempt to produce a new nsswitch.conf file for you if you 155 don't have one, and you have host.conf. 156 15720000905: 158 The ucred structure changed size. This breaks the interface 159 that mountd uses. Trying to use an older mountd with a newer 160 kernel guarantees a panic. This means that you need to use 161 kernels newer than today only with matching mountd, but you 162 needed to do that anyway with the boot loader changes. 163 16420000905: 165 The boot loader has been updated. The new default kernel is 166 now /boot/kernel/kernel.ko. The new default module location 167 is /boot/kernel. 168 169 You *MUST* upgrade your boot loader and kernel at the same time. 170 The easiest way to do this is to do the buildworld/buildkernel/ 171 installkernel/installworld dance. 172 173 Furthermore, you are urged to delete your old /modules directory 174 before booting the new kernel, since kldload will find stale 175 modules in that directory instead of finding them in the correct 176 path, /boot/kernel. The most common complaint that this cures 177 is that the linux module crashes your machine after the update. 178 179 if [ ! -d /boot/kernel.old ]; then 180 mv /modules.old /boot/kernel.old 181 chflags noschg /kernel.old 182 mv /kernel.old /boot/kernel.old/kernel.ko 183 chflags schg /boot/kernel.old/kernel.ko 184 fi 185 18620000904: 187 A new issue with the sendmail upgrade has come to light. 188 /etc/aliases has moved to /etc/mail/aliases. Mergemaster will 189 incorrectly install the default aliases in /etc/mail rather than 190 move the old one from /etc. So you'll need to manually move the 191 file, create a symbolic link, remove the old /etc/aliases.db and 192 run newaliases. For safety sake, you should stop sendmail 193 while doing this and run the upgrade when locally sourced email 194 is not likely to be generated. 195 19620000825: 197 /boot/device.hints is now required for installkernel to 198 succeed. You should copy GENERIC.hints for your architecture 199 into /boot/device.hints. If and only if you compile hints 200 into your kernel, then this file may be empty. Please note, 201 if you have an empty or missing /boot/device.hints file and 202 you neglected to compile hints into your kernel, no boot 203 messages will appear after the boot loader tries to start the 204 kernel. 205 20620000821: 207 If you do NOT have ``options RANDOMDEV'' in your kernel and 208 you DO want the random device then add randomdev_load="YES" to 209 /boot/loader.conf. 210 21120000812: 212 suidperl is now always built and installed on the system, but 213 with permissions of 511. If you have applications that use 214 this program, you are now required to add ENABLE_SUIDPERL=true 215 to /etc/make.conf. If you forget to do this, 216 chmod 4511 /usr/bin/suidperl 217 will fix this until the next build. 218 21920000812: 220 sendmail has been updated from 8.9.3 to 8.11.0. Some of the more 221 visible changes that may immediately affect your configuration 222 include: 223 - New default file locations from src/contrib/sendmail/cf/README 224 - newaliases limited to root and trusted users 225 - MSA port (587) turned on by default 226 - New queue file naming system so can't go from 8.11 -> 8.9 227 - FEATURE(`rbl') renamed to FEATURE(`dnsbl') 228 - FEATURE(`nullclient') is more full featured 229 - FEATURE(`nouucp') requires an argument: `reject' or `nospecial' 230 - mail.local FreeBSD-only -b option changed to -B 231 - See src/contrib/sendmail/RELEASE_NOTES for more info 232 23320000810: 234 suidperl (aka sperl) is no longer build by default. You must 235 specifically define BUILD_SUIDPERL to "true" for it to be build. 236 Furthermore, we recommend that you remove /usr/bin/sperl* and 237 /usr/bin/suidperl files from your system unless you have a 238 specific use for it. 239 24020000729: 241 Networking defaults have been tightened. Anybody upgrading 242 /etc/defaults/rc.conf needs to add the following lines to 243 /etc/rc.conf if they want to have the same setup 244 afterwards (unless the variables already are set, of course): 245 # Enable network daemons for user convenience. 246 inetd_enable="YES" 247 portmap_enable="YES" 248 sendmail_enable="YES" 249 25020000728: 251 If you have null_load="YES" in your /boot/loader.conf, you 252 will need to change that to nullfs_load="YES". 253 25420000728: 255 The "installkernel" target has changed slightly. Now even if 256 you override KERNEL e.g. 'make installkernel KERNEL=MYKERNEL' 257 it will install the MYKERNEL file (built with the buildkernel 258 target) as /kernel rather than /MYKERNEL. Those who have 259 updated their /boot/loader.conf files to point to /MYKERNEL 260 should remove that entry or perform manual rename of /kernel 261 to /MYKERNEL. 262 26320000711: 264 If you use CVSUP or CTM to get CVS trees, AND you used to get 265 the old crypto files from internat.freebsd.org AND you check 266 out files from the CVS tree with the cvs command, please read 267 http://people.freebsd.org/~imp/internat.txt 268 for details on potential problems that you might have and how 269 to get around them. 270 271 If you are merely a mirror, or don't answer yes to each of the 272 clauses above, you needn't worry. 273 27420000711: 275 /etc/security has been updated to print the inode number of 276 setuid programs that have changed. You will see a large spike 277 in the number of changed programs the first time when you run 278 mergemaster to get a new /etc/security. 279 28020000710: 281 /dev/random now has good entropy collection (from the keyboard 282 and sysmouse drivers). Please ensure that either `options 283 RANDOMDEV' is present in your kernel config file or that 284 `randomdev_load="YES"' is in your /boot/loader.conf. If you do 285 not have the /dev/random driver, OpenSSL (and consequently 286 lots of crypto tools (like SSH)) will fail with strange 287 errors. (see below, 20000624). 288 289 FreeBSD-current is safe again to run Crypto. 290 29120000709: 292 phk made the malloc default options AJ. This may slow things 293 down and uncover other latent bugs in the code. If you need to 294 run at full speed, you can disable this by doing the following: 295 ln -s aj /etc/malloc.conf 296 29720000706: 298 libftpio's version was accidentally bumped a few days ago. This 299 has been corrected. You may need to remove /usr/lib/libftpio.so.6 300 before doing your next buildworld/installworld pair. It certainly 301 won't hurt to remove it before the update procedure. It will 302 break fetch until a new one is built, but ftp can be used in the 303 interim if needed. 304 30520000705: 306 The crypto packages have changed for the cvsup. This has been done 307 in a backward compatible way, but the old packages will go away at 308 some point in the future. Look at /usr/share/examples/cvsup for 309 details. 310 31120000704: 312 With the new sys/modules/sound/drivers/*, you will need to 313 set SYSDIR until you do an installworld after July 7th. 314 31520000704: 316 rc.shutdown and rc will now call the rc.d scripts with start 317 or stop. This may cause some harmless warnings from older 318 rc.d scripts that haven't been updated. 319 32020000630: 321 The libfetch based version of fetch has gone into the tree. 322 Minor problems may result on some of the less popular sites, 323 which should be reported to des@freebsd.org. 324 32520000625: 326 From approximately this date forward, one must have the crypto 327 system installed in order to build the system and kernel. 328 While not technically strictly true, one should treat it as 329 required and grab the crypto bits. If you are grabbing CVS 330 trees, src-all and cvs-crypto should be treated as if they 331 were required. You should check with the latest collections 332 to make sure that these haven't changed. 333 33420000624: 335 Mark Murray just committed the first parts of a cleanup of 336 /dev/zero, et al. This is also cleaning up /dev/random. 337 The entropy is disconnected, so DO NOT USE VERSIONS OF FREEBSD 338 -CURRENT FROM THIS POINT FORWARD for cryptographic services 339 until Mark can merge in the fixes to this work in progress. 340 openssh and openssl should not be used to generate keys from this 341 date to the completion of the work. 342 343 If you must operate at this reduced level of security, add ' 344 options RANDOMDEV' to your kernel or modload the randomdev 345 module. You may also need to copy a new MAKEDEV to /dev and 346 recreate the random and urandom devices. 347 34820000622: 349 The license on the softupdates is now a standard 2 clause 350 BSD license. You may need to remove your symbolic links 351 that used to be required when updating. 352 35320000621: 354 Scott Flatman <sf@aracnet.com> sent in a decent write-up on 355 the config file update procedure. 356 http://people.freebsd.org/~imp/config-upd.html 357 NOTE: LINT is gone. It has been replaced with NOTES. NOTES 358 isn't buildable. However, you can generate a LINT file. 359 36020000620: 361 Binutils 2.10 have hit the tree, or will shortly. As soon 362 as they do, the problem noted in 20000522 will be resolved and 363 that workaround will no longer be required. 364 36520000615: 366 phk removed the compatibility creation of wd devices in the 367 ad driver. If you haven't done so already, you must update 368 your fstab, etc to use the ad devices instead of the wd 369 devices. 370 371 In addition, you'll need to update your boot blocks to a 372 more modern version, if you haven't already done so. Modern 373 here means 4.0 release or newer (although older releases 374 may work). 375 37620000612: 377 Peter took an axe to config(8). Be sure that you read his mail 378 on the topic before even thinking about updating. You will 379 need to create a /boot/device.hints or add a hints directive 380 to your config file to compile them in statically. The format 381 of the config file has changed as well. Please see GENERIC or 382 NEWCARD for examples of the new format. 383 38420000522: 385 A new set of binutils went into the tree today. Anybody 386 building a kernel after this point is advised that they need 387 to rebuild their binutils (or better yet do a 388 buildworld/installworld) before building a new kernel. 389 390 Due to bugs in binutils, using malloc options (eg /etc/malloc.conf 391 or MALLOC_OPTIONS env var) J will cause ld to dump core. It 392 is recommended that you don't set this option until the problem 393 is resolved. 394 39520000513: 396 The ethernet drivers were all updated to clean up the BPF handling. 397 39820000510: 399 The problems with boot blocks on the alphas have been corrected. 400 This will require some care in updating alphas. A new libstand 401 is requires for the boot blocks to build properly. 402 40320000503: 404 Recompile all kld modules. Proper version dependency info 405 is now available. 406 40720000502: 408 Modules have been disconnected from the buildworld tree and 409 connected to the kernel building instead. 410 41120000427: 412 You may need to build gperf 413 cd /usr/src/gnu/usr.bin/gperf && make depend all install 414 when upgrading from 4.0 -> current. The build system now uses 415 an option only in -current. 416 41720000417: 418 The method that we brand ELF binaries has changed to be more 419 acceptable to the binutils maintainers. You will need to 420 rebrand your ELF binaries that aren't native. One problem 421 binary is the Linux ldconfig. After your make world, but 422 before you reboot, you'll need to issue: 423 brandelf -t Linux /compat/linux/sbin/ldconfig 424 if you have Linux compatibility enabled on your machine. 425 42620000320: 427 If you have really bad/marginal IDE drives, you may find they 428 don't work well. Use pio mode instead. The easiest way to 429 cope if you have a problem combination is to add: 430 /sbin/sysctl -w hw.atamodes=pio,pio,pio,pio 431 to the start of /etc/rc.conf. 432 43320000319: 434 The ISA and PCI compatibility shims have been connected to the 435 options COMPAT_OLDISA and COMPAT_OLDPCI. If you are using old 436 style PCI or ISA drivers (i.e. tx, voxware, etc.) you must 437 include the appropriate option in your kernel config. Drivers 438 using the shims should be updated or they won't ship with 439 5.0-RELEASE, targeted for 2001. 440 44120000318: 442 We've entered the traditional post release dumping party. 443 Large kernel changes are being committed and are in the 444 works. It is important to keep the systems' klds and kernel 445 in sync as kernel interfaces and structures are changing. 446 Before reporting kernel panics, make sure that all modules 447 that you are loading are up to date. 448 44920000315: 450 If you are upgrading from an older version of FreeBSD, you 451 need to update your boot blocks as well. 'disklabel -B ad0' 452 will do the trick. This isn't critical until you remove your 453 wd device entries in /dev, at which point your system will not 454 boot. 455 45620000315: 457 4.0 RELEASE shipped. Please see the 4.0 UPDATING file for how 458 to upgrade to 4.0 from 3.x. 459 460COMMON ITEMS: 461 462 General Notes 463 ------------- 464 Avoid using make -j when upgrading. From time to time in the 465 past there have been problems using -j with buildworld and/or 466 installworld. This is especially true when upgrading between 467 "distant" versions (eg one that cross a major release boundary 468 or several minor releases, or when several months have passed 469 on the -current branch). 470 471 To build a kernel 472 ----------------- 473 If you are updating from a prior version of FreeBSD (even one just 474 a few days old), you should follow this procedure. With a 475 /usr/obj tree with a fresh buildworld, 476 make buildkernel KERNCONF=YOUR_KERNEL_HERE 477 make installkernel KERNCONF=YOUR_KERNEL_HERE 478 479 To just build a kernel when you know that it won't mess you up 480 -------------------------------------------------------------- 481 cd src/sys/{i386,alpha}/conf 482 config KERNEL_NAME_HERE [1] 483 cd ../../compile/KERNEL_NAME_HERE 484 make depend 485 make 486 make install 487 488 [1] If in doubt, -r might help here. 489 490 If this fails, go to the "To build a kernel" section. 491 492 To rebuild everything and install it on the current system. 493 ----------------------------------------------------------- 494 make world 495 Build a new kernel, see above. 496 497 To upgrade from 4.x-stable to current 498 ------------------------------------- 499 make buildworld 500 make buildkernel KERNCONF=YOUR_KERNEL_HERE 501 cp src/sys/${MACHINE_ARCH}/GENERIC.hints /boot/device.hints [2] 502 make installkernel KERNCONF=YOUR_KERNEL_HERE 503 make installworld 504 [1] 505 <reboot> 506 507 Make sure that you've read the UPDATING file to understand the 508 tweaks to various things you need. At this point in the life 509 cycle of current, things change often and you are on your own 510 to cope. The defaults can also change, so please read ALL of 511 the UPDATING entries. 512 513 Also, if you are tracking -current, you must be subscribed to 514 freebsd-current@freebsd.org. Make sure that before you update 515 your sources that you have read and understood all the recent 516 messages there. If in doubt, please track -stable which has 517 much fewer pitfalls. 518 519 [1] If you have third party modules, such as vmware, you 520 should disable them at this point so they don't crash your 521 system on reboot. 522 523 [2] If you have legacy ISA devices, you may need to create 524 your own device.hints to reflect your unique hardware 525 configuration. 526 527FORMAT: 528 529This file contains a list, in reverse chronological order, of major 530breakages in tracking -current. Not all things will be listed here, 531and it only starts on March 15, 2000. Updating files can found in 532previous releases if your system is older than this. 533 534Please filter your entries through Warner Losh (imp@village.org) so 535that the style, formatting, etc of this file can be maintained. 536 537$FreeBSD$ 538