UPDATING revision 82141
1238106SdesUpdating Information for FreeBSD current users 2238106Sdes 3238106SdesThis file is maintained and copyrighted by M. Warner Losh 4238106Sdes<imp@village.org>. Please send new entries directly to him. See end 5238106Sdesof file for further details. For commonly done items, please see the 6238106SdesCOMMON ITEMS: section later in the file. 7238106Sdes 8238106Sdes20010709: 9238106Sdes The PAM libraries have had an API upgrade that is beyond 10238106Sdes the ability of the shared library major number to handle. 11238106Sdes It is manifested by PAM-using ports dumping core. The 12238106Sdes solution is to rebuild those ports. 13238106Sdes 14238106Sdes20010628: 15238106Sdes The kernel compile module has moved from src/sys/compile/FOO 16238106Sdes to src/sys/${MACHINE}/compile/FOO. 17238106Sdes 18238106Sdes20010625: 19238106Sdes The pccard modem issue has been corrected. OLDCARD support is 20238106Sdes still a little weak in -current. slot 1 is known not to work 21238106Sdes on some TI based cardbus bridges. Some cardbus bridges do not 22238106Sdes properly detect insert/removal events. IRQ configuration needs 23238106Sdes more safety belts. 24269257Sdes 25269257Sdes20010617: 26269257Sdes Softupdates problems have been corrected. 27269257Sdes 28269257Sdes20010614: 29269257Sdes Peter ripped out the linkerset support. You must, as always, 30269257Sdes rerun config after you cvsup if you are using the traditional 31269257Sdes kernel building methods. 32269257Sdes 33269257Sdes20010613: 34238106Sdes pccard modems may not work with current after 20010604 date. Some 35238106Sdes do, others result in panics. *MAKE*SURE* that you update your 36238106Sdes config and /etc/rc.conf ala the 20010604 entry, or you will have 37238106Sdes problems (this issue will be fixed, it just hasn't been yet). 38238106Sdes 39238106Sdes20010613: 40238106Sdes SOFTUPDATES seem to be broken since the middle of May or so. Do not 41238106Sdes use them in current. You can disable softupdates on all mounted 42238106Sdes partitions, or remove SOFTUPDATES the kernel config file. 43238106Sdes 44238106Sdes20010612: 45238106Sdes After Peter's commits to the hints code, people have been noticing 46238106Sdes that certain devices are attached (or try to) twice. This is due 47238106Sdes to having both static hints as well as a /boot/device.hints. To 48238106Sdes work around this issue, please use only one or the other mechanism 49238106Sdes until this bug is fixed. 50238106Sdes 51238106Sdes Please note that a feature of config is that if you have config 52238106Sdes file FOO and FOO.hints, it automatically adds FOO.hints to the 53238106Sdes hints.c file, wheather you want it to or not. 54238106Sdes 55238106Sdes20010610: 56238106Sdes Locale names have changed to match other systems better. 57238106Sdes 58238106Sdes20010604: 59238106Sdes pccard support for pci cards has been committed. You must change 60238106Sdes your /etc/pccard.conf irq lines. It must match the irq used by 61238106Sdes pcic device. Interrupt storms may result if you fail to do this. 62238106Sdes Interrupt storms look a lot like a hang. 63238106Sdes 64238106Sdes You must also install a new pccardd, otherwise you will get an 65238106Sdes interrupt storm at card reset time (just after it tells you what 66291767Sdes it is). 67291767Sdes 68269257Sdes pccardd_flags="-I" is necessary for the time being. It tells pccardd 69238106Sdes not to ask the kernel if the interrupt is really free or not before 70238106Sdes using it. You can either change the /etc/pccard.conf irq lines to 71238106Sdes match pcic, or add "-i X" to the pccardd_flags. 72238106Sdes 73238106Sdes20010530: 74238106Sdes INSTALL=install -C is being deprecated. If you want to do this, 75238106Sdes use COPY=-C instead. The former method will be supported for only 76269257Sdes a limited time. If you see 77238106Sdes 78269257Sdesinstall: warning: the -d and -C options may not be specified together 79291767Sdes 80291767Sdes in your makeworld, then you need to migrate towards using 81238106Sdes COPY=-C. 82238106Sdes 83238106Sdes20010525: 84238106Sdes It appears that vm is now stable enough to use again. However, 85238106Sdes there may be other problems, so caution is still urged. alpha 86238106Sdes definitely is in bad shape. 87238106Sdes 88238106Sdes20010521: 89238106Sdes Minor repo damanged has happened. This may cause problems 90238106Sdes with cvsup of ports. If you get errors, please see 91238106Sdes http://www.FreeBSD.org/cgi/query-pr.cgi?pr=27495 92238106Sdes at the bottom for details on a workaround. The error message 93238106Sdes is 94238106SdesUpdater failed: Cannot delete "/usr/ports/www/jakarta-tomcat/files": Directory not empty 95238106Sdes 96238106Sdes20010520: 97238106Sdes Vm and/or swapping are busted on -current. Please be patient. 98238106Sdes 99238106Sdes20010519: 100238106Sdes pccard has had much reorganizational work done to it over 101238106Sdes the past few days. Everything should still work, but if 102238106Sdes not, please contact imp@freebsd.org. 103238106Sdes 104238106Sdes20010517: 105238106Sdes ata ioctl changed. Make sure to recompile both kernel and 106238106Sdes userland at the same time. 107238106Sdes 108238106Sdes20010517: 109238106Sdes New ncurses imported. 110238106Sdes 111238106Sdes20010512: 112238106Sdes DEVFS is now opt out, not opt in. Barring major problems, this 113238106Sdes will be the only way to go starting July 1. 114238106Sdes 115238106Sdes20010502: 116238106Sdes Perl breakage in 20010501 was corrected at 14:18:33 PDT. 117238106Sdes 118238106Sdes20010501: 119238106Sdes Building perl was broken at 02:25:25 PDT. 120238106Sdes 121238106Sdes20010430: 122238106Sdes The bug in 20010429 was corrected at 07:35:37 PDT. It is safe to 123238106Sdes go back in the water. 124238106Sdes 125238106Sdes20010429: 126238106Sdes A bad bug was committed at 04:48:42 PDT. Don't use kernels after 127238106Sdes this date, but before the correction date. 128238106Sdes 129238106Sdes20010423: 130238106Sdes old fsck and new kernel interactions appear to have been fixed. 131238106Sdes 132238106Sdes20010411: 133238106Sdes fsck and the kernel were changed to handle some optimizations 134238106Sdes to directory layout. This breaks backward compatibility. 135238106Sdes Update only if you understand that you must not use the old 136238106Sdes fsck with the new kernel ever. 137238106Sdes 138238106Sdes20010330: 139238106Sdes fsck has changed the meaning of the pass column in /etc/fstab. 140238106Sdes Please see the cvs commit to fsck.8 or the fsck.8 man page for 141238106Sdes details. It is unclear if changes to /etc/fstab are necessary. 142238106Sdes 143238106Sdes20010319: 144269257Sdes portmap had changed name to rpcbind for maximum POLA in your 145238106Sdes current world. /etc/hosts.{allow,deny} needs changes. nfs and 146238106Sdes other rpc based programs that rely on portmapper will not work 147238106Sdes without updates to /etc/hosts.{allow,deny} and /etc/netconfig. 148238106Sdes 149238106Sdes20010315: 150238106Sdes ata subsystem changes. ATA_ENABLE_ATAPI_DMA, ATA_ENABLE_WC 151238106Sdes and ATA_ENABEL_TAGS are no longer kernel options. They have 152238106Sdes been replaced by tunables. See ata.4 for details. 153238106Sdes 154238106Sdes20010312: 155238106Sdes The fxp driver was converted to use miibus. If you compile 156238106Sdes fxp into your kernel statically, you will need to add miibus. 157238106Sdes 158238106Sdes20010312: 159238106Sdes The wi device now defaults to BSS (infrastructure) mode 160238106Sdes instead of ad-hoc. 161238106Sdes 162238106Sdes20010310: 163238106Sdes /dev/urandom should be a symbolic link to /dev/random now. 164238106Sdes Users of current not using DEVFS need to run MAKEDEV std. 165238106Sdes ssh might not work if you don't. 166238106Sdes 167238106Sdes20010303: 168238106Sdes The ed driver has been updated. It now allows mii attachments, 169238106Sdes which means that you must include the miibus in your kernel if 170238106Sdes you use the ed driver. 171238106Sdes 172238106Sdes20010220: 173238106Sdes The problems with libc have been corrected. It is now mostly 174238106Sdes safe to go back into the water. 175238106Sdes 176238106Sdes20010211: 177238106Sdes The size of FILE was changed. This breaks upgrading. If 178238106Sdes you must upgrade, be prepared for pain. It also breaks almost 179238106Sdes all binaries that you've compiled on -current. You are warned 180238106Sdes that before upgrading would be a good time to do a level 0 181238106Sdes dump of your system. No, really, I mean it this time. 182238106Sdes 183238106Sdes To get to the new system, you'll need to use the following 184238106Sdes workaround. Hopefully this can be sorted out so that we 185238106Sdes don't have to move this to the updating section. 186238106Sdes 187238106Sdes To get around the installworld problem, do: 188238106Sdes # cd /usr/src/usr.bin/sed 189238106Sdes # make install 190238106Sdes # cd /usr/src 191238106Sdes # make installworld 192238106Sdes If that doesn't work, then try: 193238106Sdes # make -k installworld 194238106Sdes # make installworld 195238106Sdes 196238106Sdes20010207: 197238106Sdes DEVFS is now the default. If you use vinum, make sure that you 198238106Sdes do not include devfs in your kernel as problems result. 199238106Sdes 200238106Sdes20010205: 201238106Sdes FFS_ROOT and CD9660_ROOT have been removed or deprecated. 202238106Sdes Remove them from your config. 203238106Sdes 204238106Sdes20010122: 205238106Sdes ****************************** WARNING ****************************** 206238106Sdes buildkernel has been changed slightly 207238106Sdes ****************************** WARNING ****************************** 208238106Sdes KERNCONF replaces the variable KERNEL for buildkernel. You 209238106Sdes should update your scripts and make.conf accordingly. 210238106Sdes 211238106Sdes20010119: 212238106Sdes config has changed to allow DEV_FOO as a replacement for NFOO. 213238106Sdes This requires a new config to build correctly. 214238106Sdes 215238106Sdes20010116: 216238106Sdes The kerrnel option I386_CPU is now mutually exclusive with the 217238106Sdes other cpu types. If you have an i386 system, be sure that it 218238106Sdes only had this line. Remove it for all other configurations. 219238106Sdes 220238106Sdes20010110: 221238106Sdes Changes to the kernel require it and burncd be in sync. 222238106Sdes 223238106Sdes20010102: 224238106Sdes Everyone who has hw.sndunit set to something in 225238106Sdes /etc/sysctl.conf, it is now hw.snd.unit. 226269257Sdes 227238106Sdes20010101: 228238106Sdes ex and vi were broken by some changes to sys/queue.h. If you 229238106Sdes have a bad vi, you will see make buildworld fail with a core 230238106Sdes dump while building termcap. You can work around this problem 231238106Sdes by adding -k to your make buildworld. This will cause the 232238106Sdes build to complete and install a new vi. Once that's done, you 233238106Sdes can rebuild again without the -k to pick up anything that 234238106Sdes might have been ignored by the -k option. 235238106Sdes 236269257Sdes Others have suggested that you can just rebuild libc if your 237238106Sdes vi/ex is dynamically linked, but I've not received any reports 238238106Sdes of this working. 239238106Sdes 240238106Sdes20001228: 241238106Sdes There have been some changes to libcrypt in -current. The 242238106Sdes libscrypt/libdescrypt symlink sillyness is gone and the installed 243238106Sdes libcrypt is fully functional. Be aware of this. 244238106Sdes 245238106Sdes20001218: 246238106Sdes Linksys Fast Ethernet PCCARD cards supported by the ed driver 247238106Sdes now require the addition of flag 0x80000 to their config line 248238106Sdes in pccard.conf(5). This flag is not optional. These Linksys 249238106Sdes cards will not be recognized without it. 250238106Sdes 251238106Sdes20001205: 252238106Sdes Important new FreeBSD-version stuff: PAM support has been worked 253238106Sdes in, partially from the "Unix" OpenSSH version. This requires 254238106Sdes adding the following in pam.conf: 255238106Sdes 256238106Sdes sshd auth sufficient pam_skey.so 257238106Sdes sshd auth required pam_unix.so try_first_pass 258238106Sdes sshd session required pam_permit.so 259238106Sdes 260238106Sdes20001031: 261238106Sdes cvs updated to 1.11. 262238106Sdes 263238106Sdes20001020: 264238106Sdes The random device needs more entropy, so you need to make sure 265238106Sdes that you've run mergemaster to get a /etc/rc which will seed 266269257Sdes /dev/random. If you don't and the system hangs after ldconfig, 267238106Sdes then banging on the keyboard randomly until it unhangs is one 268238106Sdes workaround. 269238106Sdes 270238106Sdes20001010: 271238106Sdes ****************************** WARNING ****************************** 272238106Sdes Sendmail has been updated. 273238106Sdes ****************************** WARNING ****************************** 274238106Sdes o mail.local(8) is no longer installed as a set-user-id binary. 275238106Sdes o sendmail(8) is now built with STARTTLS support unless NO_OPENSSL 276238106Sdes is set. 277269257Sdes o The default /etc/mail/sendmail.cf disables the SMTP EXPN and VRFY 278238106Sdes commands. 279238106Sdes o Now using sendmail's version of vacation(1). 280238106Sdes o The sendmail cf building tools (contrib/sendmail/cf) are installed 281238106Sdes in /usr/share/sendmail/cf. 282238106Sdes o sendmail.cw changed to local-host-names 283238106Sdes 284238106Sdes More details can be found at 285238106Sdes http://people.freebsd.org/~imp/UPDATING/sendmail-20001010 286238106Sdes 287238106Sdes20001009: 288238106Sdes The ports tree's new layout is in place. Be sure to update 289238106Sdes your entire ports tree, or you will have problems. 290238106Sdes 291238106Sdes20001006: 292238106Sdes The perl build procedure no longer installs miniperl, nor uses 293269257Sdes the installed miniperl. It is recommended that you delete 294238106Sdes /usr/bin/miniperl. 295238106Sdes 296238106Sdes20001005: 297238106Sdes This weekend the ports tree will be updated to a new layout. 298238106Sdes It will be in an inconsistent state until noted in the UPDATING 299238106Sdes file, or with asami-san's message to the relevant mailing 300238106Sdes lists. With this new layout, you'll need to update the whole 301238106Sdes tree for anything to work. 302238106Sdes 303238106Sdes20000928: 304 There was a change in the passwd format. Need more information. 305 30620000916: 307 /boot/kernel/kernel.ko -> /boot/kernel/kernel change has taken 308 place. Please update boot loader (not the boot blocks) at the 309 same time as your kernel. 310 31120000914: 312 The new pmtimer device is necessary for laptops. Failure to 313 include the device will cause suspended laptops losing time 314 when they resume. Include 315 device pmtimer 316 in your config file and 317 hint.pmtimer.0.at="isa" 318 to your /boot/device.hints file. 319 32020000911: 321 The random device has been turned into a (pseudo-)device, 322 rather than an option. The supplied kernel config files have 323 been updated. You will need to do something similar in your 324 own kernel config file. 325 Remove: 326 options RANDOMDEV 327 Add: 328 device random 329 If you prefer to load the loadable module, you need to do 330 nothing. 331 33220000909: 333 The random device module has been renamed from randomdev.ko to 334 random.ko. You will need to edit your /boot/loader.conf to 335 reflect this if you load this module at boot time. 336 The line should read: 337 random_load="YES" 338 33920000907: 340 The SMPNG commit has happened. It should work, but if it 341 doesn't, fallback to the PRE_SMPNG CVS tag. There are likely 342 to be a variety of minor issues. Please see 20000905 to make 343 sure you don't have model loading problems which might at 344 first blush appear related to SMP. 345 34620000906: 347 nsswitch has been imported from NetBSD. Among other things, 348 this means that /etc/host.conf is no longer used. See 349 nsswitch.conf(5) instead. Note that at boot time rc.network 350 will attempt to produce a new nsswitch.conf file for you if you 351 don't have one, and you have host.conf. 352 35320000905: 354 The ucred structure changed size. This breaks the interface 355 that mountd uses. Trying to use an older mountd with a newer 356 kernel guarantees a panic. This means that you need to use 357 kernels newer than today only with matching mountd, but you 358 needed to do that anyway with the boot loader changes. 359 36020000905: 361 The boot loader has been updated. The new default kernel is 362 now /boot/kernel/kernel.ko. The new default module location 363 is /boot/kernel. 364 365 You *MUST* upgrade your boot loader and kernel at the same time. 366 The easiest way to do this is to do the buildworld/buildkernel/ 367 installkernel/installworld dance. 368 369 Furthermore, you are urged to delete your old /modules directory 370 before booting the new kernel, since kldload will find stale 371 modules in that directory instead of finding them in the correct 372 path, /boot/kernel. The most common complaint that this cures 373 is that the linux module crashes your machine after the update. 374 375 if [ ! -d /boot/kernel.old ]; then 376 mv /modules.old /boot/kernel.old 377 chflags noschg /kernel.old 378 mv /kernel.old /boot/kernel.old/kernel.ko 379 chflags schg /boot/kernel.old/kernel.ko 380 fi 381 38220000904: 383 A new issue with the sendmail upgrade has come to light. 384 /etc/aliases has moved to /etc/mail/aliases. Mergemaster will 385 incorrectly install the default aliases in /etc/mail rather than 386 move the old one from /etc. So you'll need to manually move the 387 file, create a symbolic link, remove the old /etc/aliases.db and 388 run newaliases. For safety sake, you should stop sendmail 389 while doing this and run the upgrade when locally sourced email 390 is not likely to be generated. 391 39220000825: 393 /boot/device.hints is now required for installkernel to 394 succeed. You should copy GENERIC.hints for your architecture 395 into /boot/device.hints. If and only if you compile hints 396 into your kernel, then this file may be empty. Please note, 397 if you have an empty or missing /boot/device.hints file and 398 you neglected to compile hints into your kernel, no boot 399 messages will appear after the boot loader tries to start the 400 kernel. 401 40220000821: 403 If you do NOT have ``options RANDOMDEV'' in your kernel and 404 you DO want the random device then add randomdev_load="YES" to 405 /boot/loader.conf. 406 40720000812: 408 suidperl is now always built and installed on the system, but 409 with permissions of 511. If you have applications that use 410 this program, you are now required to add ENABLE_SUIDPERL=true 411 to /etc/make.conf. If you forget to do this, 412 chmod 4511 /usr/bin/suidperl 413 will fix this until the next build. 414 41520000812: 416 sendmail has been updated from 8.9.3 to 8.11.0. Some of the more 417 visible changes that may immediately affect your configuration 418 include: 419 - New default file locations from src/contrib/sendmail/cf/README 420 - newaliases limited to root and trusted users 421 - MSA port (587) turned on by default 422 - New queue file naming system so can't go from 8.11 -> 8.9 423 - FEATURE(`rbl') renamed to FEATURE(`dnsbl') 424 - FEATURE(`nullclient') is more full featured 425 - FEATURE(`nouucp') requires an argument: `reject' or `nospecial' 426 - mail.local FreeBSD-only -b option changed to -B 427 - See src/contrib/sendmail/RELEASE_NOTES for more info 428 42920000810: 430 suidperl (aka sperl) is no longer build by default. You must 431 specifically define BUILD_SUIDPERL to "true" for it to be build. 432 Furthermore, we recommend that you remove /usr/bin/sperl* and 433 /usr/bin/suidperl files from your system unless you have a 434 specific use for it. 435 43620000729: 437 Networking defaults have been tightened. Anybody upgrading 438 /etc/defaults/rc.conf needs to add the following lines to 439 /etc/rc.conf if they want to have the same setup 440 afterwards (unless the variables already are set, of course): 441 # Enable network daemons for user convenience. 442 inetd_enable="YES" 443 portmap_enable="YES" 444 sendmail_enable="YES" 445 44620000728: 447 If you have null_load="YES" in your /boot/loader.conf, you 448 will need to change that to nullfs_load="YES". 449 45020000728: 451 The "installkernel" target has changed slightly. Now even if 452 you override KERNEL e.g. 'make installkernel KERNEL=MYKERNEL' 453 it will install the MYKERNEL file (built with the buildkernel 454 target) as /kernel rather than /MYKERNEL. Those who have 455 updated their /boot/loader.conf files to point to /MYKERNEL 456 should remove that entry or perform manual rename of /kernel 457 to /MYKERNEL. 458 45920000711: 460 If you use CVSUP or CTM to get CVS trees, AND you used to get 461 the old crypto files from internat.freebsd.org AND you check 462 out files from the CVS tree with the cvs command, please read 463 http://people.freebsd.org/~imp/internat.txt 464 for details on potential problems that you might have and how 465 to get around them. 466 467 If you are merely a mirror, or don't answer yes to each of the 468 clauses above, you needn't worry. 469 47020000711: 471 /etc/security has been updated to print the inode number of 472 setuid programs that have changed. You will see a large spike 473 in the number of changed programs the first time when you run 474 mergemaster to get a new /etc/security. 475 47620000710: 477 /dev/random now has good entropy collection (from the keyboard 478 and sysmouse drivers). Please ensure that either `options 479 RANDOMDEV' is present in your kernel config file or that 480 `randomdev_load="YES"' is in your /boot/loader.conf. If you do 481 not have the /dev/random driver, OpenSSL (and consequently 482 lots of crypto tools (like SSH)) will fail with strange 483 errors. (see below, 20000624). 484 485 FreeBSD-current is safe again to run Crypto. 486 48720000709: 488 phk made the malloc default options AJ. This may slow things 489 down and uncover other latent bugs in the code. If you need to 490 run at full speed, you can disable this by doing the following: 491 ln -s aj /etc/malloc.conf 492 49320000706: 494 libftpio's version was accidentally bumped a few days ago. This 495 has been corrected. You may need to remove /usr/lib/libftpio.so.6 496 before doing your next buildworld/installworld pair. It certainly 497 won't hurt to remove it before the update procedure. It will 498 break fetch until a new one is built, but ftp can be used in the 499 interim if needed. 500 50120000705: 502 The crypto packages have changed for the cvsup. This has been done 503 in a backward compatible way, but the old packages will go away at 504 some point in the future. Look at /usr/share/examples/cvsup for 505 details. 506 50720000704: 508 With the new sys/modules/sound/drivers/*, you will need to 509 set SYSDIR until you do an installworld after July 7th. 510 51120000704: 512 rc.shutdown and rc will now call the rc.d scripts with start 513 or stop. This may cause some harmless warnings from older 514 rc.d scripts that haven't been updated. 515 51620000630: 517 The libfetch based version of fetch has gone into the tree. 518 Minor problems may result on some of the less popular sites, 519 which should be reported to des@freebsd.org. 520 52120000625: 522 From approximately this date forward, one must have the crypto 523 system installed in order to build the system and kernel. 524 While not technically strictly true, one should treat it as 525 required and grab the crypto bits. If you are grabbing CVS 526 trees, src-all and cvs-crypto should be treated as if they 527 were required. You should check with the latest collections 528 to make sure that these haven't changed. 529 53020000624: 531 Mark Murray just committed the first parts of a cleanup of 532 /dev/zero, et al. This is also cleaning up /dev/random. 533 The entropy is disconnected, so DO NOT USE VERSIONS OF FREEBSD 534 -CURRENT FROM THIS POINT FORWARD for cryptographic services 535 until Mark can merge in the fixes to this work in progress. 536 openssh and openssl should not be used to generate keys from this 537 date to the completion of the work. 538 539 If you must operate at this reduced level of security, add ' 540 options RANDOMDEV' to your kernel or modload the randomdev 541 module. You may also need to copy a new MAKEDEV to /dev and 542 recreate the random and urandom devices. 543 54420000622: 545 The license on the softupdates is now a standard 2 clause 546 BSD license. You may need to remove your symbolic links 547 that used to be required when updating. 548 54920000621: 550 Scott Flatman <sf@aracnet.com> sent in a decent write-up on 551 the config file update procedure. 552 http://people.freebsd.org/~imp/config-upd.html 553 NOTE: LINT is gone. It has been replaced with NOTES. NOTES 554 isn't buildable. However, you can generate a LINT file. 555 55620000620: 557 Binutils 2.10 have hit the tree, or will shortly. As soon 558 as they do, the problem noted in 20000522 will be resolved and 559 that workaround will no longer be required. 560 56120000615: 562 phk removed the compatibility creation of wd devices in the 563 ad driver. If you haven't done so already, you must update 564 your fstab, etc to use the ad devices instead of the wd 565 devices. 566 567 In addition, you'll need to update your boot blocks to a 568 more modern version, if you haven't already done so. Modern 569 here means 4.0 release or newer (although older releases 570 may work). 571 57220000612: 573 Peter took an axe to config(8). Be sure that you read his mail 574 on the topic before even thinking about updating. You will 575 need to create a /boot/device.hints or add a hints directive 576 to your config file to compile them in statically. The format 577 of the config file has changed as well. Please see GENERIC or 578 NEWCARD for examples of the new format. 579 58020000522: 581 A new set of binutils went into the tree today. Anybody 582 building a kernel after this point is advised that they need 583 to rebuild their binutils (or better yet do a 584 buildworld/installworld) before building a new kernel. 585 586 Due to bugs in binutils, using malloc options (eg /etc/malloc.conf 587 or MALLOC_OPTIONS env var) J will cause ld to dump core. It 588 is recommended that you don't set this option until the problem 589 is resolved. 590 59120000513: 592 The ethernet drivers were all updated to clean up the BPF handling. 593 59420000510: 595 The problems with boot blocks on the alphas have been corrected. 596 This will require some care in updating alphas. A new libstand 597 is requires for the boot blocks to build properly. 598 59920000503: 600 Recompile all kld modules. Proper version dependency info 601 is now available. 602 60320000502: 604 Modules have been disconnected from the buildworld tree and 605 connected to the kernel building instead. 606 60720000427: 608 You may need to build gperf 609 cd /usr/src/gnu/usr.bin/gperf && make depend all install 610 when upgrading from 4.0 -> current. The build system now uses 611 an option only in -current. 612 61320000417: 614 The method that we brand ELF binaries has changed to be more 615 acceptable to the binutils maintainers. You will need to 616 rebrand your ELF binaries that aren't native. One problem 617 binary is the Linux ldconfig. After your make world, but 618 before you reboot, you'll need to issue: 619 brandelf -t Linux /compat/linux/sbin/ldconfig 620 if you have Linux compatibility enabled on your machine. 621 62220000320: 623 If you have really bad/marginal IDE drives, you may find they 624 don't work well. Use pio mode instead. The easiest way to 625 cope if you have a problem combination is to add: 626 /sbin/sysctl -w hw.atamodes=pio,pio,pio,pio 627 to the start of /etc/rc.conf. 628 62920000319: 630 The ISA and PCI compatibility shims have been connected to the 631 options COMPAT_OLDISA and COMPAT_OLDPCI. If you are using old 632 style PCI or ISA drivers (i.e. tx, voxware, etc.) you must 633 include the appropriate option in your kernel config. Drivers 634 using the shims should be updated or they won't ship with 635 5.0-RELEASE, targeted for 2001. 636 63720000318: 638 We've entered the traditional post release dumping party. 639 Large kernel changes are being committed and are in the 640 works. It is important to keep the systems' klds and kernel 641 in sync as kernel interfaces and structures are changing. 642 Before reporting kernel panics, make sure that all modules 643 that you are loading are up to date. 644 64520000315: 646 If you are upgrading from an older version of FreeBSD, you 647 need to update your boot blocks as well. 'disklabel -B ad0' 648 will do the trick. This isn't critical until you remove your 649 wd device entries in /dev, at which point your system will not 650 boot. 651 65220000315: 653 4.0 RELEASE shipped. Please see the 4.0 UPDATING file for how 654 to upgrade to 4.0 from 3.x. 655 656COMMON ITEMS: 657 658 General Notes 659 ------------- 660 Avoid using make -j when upgrading. From time to time in the 661 past there have been problems using -j with buildworld and/or 662 installworld. This is especially true when upgrading between 663 "distant" versions (eg one that cross a major release boundary 664 or several minor releases, or when several months have passed 665 on the -current branch). 666 667 To build a kernel 668 ----------------- 669 If you are updating from a prior version of FreeBSD (even one just 670 a few days old), you should follow this procedure. With a 671 /usr/obj tree with a fresh buildworld, 672 make buildkernel KERNCONF=YOUR_KERNEL_HERE 673 make installkernel KERNCONF=YOUR_KERNEL_HERE 674 675 To just build a kernel when you know that it won't mess you up 676 -------------------------------------------------------------- 677 cd src/sys/{i386,alpha}/conf 678 config KERNEL_NAME_HERE [1] 679 cd ../../compile/KERNEL_NAME_HERE 680 make depend 681 make 682 make install 683 684 [1] If in doubt, -r might help here. 685 686 If this fails, go to the "To build a kernel" section. 687 688 To rebuild everything and install it on the current system. 689 ----------------------------------------------------------- 690 make world 691 Build a new kernel, see above. 692 693 To upgrade from 4.x-stable to current 694 ------------------------------------- 695 make buildworld 696 make buildkernel KERNCONF=YOUR_KERNEL_HERE 697 cp src/sys/${MACHINE_ARCH}/conf/GENERIC.hints /boot/device.hints [2] 698 make installkernel KERNCONF=YOUR_KERNEL_HERE 699 reboot in single user [3] 700 make installworld 701 mergemaster [4] 702 [1] 703 <reboot> 704 705 Make sure that you've read the UPDATING file to understand the 706 tweaks to various things you need. At this point in the life 707 cycle of current, things change often and you are on your own 708 to cope. The defaults can also change, so please read ALL of 709 the UPDATING entries. 710 711 Also, if you are tracking -current, you must be subscribed to 712 freebsd-current@freebsd.org. Make sure that before you update 713 your sources that you have read and understood all the recent 714 messages there. If in doubt, please track -stable which has 715 much fewer pitfalls. 716 717 [1] If you have third party modules, such as vmware, you 718 should disable them at this point so they don't crash your 719 system on reboot. 720 721 [2] If you have legacy ISA devices, you may need to create 722 your own device.hints to reflect your unique hardware 723 configuration. 724 725 [3] From the bootblocks, boot -s, and then do 726 fsck -p 727 mount -u / 728 mount -a 729 cd /usr/src 730 adjkerntz -i # if COMS is wall time 731 732 [4] Note: This step is non-optional. Failure to do this step 733 can result in a significant reduction in the functionality of the 734 system. Attempting to do it by hand is not recommended and those 735 that pursue this avenue should read this file carefully, as well 736 as the archives of freebsd-current and freebsd-hackers mailing lists 737 for potential gotchas. 738 739FORMAT: 740 741This file contains a list, in reverse chronological order, of major 742breakages in tracking -current. Not all things will be listed here, 743and it only starts on March 15, 2000. Updating files can found in 744previous releases if your system is older than this. 745 746Please filter your entries through Warner Losh (imp@village.org) so 747that the style, formatting, etc of this file can be maintained. 748 749Copyright information: 750 751Copyright 1998, 2001 M. Warner Losh. All Rights Reserved. 752 753Redistribution, translation and use, with or without modification, in 754full or in part, are permitted provided that the above copyright 755notice is retained. 756 757THIS DOCUMENT IS PROVIDED BY WARNER LOSH ``AS IS'' AND ANY EXPRESS OR 758IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 759WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 760DISCLAIMED. IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT, 761INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 762(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 763SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 764HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 765STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 766IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 767POSSIBILITY OF SUCH DAMAGE. 768 769If you find this document useful, and you want to, you may buy the 770author a beer. 771 772$FreeBSD: head/UPDATING 82141 2001-08-22 15:44:19Z imp $ 773