UPDATING revision 136617
1Updating Information for FreeBSD current users 2 3This file is maintained and copyrighted by M. Warner Losh 4<imp@village.org>. See end of file for further details. For commonly 5done items, please see the COMMON ITEMS: section later in the file. 6 7Items affecting the ports and packages system can be found in 8/usr/ports/UPDATING. Please read that file before running 9portupgrade. Important recent entries: 20040724 (default X changes). 10 11[[ The UPDATING file will be trimmed to 20040814 on or about Oct 1, 2004 ]] 12 13NOTE TO PEOPLE WHO THINK THAT FreeBSD 6.x IS SLOW: 14 FreeBSD 6.x has many debugging features turned on, in 15 both the kernel and userland. These features attempt to detect 16 incorrect use of system primitives, and encourage loud failure 17 through extra sanity checking and fail stop semantics. They 18 also substantially impact system performance. If you want to 19 do performance measurement, benchmarking, and optimization, 20 you'll want to turn them off. This includes various WITNESS- 21 related kernel options, INVARIANTS, malloc debugging flags 22 in userland, and various verbose features in the kernel. Many 23 developers choose to disable these features on build machines 24 to maximize performance. 25 2620041007: 27 The FreeBSD keyword is no longer a requirement for a valid 28 rc.d script. The rc(8) and rc.shutdown(8) scripts no longer check 29 for the existence of this keyword when ordering rc.d scripts. 30 This change touches most of the file in /etc/rc.d; therefore, 31 if you have not modified any files in that directory it may 32 be easier to rm -rf /etc/rc.d and then use the -i switch with 33 mergemaster(8). 34 3520041007: 36 One of the syscalls the 1:1 threading library libthr uses has 37 changed, thus breaking ABI compatibility. Make sure you rebuild 38 this library with the kernel. 39 4020041001: 41 The following libraries had their version number bumped up: 42 /lib/libm.so.2 -> libm.so.3 43 /lib/libreadline.so.4 -> libreadline.so.5 44 /usr/lib/libhistory.so.4 -> libhistory.so.5 45 /usr/lib/libopie.so.2 -> libopie.so.3 46 /usr/lib/libpcap.so.2 -> libpcap.so.3 47 FreeBSD 4.10 versions of these libraries will be added to the 48 compat4x collection. If you expect to be able to run old 4.X 49 executables you will need to remove the old versions of these 50 libraries. However note that any 5.X executables you have built 51 will stop working once you remove those old libraries. You should 52 have all your ports/packages rebuilt before removing the old 53 libraries. 54 5520040929: 56 The pfil API has gained an additional argument to pass an inpcb. 57 You should rebuild all pfil consuming modules: ipfw, ipfilter 58 and pf. 59 6020040928: 61 If named is enabled, the default is now to run it in a chroot 62 "sandbox." For users with existing configurations in 63 /etc/namedb the migration should be simple. Upgrade your 64 world as usual, then after installworld but before 65 mergemaster do the following: 66 67 If named is running: /etc/rc.d/named stop 68 cd /etc 69 mv namedb namedb.bak 70 mkdir -p /var/named/etc/namedb 71 cp -Rp namedb.bak/* /var/named/etc/namedb/ 72 mergemaster (with your usual options) 73 If using the generated localhost* files: 74 cd /var/named/etc/namedb 75 /bin/sh make-localhost 76 rm -f localhost-v6.rev localhost.rev 77 /etc/rc.d/syslogd restart 78 /etc/rc.d/named start 79 80 If you are using a custom configuration, or if you have 81 customised the named_* variables in /etc/rc.conf[.local] 82 then you may have to adjust the instructions accordingly. 83 It is suggested that you carefully examine the new named 84 variables in /etc/defaults/rc.conf and the options in 85 /var/named/etc/namedb/named.conf to see if they might 86 now be more suitable. 87 8820040925: 89 BIND 9 has been imported into the base, and is now fully 90 functional. BIND 8 has now been removed. There are numerous 91 differences between BIND 8 and 9, and users with critical 92 named installations should read the migration documentation 93 in /usr/share/doc/bind9/misc/migration. There is also a 94 new instruction manual in /usr/share/doc/bind9/arm. 95 96 The key differences that most users will experience are in 97 how picky BIND 9 is about zone file format. If you are using 98 named as a resolving (caching) name server, you will likely 99 not have trouble. 100 101 The following files are part of the old BIND 8 installation 102 and should be removed: 103 /usr/bin/dnskeygen /usr/bin/dnsquery /usr/libexec/named-xfer 104 /usr/sbin/named.restart /usr/sbin/ndc 105 106 The following files have moved to /usr/bin, and should be 107 removed from their old locations: 108 /usr/sbin/nslookup /usr/sbin/nsupdate 109 11020040914: 111 The format of the pflogd(8) logfile "/var/log/pflog" has changed for 112 architectures that have a 64 bit long type to make it compatible to 113 the standard pcap format. In order to prevent corruption move away 114 any old logfile before using a new pflogd(8). 115 11620040906: 117 debug.witness_* has been renamed to debug.witness.*. There are 118 compatibility tunables left in for a few days. Update loader.conf 119 as necessary. 120 12120040902: 122 The ifi_epoch change has been reverted because the ABI breakage 123 was too extensive. If you are running with a kernel/userland 124 containing the initial change (20040830), you should heed the 125 warning about ifconfig incompatibility when upgrading again. 126 With this change, 5.3 and 6.0 ifconfigs and kernels are once 127 again interoperable. 128 12920040830: 130 A new variable, ifi_epoch, has been added to struct if_data 131 which is part if struct ifnet. This means all network drivers 132 and network monitoring applications need to be recompiled. 133 134 WARNING WARNING WARNING WARNING WARNING WARNING WARNING 135 136 This also breaks ifconfig compatibility. An old ifconfig will 137 not work with the new kernel and a new ifconfig will not work 138 with the old. It is strongly recommended that you make a copy 139 of your old ifconfig before installworld. If you are installing 140 remotely, you must copy over a new ifconfig before rebooting in 141 to the new kernel. 142 14320040828: 144 The default configuration for the network stack has been changed 145 such that it now runs without the Giant lock unless configured 146 otherwise. If you experience network-related instability, you 147 may wish to try setting "debug.mpsafenet=0" or compiling the 148 kernel with "options NET_WITH_GIANT". Details on the netperf 149 project may be found at: 150 151 http://www.watson.org/~robert/freebsd/netperf/ 152 153 Including the 20040828 announcement of configuration change 154 details. 155 15620040827: 157 PFIL_HOOKS are a fixed part of the network stack now and do not 158 need to be specified in the kernel configuration file anymore. 159 16020040819: 161 Netgraph changed its message format slightly to align the data 162 portion well on 64 bit machines. 163 Netgraph using utilities (e.g. ngctl, nghook, ppp, mpd, 164 pppoed, bluetooth, ATM) should be recompiled when a new kernel 165 is installed. 166 16720040817: 168 IPFW has been converted to use PFIL_HOOKS. This change is 169 transparent to userland and preserves the ipfw ABI. The ipfw 170 core packet inspection and filtering functions have not been 171 changed, only how ipfw is invoked is different. Note that 172 "option PFIL_HOOKS" is required to use IPFIREWALL compiled 173 into the kernel or as KLD. 174 17520040814: 176 The RANDOM_IP_ID option has been replaced by the sysctl 177 net.inet.ip.random_id. If you had RANDOM_IP_ID in your kernel then 178 you may want to add "net.inet.ip.random_id=1" to /etc/sysctl.conf. 179 18020040807: 181 The size of 'struct ifnet' has changed due to the addition of the 182 if_carp placeholder. All kernel modules implementing network 183 interfaces must be recompiled as a result. 184 18520040806: 186 Module loading has been fixed. Some older installations will 187 drop proper module_path initialization and modules will fail to 188 load properly. If you have a line in /boot/loader.rc that says: 189 "initialize drop", do (i386 only): 190 cp /usr/src/sys/boot/i386/loader/loader.rc /boot/loader.rc 191 chown root:wheel /boot/loader.rc 192 chmod 444 /boot/loader.rc 193 19420040802: 195 making /dev/(null|zero) into a module proved to be too unpopular, 196 so this bit has been revoked from the previous (20040801) entry. 197 19820040801: 199 The /dev/mem, /dev/io /dev/(null/zero) devices are now modules, 200 so you may wish to add them to your kernel config file. See 201 GENERIC for examples. 202 20320040728: 204 System compiler has been upgraded to GCC 3.4.2-pre. As with any major 205 compiler upgrade, there are several issues to be aware of. GCC 3.4.x 206 has broken C++ ABI compatibility with previous releases yet again 207 and users will have to rebuild all their C++ programs with the new 208 compiler. If you are getting run-time error such as 209 /libexec/ld-elf.so.1: Undefined symbol "_ZNSs20_S_empty_rep_storageE" 210 This entry does apply to you. 211 212 A new unit-at-a-time optimization mode, which is default in this 213 compiler release, is more aggressive in removing unused static 214 symbols. This is the likely cause of 'make buildworld' breakages 215 with non-default CFLAGS where optimization level is set to -O2 216 or higher. 217 218 With the upgrade of the system compiler, the kernel has been upgraded 219 to match the new system compiler. This makes it impossible to build 220 a new kernel with the old compiler. Upgrade your system via 221 make buildworld and make kernel (see below) to fix this problem. 222 22320040727: 224 The size of 'struct ifnet' has changed due to the addition of 225 the IFF_NEEDSGIANT flag (and what it implies). All kernel 226 modules implementing network interfaces must be recompiled as 227 a result. 228 22920040716: 230 The sound device drivers are renamed. `sound' is always required, 231 while `snd_*' should be configured accordingly to your hardware. 232 Refer to NOTES for the detail of the drivers. 233 23420040710: 235 __FreeBSD_version bumped to 502122. 236 23720040710: 238 The console initialization on Alpha has been reworked and is now 239 identical to other platforms. This means that the hardcoding of 240 the serial console and the debug port has been removed. As such, 241 hints are now required for the sio(4) driver to become a console 242 or debug port. The NO_SIO option has been decommissioned because 243 of this. 244 24520040710: 246 A revamp of the debugging code in the kernel with some visible 247 changes beyond just the debugging experience: 248 o The DDB option is now specific to the DDB debugger backend 249 and should not be used any more for conditional compilation 250 of debugging code for when debugging is enabled. Use the KDB 251 option for this. 252 o The WITNESS_DDB, DDB_TRACE and DDB_UNATTENDED options have 253 been renamed to WITNESS_KDB, KDB_TRACE and KDB_UNATTENDED 254 respectively. This is in line with the first bullet. 255 o The remote GDB support has been untangled from DDB and needs 256 to be enabled separately now. Use the GDB option for this. 257 o The GDB_REMOTE_CHAT option has been removed. Support for this 258 homegrown feature is discontinued. The GDB remote protocol 259 supports console output and it makes sense to use that. 260 o The DDB_NOKLDSYM option has been removed. The DDB debugger 261 now supports both direct symbol table lookups as well as KLD 262 symbol lookups through the linker. 263 26420040708: 265 Bluetooth code has been marked as non-i386 specific. 266 __FreeBSD_version has been bumped to 502121 to mark this change. 267 26820040702: 269 The native preemption has been added to the kernel scheduler. 270 There is some report that the ULE scheduler was broken in some 271 machines and we encourage users using the ULE scheduler either 272 stick with a known good kernel, or temporarily switch to the 4BSD 273 scheduler as a workaround. 274 27520040630: 276 The netgraph ABI version number has been incremented to indicate 277 an incompatible change in the ABI. Old netgraph nodes will refuse 278 to attach until recompiled. Netgraph now uses mbuf tags to move 279 metadata and this commit removes its home-grown metadata facility. 280 Nodes should just recompile, unless they use metadata, in which 281 case the changes are simple; the file ng_ksocket.c serves as an 282 example of such changes. 283 284 This also broke i4b, although the compile problem has been papered 285 over. 286 28720040630: 288 ACPI has been updated to disable known-bad BIOS revisions. A message 289 will be printed on the console indicating that ACPI has been disabled 290 automatically and that the user should use a newer BIOS, if possible. 291 If you think ACPI does work on your system and want to override 292 this (i.e., for testing), set hint.acpi.0.disabled="0" at the 293 loader prompt. 294 29520040623: 296 pf was updated to OpenBSD-stable 3.5 and pflogd(8) is privilege 297 separated now. It uses the newly created "_pflogd" user/group 298 combination. If you plan to use pflogd(8) make sure to run 299 mergemaster -p or install the "_pflogd" user and group manually. 300 30120040622: 302 Network interface cloning has been overhauled. This change will 303 require a recompile of modules using cloning and modification of 304 external ones to the new API. __FreeBSD_version has been bumped 305 to 502119 to mark this change. Additionally, users creating 306 stf(4) interfaces via "ifconfig stf" will need to update their 307 scripts as this will create an interface named "stf" instead of 308 "stf0" and ifconfig will not print "stf0" to stdout. 309 31020040621: 311 On 20040524, the /etc/rc.d/nsswitch script was modified to 312 automatically create /etc/nsswitch.conf on startup if it did 313 not already exist. Unfortunately, an error in the man page 314 was carried over to the script, resulting in incorrect 315 nsswitch settings. The simplest remedy is to remove both 316 /etc/nsswitch.conf and /etc/host.conf; they will be recreated 317 during the next reboot. 318 31920040614: 320 The return value of sema_timedwait(9) has been changed to 321 make it consistent with cv_timedwait(9). Be sure to recompile 322 the ips module and any third-party modules which call 323 sema_timedwait. 324 32520040613: 326 ALTQ is now linked to the build. This breaks ABI for struct ifnet. 327 Make sure to recompile modules and any userland that makes use of 328 sizeof(struct ifnet). In order to get the altq headers in place 329 please recompile and reinstall world. 330 33120040607: 332 Splitting kern_thread.c into 2 files (adding kern_kse.c) 333 requires that you re-run config after updating your tree. 334 33520040601: 336 The MIDI drivers have been removed. Until the new module-friendly 337 ones are merged, remove or comment out midi and seq from your 338 kernel configuration. 339 34020040423: 341 Due to a new option in ipfw (versrcreach) the ipfw(8) command 342 needs to be recompiled. Normal accept/reject rules without 343 options are not affected but those with options may break until 344 ipfw(8) is recompiled. 345 34620040420: 347 Due to changes in the callout ABI, kernels compiled after this 348 date may be incompatible with kernel modules compiled prior to 349 20040406. 350 35120040414: 352 The PCI bus power state stuff has been turned on. If this causes 353 problems for your system, please disable it using the tunable 354 hw.pci.do_powerstate=0. 355 35620040412: 357 The bulk of the pci problems have been fixed, although the floppy 358 drive is still broken. 359 36020040410: 361 A substantial update to the pci bus resource and power management 362 have been committed. Expect a bumpy ride for a few days until 363 the unanticipated problems have been resolved. 364 36520040409: 366 Due to changes in the the Yarrow initialization process, 367 /dev/random needs to be fed before operations requiring 368 temp files can succeed in single user mode. This includes 369 running "make installworld". /dev/random may be fed by running 370 "/etc/rc.d/initrandom start" or with 20040415 source by running 371 "/etc/rc.d/preseedrandom". 372 37320040322: 374 The debug.mpsafenet tunable controls whether the kernel Giant 375 lock is held across the lower levels of the network stack, and 376 by default is turned off. In the few days following 20040322, 377 the behavior of debug.mpsafenet will change such that this 378 tunable controls Giant over all levels of the network stack. 379 If you are currently setting debug.mpsafenet to 1, you should 380 set it back to 0 (the default) again during the change-over. 381 An additional note will be added to UPDATING when sufficient 382 locking is merged to permit this to take place. 383 38420040310: 385 The FreeBSD/sparc64 platform is changing time_t from 32-bits to 386 64-bits. This is a very major incompatible change, so people 387 using FreeBSD/sparc64 *must* read the UPDATING.64BTT file for 388 detailed instructions on how to make this upgrade. People 389 upgrading FreeBSD on other platforms can ignore this event. 390 39120040308: 392 The packet filter (pf) is now installed with the base system. Make 393 sure to run mergemaster -p before installworld to create required 394 user account ("proxy"). If you do not want to build pf with your 395 system you can use the NO_PF knob in make.conf. 396 Also note that pf requires "options PFIL_HOOKS" in the kernel. The 397 pf system consists of the following three devices: 398 device pf # required 399 device pflog # optional 400 device pfsync # optional 401 40220040303: 403 If you are having trouble with the libc_r -> libpthread transition 404 (see the 20040130 entry), place the following lines at the top of 405 /etc/libmap.conf: 406 407 libc_r.so.5 libpthread.so.1 408 libc_r.so libpthread.so 409 410 This will cause all programs and libraries linked against libc_r 411 to use libpthread instead. 412 41320040226: 414 Some sshd configuration defaults have changed: protocol version 1 415 is no longer enabled by default, and password authentication is 416 disabled by default if PAM is enabled (which it is by default). 417 OpenSSH clients should not be affected by this; other clients may 418 have to be reconfigured, upgraded or replaced. 419 42020040225: 421 The ABIs defined in <resolv.h> and <netdb.h> have been updated 422 to support improved reentrancy. Multi-threaded programs that 423 reference the "_res" or "h_errno" symbols may experience some 424 problems if they are not recompiled. Single-threaded programs 425 should remain unaffected. 426 42720040225: 428 routed has been updated in the base system from the vendor 429 sources, routed v2.27, from rhyolite.com. This change means that 430 for users who use RIP's MD5 authentication feature, FreeBSD 431 -CURRENT's routed is now incompatible with previous versions 432 of FreeBSD; however it is now compatible with implementations 433 from Sun, Cisco and other vendors. 434 43520040224: 436 The tcpcb structure has changed and makes a recompile of libkvm 437 and related userland network utilities necessary. 438 43920040222: 440 The cdevsw structure has changed in two externally visible ways. 441 First, the sense of the D_GIANT flag has changed to D_NEEDSGIANT. 442 Second, the d_version field must be filled in with D_VERSION. 443 Drivers outside the tree will need to be updated. 444 44520040207: 446 The /etc/rc.d/ttys script has been removed. It is no longer 447 necessary since devfs has been mandatory for some time. 448 44920040130: 450 libkse has been renamed back to libpthread and is now the 451 default threads library. The gcc -pthread option has also 452 been changed to link to libpthread instead of libc_r. For 453 alpha and sparc64 machines, libkse is not renamed and links 454 are installed so that libpthread points to libc_r. Until 455 the ports system is updated to handle this change, it is 456 recommended that folks install an /etc/libmap.conf(5) that 457 maps libc_r to libpthread. If you have any binaries or 458 libraries linked to libkse, then it is also recommended 459 that you map libkse to libpthread. Anyone that is using 460 nvidia supplied drivers and libraries should use a libmap.conf 461 that maps libpthread to libc_r since their drivers/libraries 462 do not work with libpthread. 463 46420040125: 465 ULE has entered into its probationary period as the default scheduler 466 in GENERIC. For the average user, interactivity is reported to be 467 better in many cases. On SMP machines ULE will be able to make more 468 efficient use of the available parallel resources. If you are not 469 running it now, please switch over, replacing the kernel option 470 SCHED_4BSD with SCHED_ULE. 471 47220040125: 473 Move LongRun support out of identcpu.c, where it hardly 474 belongs, into its own file and make it opt-in, not mandatory, 475 depending on CPU_ENABLE_LONGRUN config(8) option. 476 47720031213: 478 src/lib/libc/gen/initgroups.c:1.8 now causes logins to fail 479 if the login process is unable to successfully set the 480 process credentials to include all groups defined for the 481 user. The current kernel limit is 16 groups; administrators 482 may wish to check that users do not have over 16 groups 483 defined, or they will be unable to log in. 484 48520031203: 486 The ACPI module has been reactivated. It is no longer required 487 to compile ACPI support into kernels statically. 488 48920031112: 490 The statfs structure has been updated with 64-bit fields to 491 allow accurate reporting of multi-terabyte filesystem 492 sizes. You should build world, then build and boot the new kernel 493 BEFORE doing a `installworld' as the new kernel will know about 494 binaries using the old statfs structure, but an old kernel will 495 not know about the new system calls that support the new statfs 496 structure. 497 Note that the backwards compatibility is only present when the 498 kernel is configured with the COMPAT_FREEBSD4 option. Since 499 even /bin/sh will not run with a new kernel without said option 500 you're pretty much dead in the water without it. Make sure you 501 have COMPAT_FREEBSD4! 502 Running an old kernel after a `make world' will cause programs 503 such as `df' that do a statfs system call to fail with a bad 504 system call. Marco Wertejuk <wertejuk@mwcis.com> also reports 505 that cfsd (ports/security/cfs) needs to be recompiled after 506 these changes are installed. 507 508 ****************************DANGER******************************* 509 510 DO NOT make installworld after the buildworld w/o building and 511 installing a new kernel FIRST. You will be unable to build a 512 new kernel otherwise on a system with new binaries and an old 513 kernel. 514 51520031112: 516 Some netgraph string length constants have been changed. This 517 change requires the netgraph kernel modules and all netgraph 518 userland components to be in sync. Especially users who require 519 netgraph to boot need to make sure to have world and kernel in 520 sync before rebooting. 521 52220031111: 523 Hyperthreading logical CPU's are no longer probed by default 524 when using the MP Table. If ACPI is being used, then logical 525 CPUs will be probed if hyperthreading is enabled in the BIOS. 526 If ACPI is not being used and hyperthreading is enabled in the 527 BIOS, logical CPUs can be enabled by building a custom kernel 528 with the option MPTABLE_FORCE_HTT enabled. 529 53020031103: 531 The i386 APIC_IO kernel option has been replaced by 532 'device apic'. The ACPI module has also been temporarily 533 disabled, so ACPI must be statically compiled into your 534 kernel using 'device acpi' if you wish to use the ACPI driver. 535 53620031031: 537 The API and ABI of struct ifnet have been changed by removing 538 the if_name and if_unit members and replacing them with 539 if_xname, if_dname, and if_dunit. All network drivers and most 540 userland programs which include net/if_var.h must be updated 541 and recompiled. __FreeBSD_version has been bumped to 501113 to 542 reflect this change. 543 54420030928: 545 Changes to the cdevsw default functions have been made to remove 546 the need to specify nullopen() and nullclose() explicitly. 547 __FreeBSD_version bumped to 501110. 548 54920030926: 550 kiconv(3) has been added. mount_msdosfs(8), mount_ntfs(8) and 551 mount_cd9660(8) need to be in sync with kernel. 552 55320030925: 554 Configuring a system to use IPFILTER now requires that PFIL_HOOKS 555 also be explicitly configured. Previously this dependency was 556 magically handled through some cruft in net/pfil.h; but that has 557 been removed. Building a kernel with IPFILTER but not PFIL_HOOKS 558 will fail with obtuse errors in ip_fil.c. 559 56020030923: 561 Fix a bug in arplookup(), whereby a hostile party on a locally 562 attached network could exhaust kernel memory, and cause a system 563 panic, by sending a flood of spoofed ARP requests. See 564 FreeBSD-SA-03:14.arp. 565 56620030915: 567 A change to /etc/defaults/rc.conf now causes inetd to be started 568 with `-C 60' if it is not overridden in /etc/rc.conf. This 569 causes inetd to stop accepting connections from an IP address 570 that exceeds the rate of 60 connections per minute. 571 57220030829: 573 The following rc.d scripts have been removed and should be 574 deleted from your installation: atm2.sh atm3.sh devdb 575 localdaemons network1 network2 network3. Depending on when 576 you last updated world and used mergemaster(8) you may or 577 may not have problems during the rc boot sequence. The simplest 578 solution is an 'rm -rf /etc/rc.d/*' and then 'mergemaster -i'. 579 The atm2.sh atm3.sh and devdb scripts were removed some time 580 ago, so depending on when you installed -CURRENT these scripts 581 may or may not exist on your system. 582 58320030824: 584 ATAng has been committed. You need to build world as sys/ata.h 585 has changed, and userland atacontrol depends on it. 586 If you use ATA SW raids you need "device ataraid" in your 587 kernel config file, as it is no longer pulled in automatically. 588 58920030819: 590 The OFW_NEWPCI option has been turned on in the Sparc64 GENERIC kernel. 591 Among other things, this changes the device enumeration to be 592 closer to Solaris. Be aware that, this can even cause the machine 593 to not boot without manual intervention before the fstab is adjusted. 594 59520030728: 596 All current USB and Firewire quirks in da(4) have been deprecated 597 and will be removed for 5.2. If this causes failure for your 598 umass(4) devices, enable "options DA_OLD_QUIRKS" in your kernel 599 and send the output of "camcontrol inquiry da0" to scsi@freebsd.org 600 so the quirk can be re-enabled. 601 60220030724: 603 Problems with entry 20030714 have been corrected and no known issues 604 with /rescue and -j exist for host systems after this point in time. 605 60620030722: 607 FPU-less support has been removed from FreeBSD. Chances are you won't 608 notice. 386+387 support should still work after this change, but 609 it is now a minimum requirement for the i386 port that you have real 610 FPU hardware. 611 61220030714: 613 Some people are having problems with changes related to /rescue. 614 If you are building -j N, you will need to define NO_RESCUE. Others 615 will need to define it if /rescue has issues with their environment. 616 People should report those issues to current@. 617 61820030711: 619 gcc was upgraded to 3.3. You are advised to not build -DNOCLEAN 620 across this point. Further, it might be a good idea to remove 621 /usr/obj. 622 62320030610: 624 Remove deprecated locale names and transition period code 625 for them, finishing switching to the new scheme. Check your 626 LANG environment variable. 627 62820030609: 629 CCD has been changed to be a fully GEOMified class. Kernel 630 and ccdconfig(8) needs to be in sync, this is particularly 631 important to remember beforehand if your source tree is on 632 a ccd device. Consider making a copy of the old ccdconfig 633 into /boot/kernel.good or wherever you keep your backup 634 kernel. 635 63620030605: 637 There was a small window in which sed(1) was broken. If you 638 happen to have sed(1) installed during that window, which is 639 evidenced by an inability to build world with the failure 640 given below, you need to manually build and install sed(1) 641 (and only sed(1)) before doing anything else. This is a one- 642 time snafu. Typical failure mode: 643 644 In file included from /usr/src/contrib/binutils/bfd/targets.c:1092: 645 targmatch.h:7:1: null character(s) ignored 646 targmatch.h:12:1: null character(s) ignored 647 targmatch.h:16:1: null character(s) ignored 648 : 649 650 The window of "sed(1)-uction" is from Wed Jun 4 15:31:55 2003 UTC 651 to Thu Jun 5 12:10:19 2003 UTC (from rev 1.30 to rev 1.31 of 652 usr.bin/sed/process.c). 653 65420030505: 655 Kerberos 5 (Heimdal) is now built by default. Setting 656 MAKE_KERBEROS5 no longer has any effect. If you do NOT 657 want the "base" Kerberos 5, you need to set NO_KERBEROS. 658 65920030502: 660 groff has been updated. If you try to do a buildworld and 661 get an infinite loop in troff, update to May 4th or newer. If you 662 have a newer kernel than userland, you may need to set the OSRELDATE 663 to 500110 in your environment before starting a buildworld. 664 66520030501: 666 The old rc system has been removed. Please report any problems 667 to freebsd-rc@yahoogroups.com, and/or freebsd-current@freebsd.org. 668 Your personal versions of these files will not be removed, so you can 669 continue to use them. However, you should take great care when updating, 670 especially when using mergemaster, since the compatibility code that 671 utilizes these old scripts has also been removed. 672 67320030423: 674 A bug has been fixed in /dev/devctl which would cause devd 675 to hang on boot, were it not for a workaround in devd. The 676 work around in devd will be removed around 20030507. You 677 have until then to upgrade your kernel before updating 678 userland. In general, you should have a userland and 679 kernel that's in sync with each other. However, given the 680 effects of this bug (hang on boot when starting devd), some 681 allowances are made. 682 68320030329: 684 Alphas with libc from between 20030312 and 20030329 exhibit 685 floating point exceptions (FPEs), most notably in awk(1) 686 while upgrading the system through a buildworld. 687 688 So, to successfully upgrade your Alpha, you must either 689 downgrade your libc.so to a pre-20030312 version, or update 690 /usr/share/mk/bsd.cpu.mk to revision 1.26 which adds -mieee 691 to CFLAGS, then forcibly rebuild and install libc: 692 693 cd /usr/src/lib/libc && \ 694 make cleandir && make obj && \ 695 make -DNOMAN -DNOPROFILE all && \ 696 make -DNOMAN -DNOPROFILE install 697 69820030208: 699 sendmail 8.12.7 has been imported. It has one important 700 change for IPv6 users. The default submit.mc now uses 701 '[127.0.0.1]' instead of 'localhost' meaning only IPv4 is 702 used to connect to the MTA. Users on IPv6-only machines 703 will need to edit /etc/mail/submit.mc appropriately. 704 70520030128: 706 NODEVFS option has been removed and DEVFS thereby made standard. 707 This makes all references to MAKEDEV obsolete, and they should 708 be removed when convenient. 709 71020030126: 711 The name of the device for the ofw console has changed, sparc64 users 712 must run mergemaster to update their installed /etc/ttys. 713 71420030125: 715 The scheduler framework has grown a second scheduler and consequently 716 you must specify one and only one scheduler in your kernel config. 717 The cvs config files have been updated to use the old scheduler 718 which may be selected via 'options SCHED_4BSD'. If you would like 719 to try the new, much more experimental, scheduler please try 720 'options SCHED_ULE' and contribute to the arch@ discussion. 721 72220030115: 723 A new version of the wi driver has been imported into the tree. 724 One now must have device wlan in the config file for it to operate 725 properly. 726 727 In addition, there have been some changes to how wi devices are 728 configured for point to point links to bring it more in line 729 with the former way of doing things, as well as compatibility 730 with NetBSD. 731 73220021222: 733 For a period after the GCC 3.2.1 import (from 12/04 to 12/22), GCC 734 used an incompatible form of ABI for returning structures and unions 735 which FreeBSD's GCC maintainers were not aware of relative to previous 736 versions of FreeBSD. We have gone back to the ABI for now, and any 737 code compiled which is required to interoperate with other code (not 738 built at the same time) returning structs or unions should be 739 rebuilt. 740 74120021216: 742 A name change in /etc/netconfig has been reverted to stay 743 compatible with suns TIRPC and also with NetBSD. You need 744 to run mergemaster after make world. A new libc does still work 745 with an outdated /etc/netconfig for some time, but you'll get 746 a warning. This warning will be removed in 20030301. 747 74820021202: 749 The recent binutils upgrade marks a kernel flag day on 750 sparc64: modules built with the old binutils will not work 751 with new kernels and vice versa. Mismatches will result in 752 panics. Make sure your kernel and modules are in sync. 753 75420021029: 755 The value of IPPROTO_DIVERT has changed. Make sure to keep 756 your kernel, netstat, natd and any third-party DIVERT 757 consumers in sync. 758 75920021024: 760 Old, compatibility slices have been removed in GEOM kernels. 761 This means that you will have to update your /etc/fstab to 762 not use disk devices of the form /dev/ad0a. Instead, you 763 now must specify /dev/ad0s1a, or whatever slice your FreeBSD 764 partition really is on. The old device names have gone 765 away, so if you use them anywhere else, you must also adjust 766 those uses. (This doesn't affect the disks formatted in 767 the ``dangerously-dedicated'' mode.) 768 76920021023: 770 Alphas with kernels from between 20020830 and 20021023 and/or 771 rtld (ld-elf.so.1) older than 20021023 may experience problems 772 with groff while doing a buildworld (kernel: "out of memory", 773 fixed in rev 1.129 of kern/imgact_elf.c; rtld: "too few PT_LOAD 774 segments", fixed in rev 1.8 of libexec/rtld-elf/map_object.c). 775 776 So, to successfully upgrade your Alpha, you must either 777 upgrade your kernel and rtld first (which might be a bit 778 tricky), or avoid running the bootstrapped groff during the 779 "transitional" buildworld. To avoid running groff during the 780 transitional upgrade run make buildworld with -DNOMAN, 781 -DNO_SHAREDOCS, and -DNO_LPR. 782 78320020831: 784 gcc has been upgraded to 3.2. It is not all binary compatible 785 with earlier versions of gcc for c++ programs. All c++ 786 programs and libraries need to be recompiled. 787 788 Also, if you encounter g++ issues, rm /usr/include/g++/* before 789 doing an installworld to make sure that stale files are removed. 790 79120020827: 792 Our /etc/termcap now has all the entries from the XFree86 xterm 793 almost unchanged. This means xterm now supports color by default. 794 If you used TERM=xterm-color in the past you now should use 795 TERM=xterm. (xterm-color will lead to benign warnings). 796 79720020815: 798 A "bug" in gcc(1) that was hiding warning in system headers was 799 fixed. It's probably time to add -DNO_WERROR to your make line 800 again. 801 80220020729: 803 COPY is being deprecated. The 20010530 change was reverted, as 804 it causes far more pain than was expected, and to always compare 805 before installing, please use INSTALL="install -C" again. The 806 -C option is now silently ignored when used with the -d option. 807 80820020702: 809 Problems with libc_r clients like KDE and GNOME have been resolved. 810 There are still some minor problems with some signals but the 811 system is stable enough for general use again. SMP is less so than UP 812 but each can successfully complete multiple buildworlds. 813 Libkvm needs to be recompiled due to KSE. 814 81520020701: 816 Now would be a bad time to upgrade. Something in or near the 817 KSE commit totally broke programs using libc_r like KDE and 818 GNOME. 819 82020020511: 821 The k5su utility installed as part of Kerberos 5 is no longer 822 installed with the set-user-ID bit set by default. Add 823 ENABLE_SUID_K5SU=yes to /etc/make.conf to have it installed 824 with the set-user-ID bit set. 825 82620020510: 827 Gcc 3.1 debugging format (cc -g) has changed from STABS to DWARF2. 828 Unfortunately our native GDB (at version 4.18) does not understand 829 the DWARF2 debugging format. Thus you must use `gcc -gstabs+' to 830 generated debugging information for our native GDB. 831 83220020510: 833 Due to the way CVS works, it may not properly update src/contrib/gcc 834 to the 3.1 sources. The easiest fix is to `rm -rf' src/contrib/gcc 835 and then do a cvs update. 836 83720020421: 838 When exec'ing set[ug]id executables, the kernel now ensures that the 839 stdio file descriptors (0..2) are open. See FreeBSD-SA-02:23.stdio. 840 84120020404: 842 New sendmail startup scripts have been installed to make it 843 easier to use alternative MTAs with FreeBSD. Setting the rc.conf 844 variable sendmail_enable to "NO" no longer prevents any sendmail 845 daemons from starting. Instead, either set sendmail_enable to 846 "NONE" or change mta_start_script to a script for starting 847 an alternative MTA. Setting mta_start_script to "" will 848 also prevent any MTA from being started at boot. 849 85020020403: 851 UCONSOLE is no longer a valid kernel option. 852 85320020315: 854 FreeBSD 5.0 DP-1 was basically branched today. 855 85620020225: 857 Warnings are now errors in the kernel. Unless you are a developer, 858 you should add -DNO_WERROR to your make line. 859 86020020217: 861 sendmail 8.12.2 has been imported. The sendmail binary is no 862 longer a set-user-ID root binary and the infrastructure to support 863 command line mail submission has changed. Be sure to run 864 mergemaster (especially for updating /etc/rc, /etc/defaults/rc.conf, 865 and /etc/mail) and read /etc/mail/README for more details. 866 867 Due to the import of sendmail 8.12.2, a new user and group are 868 required in order for sendmail to run as a set-group-ID 869 binary. A 'make installworld' will use the new user and group 870 to set the owner and group of /var/spool/clientmqueue and will 871 fail if the new user and group do not exist. The 'smmsp' user 872 and group must be merged from src/etc/group and 873 src/etc/master.passwd before using 'make installworld'. 874 'mergemaster -p' will do this. You may need to install 875 mergemaster before this will work if you are updating from a 876 very old version of current. The updating recipe has changed 877 as of this date. 878 87920020112: 880 The preferred configuration method for PAM is now /etc/pam.d/ 881 rather than /etc/pam.conf. If you have an unmodified 882 pam.conf, just delete it after your next mergemaster run. If 883 you have local modifications, you can use 884 /usr/src/etc/pam.d/convert.pl to incorporate them into your 885 /etc/pam.d. 886 887 Please see the following url for more details: 888http://www.freebsd.org/cgi/mid.cgi?db=mid&id=<xzp6667fyoa.fsf@flood.ping.uio.no> 88920011229: 890 If anyone here is already using the new rc.conf(5) variable 891 networkfs_types, please note that it has changed 892http://www.freebsd.org/cgi/mid.cgi?db=mid&id=<9744.1009655556@axl.seasidesoftware.co.za> 893 89420011220: 895 sys/i4b/driver/i4b_ispppsubr.c has been retired. This file 896 started out its life in the ISDN4BSD project as an offspring 897 from sys/net/if_spppsubr.c, which eventually got a life of its 898 own. All the accumulated features and bug fixes of the i4b 899 version have now been merged back into the base system's 900 version now. The only user-visible change resulting from this 901 is that i4b's sppp(4) interfaces are to be managed with 902 spppcontrol(8) again, since ispppcontrol(8) has been retired 903 as well. (There has never been rc file support for 904 ispppcontrol in -current, but only in -stable. That will be 905 reverted by the time the changes are MFCed.) 906 90720011215: 908 The fdc(4) driver has been updated and now automatically 909 recognizes media in `standard' formats (like 1440 KB and 910 720 KB for a 3.5" high-density drive) when accessing the 911 default device node (e. g. /dev/fd0). The old variety of 912 floppy device nodes /dev/fd*.* is no longer present by 913 default, devices can be created (in DEVFS) on demand. They 914 will need to be customized then for `odd' densities using 915 fdcontrol(8). 916 91720011209: 918 The bugs in procfs' debugging support code have been fixed, 919 and truss(1) now works again. 920 92120011207: 922 Daily security checks have been split out to use the periodic(8) 923 scripts. Some change in configuration may be necessary. Please 924 see 925http://www.freebsd.org/cgi/mid.cgi?db=mid&id=<20011207155805.R8975@blossom.cjclark.org> 926 for details. 927 92820011204: 929 sos added VCD/SVCD support to ata driver and that needs the 930 kernel and burncd to be in sync. 931 93220011203: 933 The procfs pseudo-filesystem has now been converted to use the 934 pseudofs framework. If you have 'options PROCFS' in your 935 kernel config, you'll need to add 'options PSEUDOFS' if it's 936 not there already. 937 938 This change temporarily breaks truss(1); use ktrace(1) instead 939 until the issue has been resolved. 940 94120011202: 942 A security hole in OpenSSH involving `UseLogin yes' has been 943 patched. 944 94520011126: 946 You need to remove /usr/obj/.../usr.bin/tip before rebuilding 947 after this date. You need to do this only once. 948 94920011103: 950 Most of the awk issues have been resolved. Some rough 951 edges may be left, but for the most part things should be 952 back to "normal." For CURRENT's usual definition of "normal." 953 95420011030: 955 Awk has been upgraded to the one true awk from bell labs. Expect 956 choppy waves in the upgrade process. 957 95820011030: 959 The asr driver problem has been resolved. 960 96120011027: 962 Due to changes in other parts of the system, the asr driver 963 now causes the system to panic on boot. Do not use it pending 964 correction. Comment it out of any kernel config file that you 965 try to use from this date forward. 966 96720011025: 968 When crossbuilding, use TARGET=xxx where you used to use 969 MACHINE=xxx. You don't need to set TARGET_ARCH and TARGET, 970 unless you are changing both of them. To cross build pc98 on 971 an alpha, for example, you need to set TARGET=pc98 and 972 TARGET_ARCH=i386. 973 97420011001: 975 The kernel interface that burncd depends on has changed. 976 You must recompile both the kernel and userland applications 977 at the same time. 978 97920010929: 980 When crossbuilding, please set TARGET_ARCH rather than 981 MACHINE_ARCH to indicate the target. In the future, one will 982 set TARGET_MACHINE where you set MACHINE now. At the moment, 983 setting MACHINE alone for same MACHINE_ARCH machines works 984 (eg, you can build pc98 on an i386 machine and vice versa). 985 98620010927: 987 Some weird problems result from using ACPI on some machines. 988 To disable ACPI you can add 989 hint.acpi.0.disabled="1" 990 to /boot/loader.conf (or by putting set X=Y at the boot 991 loader "ok" prompt). 992 993 Alternatively, you can remove it from /boot/kernel/acpi.ko 994 or use the MODULES_OVERRIDE function in your kernel config 995 file and not list acpi in that list. 996 99720010924: 998 The buildworld has been fixed. You may need to install 999 the 4.x compatibility libraries for some old binaries 1000 to work. Add COMPAT4X=true to your /etc/make.conf to 1001 get them installed on every installworld, or execute the 1002 following to get them installed only once: 1003 cd src/lib/compat/compat4x.<arch> 1004 make all install 1005 You will see ``__stdoutp undefined'' until you do this. 1006 100720010919: 1008 There's a bug in the world build process. The cross-tools 1009 are build with the NEW headers, but the OLD libc.a. This 1010 leads to all kinds of problems with the new libc. A temporary 1011 workaround is to add 1012 CFLAGS="-O -pipe -D_OLD_STDIO" 1013 before building world when upgrading from 4.x to current. This 1014 can be removed afterwards. 1015 1016 A proper fix to the buildworld target is needed. 1017 101820010918: 1019 Peter has committed his new kthread nfs client/server code. 1020 NFS may be unstable after this date. 1021 102220010912: 1023 KSE has hit the tree. Lots of things are now different in 1024 the kernel. While a few problems were introduced in the 1025 initial commit, most of the major ones have been found and 1026 corrected. 1027 102820010901: 1029 In OLDCARD, CardBus bridges appear to be stable. The work 1030 arounds described in the 20010604 entry are now no longer 1031 necessary and will be ignored. Most insert/remove problems 1032 have been rectified around this date. 1033 103420010823: 1035 named now runs as user bind and group bind rather than as 1036 root. If named_enable is set to YES in /etc/rc.conf, ensure 1037 that user bind is available in /etc/passwd (using vipw(8)) 1038 and that group bind is available in /etc/group. Also make 1039 sure that user or group bind has read (and not write) 1040 permission for your name server configuration and that it 1041 has read and write permission for your slave zone files and 1042 directory. 1043 1044 If you wish to continue to run named as root (a less secure 1045 alternative), add a line to /etc/rc.conf saying 1046 1047 named_flags= 1048 104920010709: 1050 The PAM libraries have had an API upgrade that is beyond 1051 the ability of the shared library major number to handle. 1052 It is manifested by PAM-using ports dumping core. The 1053 solution is to rebuild those ports. 1054 105520010628: 1056 The kernel compile module has moved from src/sys/compile/FOO 1057 to src/sys/${MACHINE}/compile/FOO. 1058 105920010625: 1060 The pccard modem issue from 20010613 has been corrected. 1061 OLDCARD support is still a little weak in -current. slot 1 is 1062 known not to work on some TI based cardbus bridges. Some 1063 cardbus bridges do not properly detect insert/removal events. 1064 IRQ configuration needs more safety belts. 1065 106620010617: 1067 Softupdates problems have been corrected. 1068 106920010614: 1070 Peter ripped out the linkerset support. You must, as always, 1071 rerun config after you cvsup if you are using the traditional 1072 kernel building methods. 1073 107420010613: 1075 pccard modems may not work with current after 20010604 date. Some 1076 do, others result in panics. *MAKE*SURE* that you update your 1077 config and /etc/rc.conf ala the 20010604 entry, or you will have 1078 problems (this issue will be fixed, it just hasn't been yet). 1079 108020010613: 1081 SOFTUPDATES seem to be broken since the middle of May or so. Do not 1082 use them in current. You can disable softupdates on all mounted 1083 partitions, or remove SOFTUPDATES the kernel config file. 1084 108520010612: 1086 After Peter's commits to the hints code, people have been noticing 1087 that certain devices are attached (or try to) twice. This is due 1088 to having both static hints as well as a /boot/device.hints. To 1089 work around this issue, please use only one or the other mechanism 1090 until this bug is fixed. 1091 1092 Please note that a feature of config is that if you have config 1093 file FOO and FOO.hints, it automatically adds FOO.hints to the 1094 hints.c file, whether you want it to or not. 1095 109620010610: 1097 Locale names have changed to match other systems better. 1098 109920010604: 1100 pccard support for pci cards has been committed. You must change 1101 your /etc/pccard.conf irq lines. It must match the irq used by 1102 pcic device. Interrupt storms may result if you fail to do this. 1103 Interrupt storms look a lot like a hang. 1104 1105 You must also install a new pccardd, otherwise you will get an 1106 interrupt storm at card reset time (just after it tells you what 1107 it is). 1108 1109 pccardd_flags="-I" is necessary for the time being. It tells pccardd 1110 not to ask the kernel if the interrupt is really free or not before 1111 using it. You can either change the /etc/pccard.conf irq lines to 1112 match pcic, or add "-i X" to the pccardd_flags. 1113 111420010530: 1115 INSTALL=install -C is being deprecated. If you want to do this, 1116 use COPY=-C instead. The former method will be supported for only 1117 a limited time. If you see 1118 1119install: warning: the -d and -C options may not be specified together 1120 1121 in your makeworld, then you need to migrate towards using 1122 COPY=-C. 1123 112420010525: 1125 It appears that vm is now stable enough to use again. However, 1126 there may be other problems, so caution is still urged. alpha 1127 definitely is in bad shape. 1128 112920010521: 1130 Minor repo damage has happened. This may cause problems 1131 with cvsup of ports. If you get errors, please see 1132 http://www.FreeBSD.org/cgi/query-pr.cgi?pr=27495 1133 at the bottom for details on a workaround. The error message 1134 is 1135Updater failed: Cannot delete "/usr/ports/www/jakarta-tomcat/files": Directory not empty 1136 113720010520: 1138 Vm and/or swapping are busted on -current. Please be patient. 1139 114020010519: 1141 pccard has had much reorganizational work done to it over 1142 the past few days. Everything should still work, but if 1143 not, please contact imp@freebsd.org. 1144 114520010517: 1146 ata ioctl changed. Make sure to recompile both kernel and 1147 userland at the same time. 1148 114920010517: 1150 New ncurses imported. 1151 115220010512: 1153 DEVFS is now opt out, not opt in. Barring major problems, this 1154 will be the only way to go starting July 1. 1155 115620010504: 1157 OpenSSH has been updated to 2.9. Some defaults are different, 1158 including RhostsRSAAuthentication, which changes from yes to no. 1159 116020010502: 1161 Perl breakage in 20010501 was corrected at 14:18:33 PDT. 1162 116320010501: 1164 Building perl was broken at 02:25:25 PDT. 1165 116620010430: 1167 The bug in 20010429 was corrected at 07:35:37 PDT. It is safe to 1168 go back in the water. 1169 117020010429: 1171 A bad bug was committed at 04:48:42 PDT. Don't use kernels after 1172 this date, but before the correction date. 1173 117420010423: 1175 old fsck and new kernel interactions appear to have been fixed. 1176 117720010411: 1178 fsck and the kernel were changed to handle some optimizations 1179 to directory layout. This breaks backward compatibility. 1180 Update only if you understand that you must not use the old 1181 fsck with the new kernel ever. 1182 118320010330: 1184 fsck has changed the meaning of the pass column in /etc/fstab. 1185 Please see the cvs commit to fsck.8 or the fsck.8 man page for 1186 details. It is unclear if changes to /etc/fstab are necessary. 1187 118820010319: 1189 portmap had changed name to rpcbind for maximum POLA in your 1190 current world. /etc/hosts.{allow,deny} needs changes. nfs and 1191 other rpc based programs that rely on portmapper will not work 1192 without updates to /etc/hosts.{allow,deny} and /etc/netconfig. 1193 119420010315: 1195 ata subsystem changes. ATA_ENABLE_ATAPI_DMA, ATA_ENABLE_WC 1196 and ATA_ENABLE_TAGS are no longer kernel options. They have 1197 been replaced by tunables. See ata.4 for details. 1198 119920010312: 1200 The fxp driver was converted to use miibus. If you compile 1201 fxp into your kernel statically, you will need to add miibus. 1202 120320010312: 1204 The wi device now defaults to BSS (infrastructure) mode 1205 instead of ad-hoc. 1206 120720010310: 1208 /dev/urandom should be a symbolic link to /dev/random now. 1209 Users of current not using DEVFS need to run MAKEDEV std. 1210 ssh might not work if you don't. 1211 121220010303: 1213 The ed driver has been updated. It now allows mii attachments, 1214 which means that you must include the miibus in your kernel if 1215 you use the ed driver. 1216 121720010220: 1218 The problems with libc have been corrected. It is now mostly 1219 safe to go back into the water. 1220 122120010211: 1222 The size of FILE was changed. This breaks upgrading. If 1223 you must upgrade, be prepared for pain. It also breaks almost 1224 all binaries that you've compiled on -current. You are warned 1225 that before upgrading would be a good time to do a level 0 1226 dump of your system. No, really, I mean it this time. 1227 1228 To get to the new system, you'll need to use the following 1229 workaround. Hopefully this can be sorted out so that we 1230 don't have to move this to the updating section. 1231 1232 To get around the installworld problem, do: 1233 # cd /usr/src/usr.bin/sed 1234 # make install 1235 # cd /usr/src 1236 # make installworld 1237 If that doesn't work, then try: 1238 # make -k installworld 1239 # make installworld 1240 124120010207: 1242 DEVFS is now the default. If you use vinum, make sure that you 1243 do not include devfs in your kernel as problems result. 1244 124520010205: 1246 FFS_ROOT and CD9660_ROOT have been removed or deprecated. 1247 Remove them from your config. 1248 124920010122: 1250 ****************************** WARNING ****************************** 1251 buildkernel has been changed slightly 1252 ****************************** WARNING ****************************** 1253 KERNCONF replaces the variable KERNEL for buildkernel. You 1254 should update your scripts and make.conf accordingly. 1255 125620010119: 1257 config has changed to allow DEV_FOO as a replacement for NFOO. 1258 This requires a new config to build correctly. 1259 126020010116: 1261 The kernel option I386_CPU is now mutually exclusive with the 1262 other cpu types. If you have an i386 system, be sure that it 1263 only had this line. Remove it for all other configurations. 1264 126520010110: 1266 Changes to the kernel require it and burncd be in sync. 1267 126820010102: 1269 Everyone who has hw.sndunit set to something in 1270 /etc/sysctl.conf, it is now hw.snd.unit. 1271 127220010101: 1273 ex and vi were broken by some changes to sys/queue.h. If you 1274 have a bad vi, you will see make buildworld fail with a core 1275 dump while building termcap. You can work around this problem 1276 by adding -k to your make buildworld. This will cause the 1277 build to complete and install a new vi. Once that's done, you 1278 can rebuild again without the -k to pick up anything that 1279 might have been ignored by the -k option. 1280 1281 Others have suggested that you can just rebuild libc if your 1282 vi/ex is dynamically linked, but I've not received any reports 1283 of this working. 1284 128520001228: 1286 There have been some changes to libcrypt in -current. The 1287 libscrypt/libdescrypt symlink silliness is gone and the installed 1288 libcrypt is fully functional. Be aware of this. 1289 129020001218: 1291 Linksys Fast Ethernet PCCARD cards supported by the ed driver 1292 now require the addition of flag 0x80000 to their config line 1293 in pccard.conf(5). This flag is not optional. These Linksys 1294 cards will not be recognized without it. 1295 129620001205: 1297 Important new FreeBSD-version stuff: PAM support has been worked 1298 in, partially from the "Unix" OpenSSH version. This requires 1299 adding the following in pam.conf: 1300 1301 sshd auth sufficient pam_skey.so 1302 sshd auth required pam_unix.so try_first_pass 1303 sshd session required pam_permit.so 1304 130520001031: 1306 cvs updated to 1.11. 1307 130820001020: 1309 The random device needs more entropy, so you need to make sure 1310 that you've run mergemaster to get a /etc/rc which will seed 1311 /dev/random. If you don't and the system hangs after ldconfig, 1312 then banging on the keyboard randomly until it unhangs is one 1313 workaround. 1314 131520001010: 1316 ****************************** WARNING ****************************** 1317 Sendmail has been updated. 1318 ****************************** WARNING ****************************** 1319 o mail.local(8) is no longer installed as a set-user-id binary. 1320 o sendmail(8) is now built with STARTTLS support unless NO_OPENSSL 1321 is set. 1322 o The default /etc/mail/sendmail.cf disables the SMTP EXPN and VRFY 1323 commands. 1324 o Now using sendmail's version of vacation(1). 1325 o The sendmail cf building tools (contrib/sendmail/cf) are installed 1326 in /usr/share/sendmail/cf. 1327 o sendmail.cw changed to local-host-names 1328 1329 More details can be found at 1330 http://people.freebsd.org/~imp/UPDATING/sendmail-20001010 1331 133220001009: 1333 The ports tree's new layout is in place. Be sure to update 1334 your entire ports tree, or you will have problems. 1335 133620001006: 1337 The perl build procedure no longer installs miniperl, nor uses 1338 the installed miniperl. It is recommended that you delete 1339 /usr/bin/miniperl. 1340 134120001005: 1342 This weekend the ports tree will be updated to a new layout. 1343 It will be in an inconsistent state until noted in the UPDATING 1344 file, or with asami-san's message to the relevant mailing 1345 lists. With this new layout, you'll need to update the whole 1346 tree for anything to work. 1347 134820000928: 1349 There was a change in the passwd format. Need more information. 1350 135120000916: 1352 /boot/kernel/kernel.ko -> /boot/kernel/kernel change has taken 1353 place. Please update boot loader (not the boot blocks) at the 1354 same time as your kernel. 1355 135620000914: 1357 The new pmtimer device is necessary for laptops. Failure to 1358 include the device will cause suspended laptops losing time 1359 when they resume. Include 1360 device pmtimer 1361 in your config file and 1362 hint.pmtimer.0.at="isa" 1363 to your /boot/device.hints file. 1364 136520000911: 1366 The random device has been turned into a (pseudo-)device, 1367 rather than an option. The supplied kernel config files have 1368 been updated. You will need to do something similar in your 1369 own kernel config file. 1370 Remove: 1371 options RANDOMDEV 1372 Add: 1373 device random 1374 If you prefer to load the loadable module, you need to do 1375 nothing. 1376 137720000909: 1378 The random device module has been renamed from randomdev.ko to 1379 random.ko. You will need to edit your /boot/loader.conf to 1380 reflect this if you load this module at boot time. 1381 The line should read: 1382 random_load="YES" 1383 138420000907: 1385 The SMPNG commit has happened. It should work, but if it 1386 doesn't, fallback to the PRE_SMPNG CVS tag. There are likely 1387 to be a variety of minor issues. Please see 20000905 to make 1388 sure you don't have model loading problems which might at 1389 first blush appear related to SMP. 1390 139120000906: 1392 nsswitch has been imported from NetBSD. Among other things, 1393 this means that /etc/host.conf is no longer used. See 1394 nsswitch.conf(5) instead. Note that at boot time rc.network 1395 will attempt to produce a new nsswitch.conf file for you if you 1396 don't have one, and you have host.conf. 1397 139820000905: 1399 The ucred structure changed size. This breaks the interface 1400 that mountd uses. Trying to use an older mountd with a newer 1401 kernel guarantees a panic. This means that you need to use 1402 kernels newer than today only with matching mountd, but you 1403 needed to do that anyway with the boot loader changes. 1404 140520000905: 1406 The boot loader has been updated. The new default kernel is 1407 now /boot/kernel/kernel.ko. The new default module location 1408 is /boot/kernel. 1409 1410 You *MUST* upgrade your boot loader and kernel at the same time. 1411 The easiest way to do this is to do the buildworld/buildkernel/ 1412 installkernel/installworld dance. 1413 1414 Furthermore, you are urged to delete your old /modules directory 1415 before booting the new kernel, since kldload will find stale 1416 modules in that directory instead of finding them in the correct 1417 path, /boot/kernel. The most common complaint that this cures 1418 is that the linux module crashes your machine after the update. 1419 1420 if [ ! -d /boot/kernel.old ]; then 1421 mv /modules.old /boot/kernel.old 1422 chflags noschg /kernel.old 1423 mv /kernel.old /boot/kernel.old/kernel.ko 1424 chflags schg /boot/kernel.old/kernel.ko 1425 fi 1426 142720000904: 1428 A new issue with the sendmail upgrade has come to light. 1429 /etc/aliases has moved to /etc/mail/aliases. Mergemaster will 1430 incorrectly install the default aliases in /etc/mail rather than 1431 move the old one from /etc. So you'll need to manually move the 1432 file, create a symbolic link, remove the old /etc/aliases.db and 1433 run newaliases. For safety sake, you should stop sendmail 1434 while doing this and run the upgrade when locally sourced email 1435 is not likely to be generated. 1436 143720000825: 1438 /boot/device.hints is now required for installkernel to 1439 succeed. You should copy GENERIC.hints for your architecture 1440 into /boot/device.hints. If and only if you compile hints 1441 into your kernel, then this file may be empty. Please note, 1442 if you have an empty or missing /boot/device.hints file and 1443 you neglected to compile hints into your kernel, no boot 1444 messages will appear after the boot loader tries to start the 1445 kernel. 1446 144720000821: 1448 If you do NOT have ``options RANDOMDEV'' in your kernel and 1449 you DO want the random device then add randomdev_load="YES" to 1450 /boot/loader.conf. 1451 145220000812: 1453 suidperl is now always built and installed on the system, but 1454 with permissions of 511. If you have applications that use 1455 this program, you are now required to add ENABLE_SUIDPERL=true 1456 to /etc/make.conf. If you forget to do this, 1457 chmod 4511 /usr/bin/suidperl 1458 will fix this until the next build. 1459 146020000812: 1461 sendmail has been updated from 8.9.3 to 8.11.0. Some of the more 1462 visible changes that may immediately affect your configuration 1463 include: 1464 - New default file locations from src/contrib/sendmail/cf/README 1465 - newaliases limited to root and trusted users 1466 - MSA port (587) turned on by default 1467 - New queue file naming system so can't go from 8.11 -> 8.9 1468 - FEATURE(`rbl') renamed to FEATURE(`dnsbl') 1469 - FEATURE(`nullclient') is more full featured 1470 - FEATURE(`nouucp') requires an argument: `reject' or `nospecial' 1471 - mail.local FreeBSD-only -b option changed to -B 1472 - See src/contrib/sendmail/RELEASE_NOTES for more info 1473 147420000810: 1475 suidperl (aka sperl) is no longer build by default. You must 1476 specifically define BUILD_SUIDPERL to "true" for it to be build. 1477 Furthermore, we recommend that you remove /usr/bin/sperl* and 1478 /usr/bin/suidperl files from your system unless you have a 1479 specific use for it. 1480 148120000729: 1482 Networking defaults have been tightened. Anybody upgrading 1483 /etc/defaults/rc.conf needs to add the following lines to 1484 /etc/rc.conf if they want to have the same setup 1485 afterwards (unless the variables already are set, of course): 1486 # Enable network daemons for user convenience. 1487 inetd_enable="YES" 1488 portmap_enable="YES" 1489 sendmail_enable="YES" 1490 149120000728: 1492 If you have null_load="YES" in your /boot/loader.conf, you 1493 will need to change that to nullfs_load="YES". 1494 149520000728: 1496 The "installkernel" target has changed slightly. Now even if 1497 you override KERNEL e.g. 'make installkernel KERNEL=MYKERNEL' 1498 it will install the MYKERNEL file (built with the buildkernel 1499 target) as /kernel rather than /MYKERNEL. Those who have 1500 updated their /boot/loader.conf files to point to /MYKERNEL 1501 should remove that entry or perform manual rename of /kernel 1502 to /MYKERNEL. 1503 150420000711: 1505 If you use CVSUP or CTM to get CVS trees, AND you used to get 1506 the old crypto files from internat.freebsd.org AND you check 1507 out files from the CVS tree with the cvs command, please read 1508 http://people.freebsd.org/~imp/internat.txt 1509 for details on potential problems that you might have and how 1510 to get around them. 1511 1512 If you are merely a mirror, or don't answer yes to each of the 1513 clauses above, you needn't worry. 1514 151520000711: 1516 /etc/security has been updated to print the inode number of 1517 setuid programs that have changed. You will see a large spike 1518 in the number of changed programs the first time when you run 1519 mergemaster to get a new /etc/security. 1520 152120000710: 1522 /dev/random now has good entropy collection (from the keyboard 1523 and sysmouse drivers). Please ensure that either `options 1524 RANDOMDEV' is present in your kernel config file or that 1525 `randomdev_load="YES"' is in your /boot/loader.conf. If you do 1526 not have the /dev/random driver, OpenSSL (and consequently 1527 lots of crypto tools (like SSH)) will fail with strange 1528 errors. (see below, 20000624). 1529 1530 FreeBSD-current is safe again to run Crypto. 1531 153220000709: 1533 phk made the malloc default options AJ. This may slow things 1534 down and uncover other latent bugs in the code. If you need to 1535 run at full speed, you can disable this by doing the following: 1536 ln -s aj /etc/malloc.conf 1537 153820000706: 1539 libftpio's version was accidentally bumped a few days ago. This 1540 has been corrected. You may need to remove /usr/lib/libftpio.so.6 1541 before doing your next buildworld/installworld pair. It certainly 1542 won't hurt to remove it before the update procedure. It will 1543 break fetch until a new one is built, but ftp can be used in the 1544 interim if needed. 1545 154620000705: 1547 The crypto packages have changed for the cvsup. This has been done 1548 in a backward compatible way, but the old packages will go away at 1549 some point in the future. Look at /usr/share/examples/cvsup for 1550 details. 1551 155220000704: 1553 With the new sys/modules/sound/drivers/*, you will need to 1554 set SYSDIR until you do an installworld after July 7th. 1555 155620000704: 1557 rc.shutdown and rc will now call the rc.d scripts with start 1558 or stop. This may cause some harmless warnings from older 1559 rc.d scripts that haven't been updated. 1560 156120000630: 1562 The libfetch based version of fetch has gone into the tree. 1563 Minor problems may result on some of the less popular sites, 1564 which should be reported to des@freebsd.org. 1565 156620000625: 1567 From approximately this date forward, one must have the crypto 1568 system installed in order to build the system and kernel. 1569 While not technically strictly true, one should treat it as 1570 required and grab the crypto bits. If you are grabbing CVS 1571 trees, src-all and cvs-crypto should be treated as if they 1572 were required. You should check with the latest collections 1573 to make sure that these haven't changed. 1574 157520000624: 1576 Mark Murray just committed the first parts of a cleanup of 1577 /dev/zero, et al. This is also cleaning up /dev/random. 1578 The entropy is disconnected, so DO NOT USE VERSIONS OF FREEBSD 1579 -CURRENT FROM THIS POINT to 2000710 for cryptographic services 1580 until Mark can merge in the fixes to this work in progress. 1581 openssh and openssl should not be used to generate keys from this 1582 date to the completion of the work. 1583 1584 If you must operate at this reduced level of security, add ' 1585 options RANDOMDEV' to your kernel or modload the randomdev 1586 module. You may also need to copy a new MAKEDEV to /dev and 1587 recreate the random and urandom devices. 1588 158920000622: 1590 The license on the softupdates is now a standard 2 clause 1591 BSD license. You may need to remove your symbolic links 1592 that used to be required when updating. 1593 159420000621: 1595 Scott Flatman <sf@aracnet.com> sent in a decent write-up on 1596 the config file update procedure. 1597 http://people.freebsd.org/~imp/config-upd.html 1598 NOTE: LINT is gone. It has been replaced with NOTES. NOTES 1599 isn't buildable. However, you can generate a LINT file: 1600 cd /sys/<ARCH>/conf && make LINT 1601 160220000620: 1603 Binutils 2.10 have hit the tree, or will shortly. As soon 1604 as they do, the problem noted in 20000522 will be resolved and 1605 that workaround will no longer be required. 1606 160720000615: 1608 phk removed the compatibility creation of wd devices in the 1609 ad driver. If you haven't done so already, you must update 1610 your fstab, etc to use the ad devices instead of the wd 1611 devices. 1612 1613 In addition, you'll need to update your boot blocks to a 1614 more modern version, if you haven't already done so. Modern 1615 here means 4.0 release or newer (although older releases 1616 may work). 1617 161820000612: 1619 Peter took an axe to config(8). Be sure that you read his mail 1620 on the topic before even thinking about updating. You will 1621 need to create a /boot/device.hints or add a hints directive 1622 to your config file to compile them in statically. The format 1623 of the config file has changed as well. Please see GENERIC or 1624 NEWCARD for examples of the new format. 1625 1626 Indirectly, this also breaks USERCONFIG. Unless a newer entry 1627 says that it has been fixed, assume that must use the hints mechanism 1628 in the loader if you need to use a machine with very old ISA cards 1629 in it. 1630 163120000522: 1632 A new set of binutils went into the tree today. Anybody 1633 building a kernel after this point is advised that they need 1634 to rebuild their binutils (or better yet do a 1635 buildworld/installworld) before building a new kernel. 1636 1637 Due to bugs in binutils, using malloc options (eg /etc/malloc.conf 1638 or MALLOC_OPTIONS env var) J will cause ld to dump core. It 1639 is recommended that you don't set this option until the problem 1640 is resolved. 1641 164220000513: 1643 The ethernet drivers were all updated to clean up the BPF handling. 1644 164520000510: 1646 The problems with boot blocks on the alphas have been corrected. 1647 This will require some care in updating alphas. A new libstand 1648 is requires for the boot blocks to build properly. 1649 165020000503: 1651 Recompile all kld modules. Proper version dependency info 1652 is now available. 1653 165420000502: 1655 Modules have been disconnected from the buildworld tree and 1656 connected to the kernel building instead. 1657 165820000427: 1659 You may need to build gperf 1660 cd /usr/src/gnu/usr.bin/gperf && make depend all install 1661 when upgrading from 4.0 -> current. The build system now uses 1662 an option only in -current. 1663 166420000417: 1665 The method that we brand ELF binaries has changed to be more 1666 acceptable to the binutils maintainers. You will need to 1667 rebrand your ELF binaries that aren't native. One problem 1668 binary is the Linux ldconfig. After your make world, but 1669 before you reboot, you'll need to issue: 1670 brandelf -t Linux /compat/linux/sbin/ldconfig 1671 if you have Linux compatibility enabled on your machine. 1672 167320000320: 1674 If you have really bad/marginal IDE drives, you may find they 1675 don't work well. Use pio mode instead. The easiest way to 1676 cope if you have a problem combination is to add: 1677 /sbin/sysctl hw.ata.ata_dma=0 1678 to the start of /etc/rc.conf. 1679 168020000319: 1681 The ISA and PCI compatibility shims have been connected to the 1682 options COMPAT_OLDISA and COMPAT_OLDPCI. If you are using old 1683 style PCI or ISA drivers (i.e. tx, voxware, etc.) you must 1684 include the appropriate option in your kernel config. Drivers 1685 using the shims should be updated or they won't ship with 1686 5.0-RELEASE, targeted for 2001. 1687 168820000318: 1689 We've entered the traditional post release dumping party. 1690 Large kernel changes are being committed and are in the 1691 works. It is important to keep the systems' klds and kernel 1692 in sync as kernel interfaces and structures are changing. 1693 Before reporting kernel panics, make sure that all modules 1694 that you are loading are up to date. 1695 169620000315: 1697 If you are upgrading from an older version of FreeBSD, you 1698 need to update your boot blocks as well. 'disklabel -B ad0' 1699 will do the trick. This isn't critical until you remove your 1700 wd device entries in /dev, at which point your system will not 1701 boot. 1702 170320000315: 1704 4.0 RELEASE shipped. Please see the 4.0 UPDATING file for how 1705 to upgrade to 4.0 from 3.x. 1706 1707COMMON ITEMS: 1708 1709 # NOTE: 5.x below applies to 6.0-currrent as well, for the 1710 # momemnt. 4.any -> 5.any upgrade support will remain in 1711 # place for 6.0 current, but after 5.3 RELEASE, the 4.any -> 1712 # 6.0-current upgrade path will require moving through 5.3 1713 # RELEASE or newer. 1714 1715 General Notes 1716 ------------- 1717 Avoid using make -j when upgrading. From time to time in the 1718 past there have been problems using -j with buildworld and/or 1719 installworld. This is especially true when upgrading between 1720 "distant" versions (eg one that cross a major release boundary 1721 or several minor releases, or when several months have passed 1722 on the -current branch). 1723 1724 Sometimes, obscure build problems are the result of environment 1725 poisoning. This can happen because the make utility reads its 1726 environment when searching for values for global variables. 1727 To run your build attempts in an "environmental clean room", 1728 prefix all make commands with 'env -i '. See the env(1) manual 1729 page for more details. 1730 1731 To build a kernel 1732 ----------------- 1733 If you are updating from a prior version of FreeBSD (even one just 1734 a few days old), you should follow this procedure. With a 1735 /usr/obj tree with a fresh buildworld, 1736 make -DALWAYS_CHECK_MAKE buildkernel KERNCONF=YOUR_KERNEL_HERE 1737 make -DALWAYS_CHECK_MAKE installkernel KERNCONF=YOUR_KERNEL_HERE 1738 1739 To just build a kernel when you know that it won't mess you up 1740 -------------------------------------------------------------- 1741 This assumes you are already running a 5.X system. Replace 1742 ${arch} with the architecture of your machine (e.g. "i386", 1743 "alpha", "amd64", "ia64", "pc98", "sparc64", etc). 1744 1745 cd src/sys/${arch}/conf 1746 config KERNEL_NAME_HERE 1747 cd ../compile/KERNEL_NAME_HERE 1748 make depend 1749 make 1750 make install 1751 1752 If this fails, go to the "To build a kernel" section. 1753 1754 To rebuild everything and install it on the current system. 1755 ----------------------------------------------------------- 1756 # Note: sometimes if you are running current you gotta do more than 1757 # is listed here if you are upgrading from a really old current. 1758 1759 <make sure you have good level 0 dumps> 1760 <maybe fix /etc/fstab> [7] 1761 make buildworld 1762 make kernel KERNCONF=YOUR_KERNEL_HERE 1763 [1] 1764 <reboot in single user> [3] 1765 src/etc/rc.d/preseedrandom [10] 1766 mergemaster -p [5] 1767 make installworld 1768 mergemaster [4] 1769 <reboot> 1770 1771 1772 To cross-install current onto a separate partition 1773 -------------------------------------------------- 1774 # In this approach we use a separate partition to hold 1775 # current's root, 'usr', and 'var' directories. A partition 1776 # holding "/", "/usr" and "/var" should be about 2GB in 1777 # size. 1778 1779 <make sure you have good level 0 dumps> 1780 <boot into -stable> 1781 make buildworld 1782 <maybe newfs current's root partition> 1783 <mount current's root partition on directory ${CURRENT_ROOT}> 1784 make installworld DESTDIR=${CURRENT_ROOT} 1785 make buildkernel KERNCONF=YOUR_KERNEL_HERE 1786 cp src/sys/${ARCH}/conf/GENERIC.hints \ 1787 ${CURRENT_ROOT}/boot/device.hints # as needed 1788 make installkernel KERNCONF=YOUR_KERNEL_HERE DESTDIR=${CURRENT_ROOT} 1789 cd src/etc; make distribution DESTDIR=${CURRENT_ROOT} # if newfs'd 1790 cp /etc/fstab ${CURRENT_ROOT}/etc/fstab # if newfs'd 1791 <edit ${CURRENT_ROOT}/etc/fstab to mount "/" from the correct partition> 1792 <reboot into current> 1793 <do a "native" rebuild/install as described in the previous section> 1794 <maybe install compatibility libraries from src/lib/compat> 1795 <reboot> 1796 1797 1798 To upgrade in-place from 4.x-stable to current 1799 ---------------------------------------------- 1800 # 5.x uses more space than 4.x. Also, the location of kernel 1801 # modules has changed. If you are installing 5.x onto a 4.x 1802 # system, you'll need about 30MB of free disk space on your / 1803 # partition. If you have less than this, you may encounter difficult 1804 # to back out of problems with this procedure. If /tmp is on 1805 # the / partition, you may want to completely remove all its content 1806 # before upgrading, as this can be a common source of shortage of 1807 # space on /. 1808 1809 <make sure you have good level 0 dumps> 1810 <maybe fix /etc/fstab> [7] 1811 make buildworld [9] 1812 cp sys/${MACHINE}/conf/GENERIC.hints /boot/device.hints [2] 1813 make kernel KERNCONF=YOUR_KERNEL_HERE [8] 1814 cd sys/boot ; make STRIP="" install [6] 1815 [1] 1816 <reboot in single user> [3] 1817 src/etc/rc.d/preseedrandom [10] 1818 mergemaster -p [5] 1819 rm -rf /usr/include/g++ 1820 make installworld 1821 mergemaster -i [4] 1822 <reboot> 1823 1824 Make sure that you've read the UPDATING file to understand the 1825 tweaks to various things you need. At this point in the life 1826 cycle of current, things change often and you are on your own 1827 to cope. The defaults can also change, so please read ALL of 1828 the UPDATING entries. 1829 1830 Also, if you are tracking -current, you must be subscribed to 1831 freebsd-current@freebsd.org. Make sure that before you update 1832 your sources that you have read and understood all the recent 1833 messages there. If in doubt, please track -stable which has 1834 much fewer pitfalls. 1835 1836 [1] If you have third party modules, such as vmware, you 1837 should disable them at this point so they don't crash your 1838 system on reboot. 1839 1840 [2] If you have legacy ISA devices, you may need to create 1841 your own device.hints to reflect your unique hardware 1842 configuration. 1843 1844 [3] From the bootblocks, boot -s, and then do 1845 fsck -p 1846 mount -u / 1847 mount -a 1848 cd src 1849 adjkerntz -i # if CMOS is wall time 1850 Also, when doing a major release upgrade, it is required that 1851 you boot into single user mode to do the installworld. 1852 For the 4.x -> 5.x upgrade, you will also see many messages about 1853 needing to recompile your userland. These are harmless and can 1854 be ignored while you proceed to the next step. 1855 1856 [4] Note: This step is non-optional. Failure to do this step 1857 can result in a significant reduction in the functionality of the 1858 system. Attempting to do it by hand is not recommended and those 1859 that pursue this avenue should read this file carefully, as well 1860 as the archives of freebsd-current and freebsd-hackers mailing lists 1861 for potential gotchas. 1862 1863 [5] Usually this step is a noop. However, from time to time 1864 you may need to do this if you get unknown user in the following 1865 step. It never hurts to do it all the time. You may need to 1866 install a new mergemaster (cd src/usr.sbin/mergemaster && make 1867 install) after the buildworld before this step if you last updated 1868 from current before 20020224 or from -stable before 20020408. 1869 1870 [6] 4.x boot loader can be used to boot a 5.x system, however 1871 it is difficult to do that at best. If you wish to try, then 1872 you should interrupt the boot and at the ok prompt type: 1873 ok unload 1874 ok boot /boot/kernel/kernel 1875 If this fails to work, you must install a new boot loader as 1876 described here. 1877 1878 [7] Before you upgrade, please make sure that you are not using 1879 compatibility slices. These are device names of the form /dev/ad0a 1880 without the actual slice name. These will break with 5.x and newer. 1881 You generally must update these entries to use the post FreeBSD 1882 2.x form of /dev/ad0s1a. i386 and pc98 are affected, while alpha 1883 is not. 1884 1885 [8] In order to have a kernel that can run the 4.x binaries 1886 needed to do an installworld, you must include the COMPAT_FREEBSD4 1887 option in your kernel. Failure to do so may leave you with a system 1888 that is hard to boot to recover. 1889 1890 Make sure that you merge any new devices from GENERIC since the 1891 last time you updated your kernel config file. 1892 1893 [9] When checking out sources, you must include the -P flag to have 1894 cvs prune empty directories. 1895 1896 If CPUTYPE is defined in your /etc/make.conf, make sure to use the 1897 "?=" instead of the "=" assignment operator, so that buildworld can 1898 override the CPUTYPE if it needs to. 1899 1900 MAKEOBJDIRPREFIX must be defined in an environment variable, and 1901 not on the command line, or in /etc/make.conf. buildworld will 1902 warn if it is improperly defined. 1903 1904 In case you would like to avoid installing new packages of everything, 1905 you might want to uncomment the "COMPAT4X= YES" entry, so that 4.x 1906 compatibility libraries are built which should allow you to continue 1907 using your existing software for a while. Alternatively, you can 1908 install the misc/compat4x port. 1909 1910 [10] In order to create temporary files, /dev/random must be 1911 initialized by feeding data into it. src/etc/rc.d/preseedrandom 1912 takes care of this. 1913FORMAT: 1914 1915This file contains a list, in reverse chronological order, of major 1916breakages in tracking -current. Not all things will be listed here, 1917and it only starts on March 15, 2000. Updating files can found in 1918previous releases if your system is older than this. 1919 1920Copyright information: 1921 1922Copyright 1998-2004 M. Warner Losh. All Rights Reserved. 1923 1924Redistribution, publication, translation and use, with or without 1925modification, in full or in part, in any form or format of this 1926document are permitted without further permission from the author. 1927 1928THIS DOCUMENT IS PROVIDED BY WARNER LOSH ``AS IS'' AND ANY EXPRESS OR 1929IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 1930WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 1931DISCLAIMED. IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT, 1932INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 1933(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 1934SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 1935HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 1936STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 1937IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 1938POSSIBILITY OF SUCH DAMAGE. 1939 1940If you find this document useful, and you want to, you may buy the 1941author a beer. 1942 1943Contact Warner Losh if you have any questions about your use of 1944this document. 1945 1946$FreeBSD: head/UPDATING 136617 2004-10-17 14:59:18Z obrien $ 1947