1Updating Information for FreeBSD current users. 2 3This file is maintained and copyrighted by M. Warner Losh <imp@freebsd.org>. 4See end of file for further details. For commonly done items, please see the 5COMMON ITEMS: section later in the file. These instructions assume that you 6basically know what you are doing. If not, then please consult the FreeBSD 7handbook: 8 9 http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html 10 11Items affecting the ports and packages system can be found in 12/usr/ports/UPDATING. Please read that file before running portupgrade. 13 14NOTE: FreeBSD has switched from gcc to clang. If you have trouble bootstrapping 15from older versions of FreeBSD, try WITHOUT_CLANG and WITH_GCC to bootstrap to 16the tip of head, and then rebuild without this option. The bootstrap process 17from older version of current across the gcc/clang cutover is a bit fragile. 18 19NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW: 20 FreeBSD 12.x has many debugging features turned on, in both the kernel 21 and userland. These features attempt to detect incorrect use of 22 system primitives, and encourage loud failure through extra sanity 23 checking and fail stop semantics. They also substantially impact 24 system performance. If you want to do performance measurement, 25 benchmarking, and optimization, you'll want to turn them off. This 26 includes various WITNESS- related kernel options, INVARIANTS, malloc 27 debugging flags in userland, and various verbose features in the 28 kernel. Many developers choose to disable these features on build 29 machines to maximize performance. (To completely disable malloc 30 debugging, define MALLOC_PRODUCTION in /etc/make.conf, or to merely 31 disable the most expensive debugging functionality run 32 "ln -s 'abort:false,junk:false' /etc/malloc.conf".) 33 34 35****************************** SPECIAL WARNING: ****************************** 36 37 Due to a bug in some versions of clang that's very hard to workaround in 38 the upgrade process, to upgrade to -current you must first upgrade 39 either stable/9 after r286035 or stable/10 after r286033 (including 40 10.3-RELEASE) or current after r286007 (including stable/11 and 41 11.0-RELEASE). These revisions post-date the 10.2 and 9.3 releases, so 42 you'll need to take the unusual step of upgrading to the tip of the 43 stable branch before moving to 11 or -current via a source upgrade. 44 stable/11 and 11.0-RELEASE have working newer compiler. This differs 45 from the historical situation where one could upgrade from anywhere on 46 the last couple of stable branches, so be careful. 47 48 If you're running a hybrid system on 9.x or 10.x with an updated clang 49 compiler or are using an supported external toolchain, the build system 50 will allow the upgrade. Otherwise it will print a reminder. 51 52****************************** SPECIAL WARNING: ****************************** 53 5420170316: 55 The mmcsd.ko module now additionally depends on geom_flashmap.ko. 56 Also, mmc.ko and mmcsd.ko need to be a matching pair built from the 57 same source (previously, the dependency of mmcsd.ko on mmc.ko was 58 missing, but mmcsd.ko now will refuse to load if it is incompatible 59 with mmc.ko). 60 6120170315: 62 The syntax of ipfw(8) named states was changed to avoid ambiguity. 63 If you have used named states in the firewall rules, you need to modify 64 them after installworld and before rebooting. Now named states must 65 be prefixed with colon. 66 6720170311: 68 The old drm (sys/dev/drm/) drivers for i915 and radeon have been 69 removed as the userland we provide cannot use them. The KMS version 70 (sys/dev/drm2) support the same hardware. 71 7220170311: 73 GNU diff has been replaced by a BSD licensed diff. Some features of GNU 74 diff has not been implemented, if those are needed a newer version of 75 GNU diff is available via the diffutils package under the gdiff name. 76 7720170302: 78 Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 4.0.0. 79 Please see the 20141231 entry below for information about prerequisites 80 and upgrading, if you are not already using clang 3.5.0 or higher. 81 8220170221: 83 The code that provides support for ZFS .zfs/ directory functionality 84 has been reimplemented. It's not possible now to create a snapshot 85 by mkdir under .zfs/snapshot/. That should be the only user visible 86 change. 87 8820170216: 89 EISA bus support has been removed. The WITH_EISA option is no longer 90 valid. 91 9220170215: 93 MCA bus support has been removed. 94 9520170127: 96 The WITH_LLD_AS_LD / WITHOUT_LLD_AS_LD build knobs have been renamed 97 WITH_LLD_IS_LD / WITHOUT_LLD_IS_LD, for consistency with CLANG_IS_CC. 98 9920170112: 100 The EM_MULTIQUEUE kernel configuration option is deprecated now that 101 the em(4) driver conforms to iflib specifications. 102 10320170109: 104 The igb(4), em(4) and lem(4) ethernet drivers are now implemented via 105 IFLIB. If you have a custom kernel configuration that excludes em(4) 106 but you use igb(4), you need to re-add em(4) to your custom configuration. 107 10820161217: 109 Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 3.9.1. 110 Please see the 20141231 entry below for information about prerequisites 111 and upgrading, if you are not already using clang 3.5.0 or higher. 112 11320161124: 114 Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 3.9.0. 115 Please see the 20141231 entry below for information about prerequisites 116 and upgrading, if you are not already using clang 3.5.0 or higher. 117 11820161119: 119 The layout of the pmap structure has changed for powerpc to put the pmap 120 statistics at the front for all CPU variations. libkvm(3) and all tools 121 that link against it need to be recompiled. 122 12320161030: 124 isl(4) and cyapa(4) drivers now require a new driver, 125 chromebook_platform(4), to work properly on Chromebook-class hardware. 126 On other types of hardware the drivers may need to be configured using 127 device hints. Please see the corresponding manual pages for details. 128 12920161017: 130 The urtwn(4) driver was merged into rtwn(4) and now consists of 131 rtwn(4) main module + rtwn_usb(4) and rtwn_pci(4) bus-specific 132 parts. 133 Also, firmware for RTL8188CE was renamed due to possible name 134 conflict (rtwnrtl8192cU(B) -> rtwnrtl8192cE(B)) 135 13620161015: 137 GNU rcs has been removed from base. It is available as packages: 138 - rcs: Latest GPLv3 GNU rcs version. 139 - rcs57: Copy of the latest version of GNU rcs (GPLv2) before it was 140 removed from base. 141 14220161008: 143 Use of the cc_cdg, cc_chd, cc_hd, or cc_vegas congestion control 144 modules now requires that the kernel configuration contain the 145 TCP_HHOOK option. (This option is included in the GENERIC kernel.) 146 14720161003: 148 The WITHOUT_ELFCOPY_AS_OBJCOPY src.conf(5) knob has been retired. 149 ELF Tool Chain's elfcopy is always installed as /usr/bin/objcopy. 150 15120160924: 152 Relocatable object files with the extension of .So have been renamed 153 to use an extension of .pico instead. The purpose of this change is 154 to avoid a name clash with shared libraries on case-insensitive file 155 systems. On those file systems, foo.So is the same file as foo.so. 156 15720160918: 158 GNU rcs has been turned off by default. It can (temporarily) be built 159 again by adding WITH_RCS knob in src.conf. 160 Otherwise, GNU rcs is available from packages: 161 - rcs: Latest GPLv3 GNU rcs version. 162 - rcs57: Copy of the latest version of GNU rcs (GPLv2) from base. 163 16420160918: 165 The backup_uses_rcs functionality has been removed from rc.subr. 166 16720160908: 168 The queue(3) debugging macro, QUEUE_MACRO_DEBUG, has been split into 169 two separate components, QUEUE_MACRO_DEBUG_TRACE and 170 QUEUE_MACRO_DEBUG_TRASH. Define both for the original 171 QUEUE_MACRO_DEBUG behavior. 172 17320160824: 174 r304787 changed some ioctl interfaces between the iSCSI userspace 175 programs and the kernel. ctladm, ctld, iscsictl, and iscsid must be 176 rebuilt to work with new kernels. __FreeBSD_version has been bumped 177 to 1200005. 178 17920160818: 180 The UDP receive code has been updated to only treat incoming UDP 181 packets that were addressed to an L2 broadcast address as L3 182 broadcast packets. It is not expected that this will affect any 183 standards-conforming UDP application. The new behaviour can be 184 disabled by setting the sysctl net.inet.udp.require_l2_bcast to 185 0. 186 18720160818: 188 Remove the openbsd_poll system call. 189 __FreeBSD_version has been bumped because of this. 190 19120160622: 192 The libc stub for the pipe(2) system call has been replaced with 193 a wrapper that calls the pipe2(2) system call and the pipe(2) 194 system call is now only implemented by the kernels that include 195 "options COMPAT_FREEBSD10" in their config file (this is the 196 default). Users should ensure that this option is enabled in 197 their kernel or upgrade userspace to r302092 before upgrading their 198 kernel. 199 20020160527: 201 CAM will now strip leading spaces from SCSI disks' serial numbers. 202 This will affect users who create UFS filesystems on SCSI disks using 203 those disk's diskid device nodes. For example, if /etc/fstab 204 previously contained a line like 205 "/dev/diskid/DISK-%20%20%20%20%20%20%20ABCDEFG0123456", you should 206 change it to "/dev/diskid/DISK-ABCDEFG0123456". Users of geom 207 transforms like gmirror may also be affected. ZFS users should 208 generally be fine. 209 21020160523: 211 The bitstring(3) API has been updated with new functionality and 212 improved performance. But it is binary-incompatible with the old API. 213 Objects built with the new headers may not be linked against objects 214 built with the old headers. 215 21620160520: 217 The brk and sbrk functions have been removed from libc on arm64. 218 Binutils from ports has been updated to not link to these 219 functions and should be updated to the latest version before 220 installing a new libc. 221 22220160517: 223 The armv6 port now defaults to hard float ABI. Limited support 224 for running both hardfloat and soft float on the same system 225 is available using the libraries installed with -DWITH_LIBSOFT. 226 This has only been tested as an upgrade path for installworld 227 and packages may fail or need manual intervention to run. New 228 packages will be needed. 229 230 To update an existing self-hosted armv6hf system, you must add 231 TARGET_ARCH=armv6 on the make command line for both the build 232 and the install steps. 233 23420160510: 235 Kernel modules compiled outside of a kernel build now default to 236 installing to /boot/modules instead of /boot/kernel. Many kernel 237 modules built this way (such as those in ports) already overrode 238 KMODDIR explicitly to install into /boot/modules. However, 239 manually building and installing a module from /sys/modules will 240 now install to /boot/modules instead of /boot/kernel. 241 24220160414: 243 The CAM I/O scheduler has been committed to the kernel. There should be 244 no user visible impact. This does enable NCQ Trim on ada SSDs. While the 245 list of known rogues that claim support for this but actually corrupt 246 data is believed to be complete, be on the lookout for data 247 corruption. The known rogue list is believed to be complete: 248 249 o Crucial MX100, M550 drives with MU01 firmware. 250 o Micron M510 and M550 drives with MU01 firmware. 251 o Micron M500 prior to MU07 firmware 252 o Samsung 830, 840, and 850 all firmwares 253 o FCCT M500 all firmwares 254 255 Crucial has firmware http://www.crucial.com/usa/en/support-ssd-firmware 256 with working NCQ TRIM. For Micron branded drives, see your sales rep for 257 updated firmware. Black listed drives will work correctly because these 258 drives work correctly so long as no NCQ TRIMs are sent to them. Given 259 this list is the same as found in Linux, it's believed there are no 260 other rogues in the market place. All other models from the above 261 vendors work. 262 263 To be safe, if you are at all concerned, you can quirk each of your 264 drives to prevent NCQ from being sent by setting: 265 kern.cam.ada.X.quirks="0x2" 266 in loader.conf. If the drive requires the 4k sector quirk, set the 267 quirks entry to 0x3. 268 26920160330: 270 The FAST_DEPEND build option has been removed and its functionality is 271 now the one true way. The old mkdep(1) style of 'make depend' has 272 been removed. See 20160311 for further details. 273 27420160317: 275 Resource range types have grown from unsigned long to uintmax_t. All 276 drivers, and anything using libdevinfo, need to be recompiled. 277 27820160311: 279 WITH_FAST_DEPEND is now enabled by default for in-tree and out-of-tree 280 builds. It no longer runs mkdep(1) during 'make depend', and the 281 'make depend' stage can safely be skipped now as it is auto ran 282 when building 'make all' and will generate all SRCS and DPSRCS before 283 building anything else. Dependencies are gathered at compile time with 284 -MF flags kept in separate .depend files per object file. Users should 285 run 'make cleandepend' once if using -DNO_CLEAN to clean out older 286 stale .depend files. 287 28820160306: 289 On amd64, clang 3.8.0 can now insert sections of type AMD64_UNWIND into 290 kernel modules. Therefore, if you load any kernel modules at boot time, 291 please install the boot loaders after you install the kernel, but before 292 rebooting, e.g.: 293 294 make buildworld 295 make kernel KERNCONF=YOUR_KERNEL_HERE 296 make -C sys/boot install 297 <reboot in single user> 298 299 Then follow the usual steps, described in the General Notes section, 300 below. 301 30220160305: 303 Clang, llvm, lldb and compiler-rt have been upgraded to 3.8.0. Please 304 see the 20141231 entry below for information about prerequisites and 305 upgrading, if you are not already using clang 3.5.0 or higher. 306 30720160301: 308 The AIO subsystem is now a standard part of the kernel. The 309 VFS_AIO kernel option and aio.ko kernel module have been removed. 310 Due to stability concerns, asynchronous I/O requests are only 311 permitted on sockets and raw disks by default. To enable 312 asynchronous I/O requests on all file types, set the 313 vfs.aio.enable_unsafe sysctl to a non-zero value. 314 31520160226: 316 The ELF object manipulation tool objcopy is now provided by the 317 ELF Tool Chain project rather than by GNU binutils. It should be a 318 drop-in replacement, with the addition of arm64 support. The 319 (temporary) src.conf knob WITHOUT_ELFCOPY_AS_OBJCOPY knob may be set 320 to obtain the GNU version if necessary. 321 32220160129: 323 Building ZFS pools on top of zvols is prohibited by default. That 324 feature has never worked safely; it's always been prone to deadlocks. 325 Using a zvol as the backing store for a VM guest's virtual disk will 326 still work, even if the guest is using ZFS. Legacy behavior can be 327 restored by setting vfs.zfs.vol.recursive=1. 328 32920160119: 330 The NONE and HPN patches has been removed from OpenSSH. They are 331 still available in the security/openssh-portable port. 332 33320160113: 334 With the addition of ypldap(8), a new _ypldap user is now required 335 during installworld. "mergemaster -p" can be used to add the user 336 prior to installworld, as documented in the handbook. 337 33820151216: 339 The tftp loader (pxeboot) now uses the option root-path directive. As a 340 consequence it no longer looks for a pxeboot.4th file on the tftp 341 server. Instead it uses the regular /boot infrastructure as with the 342 other loaders. 343 34420151211: 345 The code to start recording plug and play data into the modules has 346 been committed. While the old tools will properly build a new kernel, 347 a number of warnings about "unknown metadata record 4" will be produced 348 for an older kldxref. To avoid such warnings, make sure to rebuild 349 the kernel toolchain (or world). Make sure that you have r292078 or 350 later when trying to build 292077 or later before rebuilding. 351 35220151207: 353 Debug data files are now built by default with 'make buildworld' and 354 installed with 'make installworld'. This facilitates debugging but 355 requires more disk space both during the build and for the installed 356 world. Debug files may be disabled by setting WITHOUT_DEBUG_FILES=yes 357 in src.conf(5). 358 35920151130: 360 r291527 changed the internal interface between the nfsd.ko and 361 nfscommon.ko modules. As such, they must both be upgraded to-gether. 362 __FreeBSD_version has been bumped because of this. 363 36420151108: 365 Add support for unicode collation strings leads to a change of 366 order of files listed by ls(1) for example. To get back to the old 367 behaviour, set LC_COLLATE environment variable to "C". 368 369 Databases administrators will need to reindex their databases given 370 collation results will be different. 371 372 Due to a bug in install(1) it is recommended to remove the ancient 373 locales before running make installworld. 374 375 rm -rf /usr/share/locale/* 376 37720151030: 378 The OpenSSL has been upgraded to 1.0.2d. Any binaries requiring 379 libcrypto.so.7 or libssl.so.7 must be recompiled. 380 38120151020: 382 Qlogic 24xx/25xx firmware images were updated from 5.5.0 to 7.3.0. 383 Kernel modules isp_2400_multi and isp_2500_multi were removed and 384 should be replaced with isp_2400 and isp_2500 modules respectively. 385 38620151017: 387 The build previously allowed using 'make -n' to not recurse into 388 sub-directories while showing what commands would be executed, and 389 'make -n -n' to recursively show commands. Now 'make -n' will recurse 390 and 'make -N' will not. 391 39220151012: 393 If you specify SENDMAIL_MC or SENDMAIL_CF in make.conf, mergemaster 394 and etcupdate will now use this file. A custom sendmail.cf is now 395 updated via this mechanism rather than via installworld. If you had 396 excluded sendmail.cf in mergemaster.rc or etcupdate.conf, you may 397 want to remove the exclusion or change it to "always install". 398 /etc/mail/sendmail.cf is now managed the same way regardless of 399 whether SENDMAIL_MC/SENDMAIL_CF is used. If you are not using 400 SENDMAIL_MC/SENDMAIL_CF there should be no change in behavior. 401 40220151011: 403 Compatibility shims for legacy ATA device names have been removed. 404 It includes ATA_STATIC_ID kernel option, kern.cam.ada.legacy_aliases 405 and kern.geom.raid.legacy_aliases loader tunables, kern.devalias.* 406 environment variables, /dev/ad* and /dev/ar* symbolic links. 407 40820151006: 409 Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 3.7.0. 410 Please see the 20141231 entry below for information about prerequisites 411 and upgrading, if you are not already using clang 3.5.0 or higher. 412 41320150924: 414 Kernel debug files have been moved to /usr/lib/debug/boot/kernel/, 415 and renamed from .symbols to .debug. This reduces the size requirements 416 on the boot partition or file system and provides consistency with 417 userland debug files. 418 419 When using the supported kernel installation method the 420 /usr/lib/debug/boot/kernel directory will be renamed (to kernel.old) 421 as is done with /boot/kernel. 422 423 Developers wishing to maintain the historical behavior of installing 424 debug files in /boot/kernel/ can set KERN_DEBUGDIR="" in src.conf(5). 425 42620150827: 427 The wireless drivers had undergone changes that remove the 'parent 428 interface' from the ifconfig -l output. The rc.d network scripts 429 used to check presence of a parent interface in the list, so old 430 scripts would fail to start wireless networking. Thus, etcupdate(3) 431 or mergemaster(8) run is required after kernel update, to update your 432 rc.d scripts in /etc. 433 43420150827: 435 pf no longer supports 'scrub fragment crop' or 'scrub fragment drop-ovl' 436 These configurations are now automatically interpreted as 437 'scrub fragment reassemble'. 438 43920150817: 440 Kernel-loadable modules for the random(4) device are back. To use 441 them, the kernel must have 442 443 device random 444 options RANDOM_LOADABLE 445 446 kldload(8) can then be used to load random_fortuna.ko 447 or random_yarrow.ko. Please note that due to the indirect 448 function calls that the loadable modules need to provide, 449 the build-in variants will be slightly more efficient. 450 451 The random(4) kernel option RANDOM_DUMMY has been retired due to 452 unpopularity. It was not all that useful anyway. 453 45420150813: 455 The WITHOUT_ELFTOOLCHAIN_TOOLS src.conf(5) knob has been retired. 456 Control over building the ELF Tool Chain tools is now provided by 457 the WITHOUT_TOOLCHAIN knob. 458 45920150810: 460 The polarity of Pulse Per Second (PPS) capture events with the 461 uart(4) driver has been corrected. Prior to this change the PPS 462 "assert" event corresponded to the trailing edge of a positive PPS 463 pulse and the "clear" event was the leading edge of the next pulse. 464 465 As the width of a PPS pulse in a typical GPS receiver is on the 466 order of 1 millisecond, most users will not notice any significant 467 difference with this change. 468 469 Anyone who has compensated for the historical polarity reversal by 470 configuring a negative offset equal to the pulse width will need to 471 remove that workaround. 472 47320150809: 474 The default group assigned to /dev/dri entries has been changed 475 from 'wheel' to 'video' with the id of '44'. If you want to have 476 access to the dri devices please add yourself to the video group 477 with: 478 479 # pw groupmod video -m $USER 480 48120150806: 482 The menu.rc and loader.rc files will now be replaced during 483 upgrades. Please migrate local changes to menu.rc.local and 484 loader.rc.local instead. 485 48620150805: 487 GNU Binutils versions of addr2line, c++filt, nm, readelf, size, 488 strings and strip have been removed. The src.conf(5) knob 489 WITHOUT_ELFTOOLCHAIN_TOOLS no longer provides the binutils tools. 490 49120150728: 492 As ZFS requires more kernel stack pages than is the default on some 493 architectures e.g. i386, it now warns if KSTACK_PAGES is less than 494 ZFS_MIN_KSTACK_PAGES (which is 4 at the time of writing). 495 496 Please consider using 'options KSTACK_PAGES=X' where X is greater 497 than or equal to ZFS_MIN_KSTACK_PAGES i.e. 4 in such configurations. 498 49920150706: 500 sendmail has been updated to 8.15.2. Starting with FreeBSD 11.0 501 and sendmail 8.15, sendmail uses uncompressed IPv6 addresses by 502 default, i.e., they will not contain "::". For example, instead 503 of ::1, it will be 0:0:0:0:0:0:0:1. This permits a zero subnet 504 to have a more specific match, such as different map entries for 505 IPv6:0:0 vs IPv6:0. This change requires that configuration 506 data (including maps, files, classes, custom ruleset, etc.) must 507 use the same format, so make certain such configuration data is 508 upgrading. As a very simple check search for patterns like 509 'IPv6:[0-9a-fA-F:]*::' and 'IPv6::'. To return to the old 510 behavior, set the m4 option confUSE_COMPRESSED_IPV6_ADDRESSES or 511 the cf option UseCompressedIPv6Addresses. 512 51320150630: 514 The default kernel entropy-processing algorithm is now 515 Fortuna, replacing Yarrow. 516 517 Assuming you have 'device random' in your kernel config 518 file, the configurations allow a kernel option to override 519 this default. You may choose *ONE* of: 520 521 options RANDOM_YARROW # Legacy /dev/random algorithm. 522 options RANDOM_DUMMY # Blocking-only driver. 523 524 If you have neither, you get Fortuna. For most people, 525 read no further, Fortuna will give a /dev/random that works 526 like it always used to, and the difference will be irrelevant. 527 528 If you remove 'device random', you get *NO* kernel-processed 529 entropy at all. This may be acceptable to folks building 530 embedded systems, but has complications. Carry on reading, 531 and it is assumed you know what you need. 532 533 *PLEASE* read random(4) and random(9) if you are in the 534 habit of tweaking kernel configs, and/or if you are a member 535 of the embedded community, wanting specific and not-usual 536 behaviour from your security subsystems. 537 538 NOTE!! If you use RANDOM_DUMMY and/or have no 'device 539 random', you will NOT have a functioning /dev/random, and 540 many cryptographic features will not work, including SSH. 541 You may also find strange behaviour from the random(3) set 542 of library functions, in particular sranddev(3), srandomdev(3) 543 and arc4random(3). The reason for this is that the KERN_ARND 544 sysctl only returns entropy if it thinks it has some to 545 share, and with RANDOM_DUMMY or no 'device random' this 546 will never happen. 547 54820150623: 549 An additional fix for the issue described in the 20150614 sendmail 550 entry below has been been committed in revision 284717. 551 55220150616: 553 FreeBSD's old make (fmake) has been removed from the system. It is 554 available as the devel/fmake port or via pkg install fmake. 555 55620150615: 557 The fix for the issue described in the 20150614 sendmail entry 558 below has been been committed in revision 284436. The work 559 around described in that entry is no longer needed unless the 560 default setting is overridden by a confDH_PARAMETERS configuration 561 setting of '5' or pointing to a 512 bit DH parameter file. 562 56320150614: 564 ALLOW_DEPRECATED_ATF_TOOLS/ATFFILE support has been removed from 565 atf.test.mk (included from bsd.test.mk). Please upgrade devel/atf 566 and devel/kyua to version 0.20+ and adjust any calling code to work 567 with Kyuafile and kyua. 568 56920150614: 570 The import of openssl to address the FreeBSD-SA-15:10.openssl 571 security advisory includes a change which rejects handshakes 572 with DH parameters below 768 bits. sendmail releases prior 573 to 8.15.2 (not yet released), defaulted to a 512 bit 574 DH parameter setting for client connections. To work around 575 this interoperability, sendmail can be configured to use a 576 2048 bit DH parameter by: 577 578 1. Edit /etc/mail/`hostname`.mc 579 2. If a setting for confDH_PARAMETERS does not exist or 580 exists and is set to a string beginning with '5', 581 replace it with '2'. 582 3. If a setting for confDH_PARAMETERS exists and is set to 583 a file path, create a new file with: 584 openssl dhparam -out /path/to/file 2048 585 4. Rebuild the .cf file: 586 cd /etc/mail/; make; make install 587 5. Restart sendmail: 588 cd /etc/mail/; make restart 589 590 A sendmail patch is coming, at which time this file will be 591 updated. 592 59320150604: 594 Generation of legacy formatted entries have been disabled by default 595 in pwd_mkdb(8), as all base system consumers of the legacy formatted 596 entries were converted to use the new format by default when the new, 597 machine independent format have been added and supported since FreeBSD 598 5.x. 599 600 Please see the pwd_mkdb(8) manual page for further details. 601 60220150525: 603 Clang and llvm have been upgraded to 3.6.1 release. Please see the 604 20141231 entry below for information about prerequisites and upgrading, 605 if you are not already using 3.5.0 or higher. 606 60720150521: 608 TI platform code switched to using vendor DTS files and this update 609 may break existing systems running on Beaglebone, Beaglebone Black, 610 and Pandaboard: 611 612 - dtb files should be regenerated/reinstalled. Filenames are the 613 same but content is different now 614 - GPIO addressing was changed, now each GPIO bank (32 pins per bank) 615 has its own /dev/gpiocX device, e.g. pin 121 on /dev/gpioc0 in old 616 addressing scheme is now pin 25 on /dev/gpioc3. 617 - Pandaboard: /etc/ttys should be updated, serial console device is 618 now /dev/ttyu2, not /dev/ttyu0 619 62020150501: 621 soelim(1) from gnu/usr.bin/groff has been replaced by usr.bin/soelim. 622 If you need the GNU extension from groff soelim(1), install groff 623 from package: pkg install groff, or via ports: textproc/groff. 624 62520150423: 626 chmod, chflags, chown and chgrp now affect symlinks in -R mode as 627 defined in symlink(7); previously symlinks were silently ignored. 628 62920150415: 630 The const qualifier has been removed from iconv(3) to comply with 631 POSIX. The ports tree is aware of this from r384038 onwards. 632 63320150416: 634 Libraries specified by LIBADD in Makefiles must have a corresponding 635 DPADD_<lib> variable to ensure correct dependencies. This is now 636 enforced in src.libnames.mk. 637 63820150324: 639 From legacy ata(4) driver was removed support for SATA controllers 640 supported by more functional drivers ahci(4), siis(4) and mvs(4). 641 Kernel modules ataahci and ataadaptec were removed completely, 642 replaced by ahci and mvs modules respectively. 643 64420150315: 645 Clang, llvm and lldb have been upgraded to 3.6.0 release. Please see 646 the 20141231 entry below for information about prerequisites and 647 upgrading, if you are not already using 3.5.0 or higher. 648 64920150307: 650 The 32-bit PowerPC kernel has been changed to a position-independent 651 executable. This can only be booted with a version of loader(8) 652 newer than January 31, 2015, so make sure to update both world and 653 kernel before rebooting. 654 65520150217: 656 If you are running a -CURRENT kernel since r273872 (Oct 30th, 2014), 657 but before r278950, the RNG was not seeded properly. Immediately 658 upgrade the kernel to r278950 or later and regenerate any keys (e.g. 659 ssh keys or openssl keys) that were generated w/ a kernel from that 660 range. This does not affect programs that directly used /dev/random 661 or /dev/urandom. All userland uses of arc4random(3) are affected. 662 66320150210: 664 The autofs(4) ABI was changed in order to restore binary compatibility 665 with 10.1-RELEASE. The automountd(8) daemon needs to be rebuilt to work 666 with the new kernel. 667 66820150131: 669 The powerpc64 kernel has been changed to a position-independent 670 executable. This can only be booted with a new version of loader(8), 671 so make sure to update both world and kernel before rebooting. 672 67320150118: 674 Clang and llvm have been upgraded to 3.5.1 release. This is a bugfix 675 only release, no new features have been added. Please see the 20141231 676 entry below for information about prerequisites and upgrading, if you 677 are not already using 3.5.0. 678 67920150107: 680 ELF tools addr2line, elfcopy (strip), nm, size, and strings are now 681 taken from the ELF Tool Chain project rather than GNU binutils. They 682 should be drop-in replacements, with the addition of arm64 support. 683 The WITHOUT_ELFTOOLCHAIN_TOOLS= knob may be used to obtain the 684 binutils tools, if necessary. See 20150805 for updated information. 685 68620150105: 687 The default Unbound configuration now enables remote control 688 using a local socket. Users who have already enabled the 689 local_unbound service should regenerate their configuration 690 by running "service local_unbound setup" as root. 691 69220150102: 693 The GNU texinfo and GNU info pages have been removed. 694 To be able to view GNU info pages please install texinfo from ports. 695 69620141231: 697 Clang, llvm and lldb have been upgraded to 3.5.0 release. 698 699 As of this release, a prerequisite for building clang, llvm and lldb is 700 a C++11 capable compiler and C++11 standard library. This means that to 701 be able to successfully build the cross-tools stage of buildworld, with 702 clang as the bootstrap compiler, your system compiler or cross compiler 703 should either be clang 3.3 or later, or gcc 4.8 or later, and your 704 system C++ library should be libc++, or libdstdc++ from gcc 4.8 or 705 later. 706 707 On any standard FreeBSD 10.x or 11.x installation, where clang and 708 libc++ are on by default (that is, on x86 or arm), this should work out 709 of the box. 710 711 On 9.x installations where clang is enabled by default, e.g. on x86 and 712 powerpc, libc++ will not be enabled by default, so libc++ should be 713 built (with clang) and installed first. If both clang and libc++ are 714 missing, build clang first, then use it to build libc++. 715 716 On 8.x and earlier installations, upgrade to 9.x first, and then follow 717 the instructions for 9.x above. 718 719 Sparc64 and mips users are unaffected, as they still use gcc 4.2.1 by 720 default, and do not build clang. 721 722 Many embedded systems are resource constrained, and will not be able to 723 build clang in a reasonable time, or in some cases at all. In those 724 cases, cross building bootable systems on amd64 is a workaround. 725 726 This new version of clang introduces a number of new warnings, of which 727 the following are most likely to appear: 728 729 -Wabsolute-value 730 731 This warns in two cases, for both C and C++: 732 * When the code is trying to take the absolute value of an unsigned 733 quantity, which is effectively a no-op, and almost never what was 734 intended. The code should be fixed, if at all possible. If you are 735 sure that the unsigned quantity can be safely cast to signed, without 736 loss of information or undefined behavior, you can add an explicit 737 cast, or disable the warning. 738 739 * When the code is trying to take an absolute value, but the called 740 abs() variant is for the wrong type, which can lead to truncation. 741 If you want to disable the warning instead of fixing the code, please 742 make sure that truncation will not occur, or it might lead to unwanted 743 side-effects. 744 745 -Wtautological-undefined-compare and 746 -Wundefined-bool-conversion 747 748 These warn when C++ code is trying to compare 'this' against NULL, while 749 'this' should never be NULL in well-defined C++ code. However, there is 750 some legacy (pre C++11) code out there, which actively abuses this 751 feature, which was less strictly defined in previous C++ versions. 752 753 Squid and openjdk do this, for example. The warning can be turned off 754 for C++98 and earlier, but compiling the code in C++11 mode might result 755 in unexpected behavior; for example, the parts of the program that are 756 unreachable could be optimized away. 757 75820141222: 759 The old NFS client and server (kernel options NFSCLIENT, NFSSERVER) 760 kernel sources have been removed. The .h files remain, since some 761 utilities include them. This will need to be fixed later. 762 If "mount -t oldnfs ..." is attempted, it will fail. 763 If the "-o" option on mountd(8), nfsd(8) or nfsstat(1) is used, 764 the utilities will report errors. 765 76620141121: 767 The handling of LOCAL_LIB_DIRS has been altered to skip addition of 768 directories to top level SUBDIR variable when their parent 769 directory is included in LOCAL_DIRS. Users with build systems with 770 such hierarchies and without SUBDIR entries in the parent 771 directory Makefiles should add them or add the directories to 772 LOCAL_DIRS. 773 77420141109: 775 faith(4) and faithd(8) have been removed from the base system. Faith 776 has been obsolete for a very long time. 777 77820141104: 779 vt(4), the new console driver, is enabled by default. It brings 780 support for Unicode and double-width characters, as well as 781 support for UEFI and integration with the KMS kernel video 782 drivers. 783 784 You may need to update your console settings in /etc/rc.conf, 785 most probably the keymap. During boot, /etc/rc.d/syscons will 786 indicate what you need to do. 787 788 vt(4) still has issues and lacks some features compared to 789 syscons(4). See the wiki for up-to-date information: 790 https://wiki.freebsd.org/Newcons 791 792 If you want to keep using syscons(4), you can do so by adding 793 the following line to /boot/loader.conf: 794 kern.vty=sc 795 79620141102: 797 pjdfstest has been integrated into kyua as an opt-in test suite. 798 Please see share/doc/pjdfstest/README for more details on how to 799 execute it. 800 80120141009: 802 gperf has been removed from the base system for architectures 803 that use clang. Ports that require gperf will obtain it from the 804 devel/gperf port. 805 80620140923: 807 pjdfstest has been moved from tools/regression/pjdfstest to 808 contrib/pjdfstest . 809 81020140922: 811 At svn r271982, The default linux compat kernel ABI has been adjusted 812 to 2.6.18 in support of the linux-c6 compat ports infrastructure 813 update. If you wish to continue using the linux-f10 compat ports, 814 add compat.linux.osrelease=2.6.16 to your local sysctl.conf. Users are 815 encouraged to update their linux-compat packages to linux-c6 during 816 their next update cycle. 817 81820140729: 819 The ofwfb driver, used to provide a graphics console on PowerPC when 820 using vt(4), no longer allows mmap() of all physical memory. This 821 will prevent Xorg on PowerPC with some ATI graphics cards from 822 initializing properly unless x11-servers/xorg-server is updated to 823 1.12.4_8 or newer. 824 82520140723: 826 The xdev targets have been converted to using TARGET and 827 TARGET_ARCH instead of XDEV and XDEV_ARCH. 828 82920140719: 830 The default unbound configuration has been modified to address 831 issues with reverse lookups on networks that use private 832 address ranges. If you use the local_unbound service, run 833 "service local_unbound setup" as root to regenerate your 834 configuration, then "service local_unbound reload" to load the 835 new configuration. 836 83720140709: 838 The GNU texinfo and GNU info pages are not built and installed 839 anymore, WITH_INFO knob has been added to allow to built and install 840 them again. 841 UPDATE: see 20150102 entry on texinfo's removal 842 84320140708: 844 The GNU readline library is now an INTERNALLIB - that is, it is 845 statically linked into consumers (GDB and variants) in the base 846 system, and the shared library is no longer installed. The 847 devel/readline port is available for third party software that 848 requires readline. 849 85020140702: 851 The Itanium architecture (ia64) has been removed from the list of 852 known architectures. This is the first step in the removal of the 853 architecture. 854 85520140701: 856 Commit r268115 has added NFSv4.1 server support, merged from 857 projects/nfsv4.1-server. Since this includes changes to the 858 internal interfaces between the NFS related modules, a full 859 build of the kernel and modules will be necessary. 860 __FreeBSD_version has been bumped. 861 86220140629: 863 The WITHOUT_VT_SUPPORT kernel config knob has been renamed 864 WITHOUT_VT. (The other _SUPPORT knobs have a consistent meaning 865 which differs from the behaviour controlled by this knob.) 866 86720140619: 868 Maximal length of the serial number in CTL was increased from 16 to 869 64 chars, that breaks ABI. All CTL-related tools, such as ctladm 870 and ctld, need to be rebuilt to work with a new kernel. 871 87220140606: 873 The libatf-c and libatf-c++ major versions were downgraded to 0 and 874 1 respectively to match the upstream numbers. They were out of 875 sync because, when they were originally added to FreeBSD, the 876 upstream versions were not respected. These libraries are private 877 and not yet built by default, so renumbering them should be a 878 non-issue. However, unclean source trees will yield broken test 879 programs once the operator executes "make delete-old-libs" after a 880 "make installworld". 881 882 Additionally, the atf-sh binary was made private by moving it into 883 /usr/libexec/. Already-built shell test programs will keep the 884 path to the old binary so they will break after "make delete-old" 885 is run. 886 887 If you are using WITH_TESTS=yes (not the default), wipe the object 888 tree and rebuild from scratch to prevent spurious test failures. 889 This is only needed once: the misnumbered libraries and misplaced 890 binaries have been added to OptionalObsoleteFiles.inc so they will 891 be removed during a clean upgrade. 892 89320140512: 894 Clang and llvm have been upgraded to 3.4.1 release. 895 89620140508: 897 We bogusly installed src.opts.mk in /usr/share/mk. This file should 898 be removed to avoid issues in the future (and has been added to 899 ObsoleteFiles.inc). 900 90120140505: 902 /etc/src.conf now affects only builds of the FreeBSD src tree. In the 903 past, it affected all builds that used the bsd.*.mk files. The old 904 behavior was a bug, but people may have relied upon it. To get this 905 behavior back, you can .include /etc/src.conf from /etc/make.conf 906 (which is still global and isn't changed). This also changes the 907 behavior of incremental builds inside the tree of individual 908 directories. Set MAKESYSPATH to ".../share/mk" to do that. 909 Although this has survived make universe and some upgrade scenarios, 910 other upgrade scenarios may have broken. At least one form of 911 temporary breakage was fixed with MAKESYSPATH settings for buildworld 912 as well... In cases where MAKESYSPATH isn't working with this 913 setting, you'll need to set it to the full path to your tree. 914 915 One side effect of all this cleaning up is that bsd.compiler.mk 916 is no longer implicitly included by bsd.own.mk. If you wish to 917 use COMPILER_TYPE, you must now explicitly include bsd.compiler.mk 918 as well. 919 92020140430: 921 The lindev device has been removed since /dev/full has been made a 922 standard device. __FreeBSD_version has been bumped. 923 92420140424: 925 The knob WITHOUT_VI was added to the base system, which controls 926 building ex(1), vi(1), etc. Older releases of FreeBSD required ex(1) 927 in order to reorder files share/termcap and didn't build ex(1) as a 928 build tool, so building/installing with WITH_VI is highly advised for 929 build hosts for older releases. 930 931 This issue has been fixed in stable/9 and stable/10 in r277022 and 932 r276991, respectively. 933 93420140418: 935 The YES_HESIOD knob has been removed. It has been obsolete for 936 a decade. Please move to using WITH_HESIOD instead or your builds 937 will silently lack HESIOD. 938 93920140405: 940 The uart(4) driver has been changed with respect to its handling 941 of the low-level console. Previously the uart(4) driver prevented 942 any process from changing the baudrate or the CLOCAL and HUPCL 943 control flags. By removing the restrictions, operators can make 944 changes to the serial console port without having to reboot. 945 However, when getty(8) is started on the serial device that is 946 associated with the low-level console, a misconfigured terminal 947 line in /etc/ttys will now have a real impact. 948 Before upgrading the kernel, make sure that /etc/ttys has the 949 serial console device configured as 3wire without baudrate to 950 preserve the previous behaviour. E.g: 951 ttyu0 "/usr/libexec/getty 3wire" vt100 on secure 952 95320140306: 954 Support for libwrap (TCP wrappers) in rpcbind was disabled by default 955 to improve performance. To re-enable it, if needed, run rpcbind 956 with command line option -W. 957 95820140226: 959 Switched back to the GPL dtc compiler due to updates in the upstream 960 dts files not being supported by the BSDL dtc compiler. You will need 961 to rebuild your kernel toolchain to pick up the new compiler. Core dumps 962 may result while building dtb files during a kernel build if you fail 963 to do so. Set WITHOUT_GPL_DTC if you require the BSDL compiler. 964 96520140216: 966 Clang and llvm have been upgraded to 3.4 release. 967 96820140216: 969 The nve(4) driver has been removed. Please use the nfe(4) driver 970 for NVIDIA nForce MCP Ethernet adapters instead. 971 97220140212: 973 An ABI incompatibility crept into the libc++ 3.4 import in r261283. 974 This could cause certain C++ applications using shared libraries built 975 against the previous version of libc++ to crash. The incompatibility 976 has now been fixed, but any C++ applications or shared libraries built 977 between r261283 and r261801 should be recompiled. 978 97920140204: 980 OpenSSH will now ignore errors caused by kernel lacking of Capsicum 981 capability mode support. Please note that enabling the feature in 982 kernel is still highly recommended. 983 98420140131: 985 OpenSSH is now built with sandbox support, and will use sandbox as 986 the default privilege separation method. This requires Capsicum 987 capability mode support in kernel. 988 98920140128: 990 The libelf and libdwarf libraries have been updated to newer 991 versions from upstream. Shared library version numbers for 992 these two libraries were bumped. Any ports or binaries 993 requiring these two libraries should be recompiled. 994 __FreeBSD_version is bumped to 1100006. 995 99620140110: 997 If a Makefile in a tests/ directory was auto-generating a Kyuafile 998 instead of providing an explicit one, this would prevent such 999 Makefile from providing its own Kyuafile in the future during 1000 NO_CLEAN builds. This has been fixed in the Makefiles but manual 1001 intervention is needed to clean an objdir if you use NO_CLEAN: 1002 # find /usr/obj -name Kyuafile | xargs rm -f 1003 100420131213: 1005 The behavior of gss_pseudo_random() for the krb5 mechanism 1006 has changed, for applications requesting a longer random string 1007 than produced by the underlying enctype's pseudo-random() function. 1008 In particular, the random string produced from a session key of 1009 enctype aes256-cts-hmac-sha1-96 or aes256-cts-hmac-sha1-96 will 1010 be different at the 17th octet and later, after this change. 1011 The counter used in the PRF+ construction is now encoded as a 1012 big-endian integer in accordance with RFC 4402. 1013 __FreeBSD_version is bumped to 1100004. 1014 101520131108: 1016 The WITHOUT_ATF build knob has been removed and its functionality 1017 has been subsumed into the more generic WITHOUT_TESTS. If you were 1018 using the former to disable the build of the ATF libraries, you 1019 should change your settings to use the latter. 1020 102120131025: 1022 The default version of mtree is nmtree which is obtained from 1023 NetBSD. The output is generally the same, but may vary 1024 slightly. If you found you need identical output adding 1025 "-F freebsd9" to the command line should do the trick. For the 1026 time being, the old mtree is available as fmtree. 1027 102820131014: 1029 libbsdyml has been renamed to libyaml and moved to /usr/lib/private. 1030 This will break ports-mgmt/pkg. Rebuild the port, or upgrade to pkg 1031 1.1.4_8 and verify bsdyml not linked in, before running "make 1032 delete-old-libs": 1033 # make -C /usr/ports/ports-mgmt/pkg build deinstall install clean 1034 or 1035 # pkg install pkg; ldd /usr/local/sbin/pkg | grep bsdyml 1036 103720131010: 1038 The stable/10 branch has been created in subversion from head 1039 revision r256279. 1040 104120131010: 1042 The rc.d/jail script has been updated to support jail(8) 1043 configuration file. The "jail_<jname>_*" rc.conf(5) variables 1044 for per-jail configuration are automatically converted to 1045 /var/run/jail.<jname>.conf before the jail(8) utility is invoked. 1046 This is transparently backward compatible. See below about some 1047 incompatibilities and rc.conf(5) manual page for more details. 1048 1049 These variables are now deprecated in favor of jail(8) configuration 1050 file. One can use "rc.d/jail config <jname>" command to generate 1051 a jail(8) configuration file in /var/run/jail.<jname>.conf without 1052 running the jail(8) utility. The default pathname of the 1053 configuration file is /etc/jail.conf and can be specified by 1054 using $jail_conf or $jail_<jname>_conf variables. 1055 1056 Please note that jail_devfs_ruleset accepts an integer at 1057 this moment. Please consider to rewrite the ruleset name 1058 with an integer. 1059 106020130930: 1061 BIND has been removed from the base system. If all you need 1062 is a local resolver, simply enable and start the local_unbound 1063 service instead. Otherwise, several versions of BIND are 1064 available in the ports tree. The dns/bind99 port is one example. 1065 1066 With this change, nslookup(1) and dig(1) are no longer in the base 1067 system. Users should instead use host(1) and drill(1) which are 1068 in the base system. Alternatively, nslookup and dig can 1069 be obtained by installing the dns/bind-tools port. 1070 107120130916: 1072 With the addition of unbound(8), a new unbound user is now 1073 required during installworld. "mergemaster -p" can be used to 1074 add the user prior to installworld, as documented in the handbook. 1075 107620130911: 1077 OpenSSH is now built with DNSSEC support, and will by default 1078 silently trust signed SSHFP records. This can be controlled with 1079 the VerifyHostKeyDNS client configuration setting. DNSSEC support 1080 can be disabled entirely with the WITHOUT_LDNS option in src.conf. 1081 108220130906: 1083 The GNU Compiler Collection and C++ standard library (libstdc++) 1084 are no longer built by default on platforms where clang is the system 1085 compiler. You can enable them with the WITH_GCC and WITH_GNUCXX 1086 options in src.conf. 1087 108820130905: 1089 The PROCDESC kernel option is now part of the GENERIC kernel 1090 configuration and is required for the rwhod(8) to work. 1091 If you are using custom kernel configuration, you should include 1092 'options PROCDESC'. 1093 109420130905: 1095 The API and ABI related to the Capsicum framework was modified 1096 in backward incompatible way. The userland libraries and programs 1097 have to be recompiled to work with the new kernel. This includes the 1098 following libraries and programs, but the whole buildworld is 1099 advised: libc, libprocstat, dhclient, tcpdump, hastd, hastctl, 1100 kdump, procstat, rwho, rwhod, uniq. 1101 110220130903: 1103 AES-NI intrinsic support has been added to gcc. The AES-NI module 1104 has been updated to use this support. A new gcc is required to build 1105 the aesni module on both i386 and amd64. 1106 110720130821: 1108 The PADLOCK_RNG and RDRAND_RNG kernel options are now devices. 1109 Thus "device padlock_rng" and "device rdrand_rng" should be 1110 used instead of "options PADLOCK_RNG" & "options RDRAND_RNG". 1111 111220130813: 1113 WITH_ICONV has been split into two feature sets. WITH_ICONV now 1114 enables just the iconv* functionality and is now on by default. 1115 WITH_LIBICONV_COMPAT enables the libiconv api and link time 1116 compatibility. Set WITHOUT_ICONV to build the old way. 1117 If you have been using WITH_ICONV before, you will very likely 1118 need to turn on WITH_LIBICONV_COMPAT. 1119 112020130806: 1121 INVARIANTS option now enables DEBUG for code with OpenSolaris and 1122 Illumos origin, including ZFS. If you have INVARIANTS in your 1123 kernel configuration, then there is no need to set DEBUG or ZFS_DEBUG 1124 explicitly. 1125 DEBUG used to enable witness(9) tracking of OpenSolaris (mostly ZFS) 1126 locks if WITNESS option was set. Because that generated a lot of 1127 witness(9) reports and all of them were believed to be false 1128 positives, this is no longer done. New option OPENSOLARIS_WITNESS 1129 can be used to achieve the previous behavior. 1130 113120130806: 1132 Timer values in IPv6 data structures now use time_uptime instead 1133 of time_second. Although this is not a user-visible functional 1134 change, userland utilities which directly use them---ndp(8), 1135 rtadvd(8), and rtsold(8) in the base system---need to be updated 1136 to r253970 or later. 1137 113820130802: 1139 find -delete can now delete the pathnames given as arguments, 1140 instead of only files found below them or if the pathname did 1141 not contain any slashes. Formerly, the following error message 1142 would result: 1143 1144 find: -delete: <path>: relative path potentially not safe 1145 1146 Deleting the pathnames given as arguments can be prevented 1147 without error messages using -mindepth 1 or by changing 1148 directory and passing "." as argument to find. This works in the 1149 old as well as the new version of find. 1150 115120130726: 1152 Behavior of devfs rules path matching has been changed. 1153 Pattern is now always matched against fully qualified devfs 1154 path and slash characters must be explicitly matched by 1155 slashes in pattern (FNM_PATHNAME). Rulesets involving devfs 1156 subdirectories must be reviewed. 1157 115820130716: 1159 The default ARM ABI has changed to the ARM EABI. The old ABI is 1160 incompatible with the ARM EABI and all programs and modules will 1161 need to be rebuilt to work with a new kernel. 1162 1163 To keep using the old ABI ensure the WITHOUT_ARM_EABI knob is set. 1164 1165 NOTE: Support for the old ABI will be removed in the future and 1166 users are advised to upgrade. 1167 116820130709: 1169 pkg_install has been disconnected from the build if you really need it 1170 you should add WITH_PKGTOOLS in your src.conf(5). 1171 117220130709: 1173 Most of network statistics structures were changed to be able 1174 keep 64-bits counters. Thus all tools, that work with networking 1175 statistics, must be rebuilt (netstat(1), bsnmpd(1), etc.) 1176 117720130618: 1178 Fix a bug that allowed a tracing process (e.g. gdb) to write 1179 to a memory-mapped file in the traced process's address space 1180 even if neither the traced process nor the tracing process had 1181 write access to that file. 1182 118320130615: 1184 CVS has been removed from the base system. An exact copy 1185 of the code is available from the devel/cvs port. 1186 118720130613: 1188 Some people report the following error after the switch to bmake: 1189 1190 make: illegal option -- J 1191 usage: make [-BPSXeiknpqrstv] [-C directory] [-D variable] 1192 ... 1193 *** [buildworld] Error code 2 1194 1195 this likely due to an old instance of make in 1196 ${MAKEPATH} (${MAKEOBJDIRPREFIX}${.CURDIR}/make.${MACHINE}) 1197 which src/Makefile will use that blindly, if it exists, so if 1198 you see the above error: 1199 1200 rm -rf `make -V MAKEPATH` 1201 1202 should resolve it. 1203 120420130516: 1205 Use bmake by default. 1206 Whereas before one could choose to build with bmake via 1207 -DWITH_BMAKE one must now use -DWITHOUT_BMAKE to use the old 1208 make. The goal is to remove these knobs for 10-RELEASE. 1209 1210 It is worth noting that bmake (like gmake) treats the command 1211 line as the unit of failure, rather than statements within the 1212 command line. Thus '(cd some/where && dosomething)' is safer 1213 than 'cd some/where; dosomething'. The '()' allows consistent 1214 behavior in parallel build. 1215 121620130429: 1217 Fix a bug that allows NFS clients to issue READDIR on files. 1218 121920130426: 1220 The WITHOUT_IDEA option has been removed because 1221 the IDEA patent expired. 1222 122320130426: 1224 The sysctl which controls TRIM support under ZFS has been renamed 1225 from vfs.zfs.trim_disable -> vfs.zfs.trim.enabled and has been 1226 enabled by default. 1227 122820130425: 1229 The mergemaster command now uses the default MAKEOBJDIRPREFIX 1230 rather than creating it's own in the temporary directory in 1231 order allow access to bootstrapped versions of tools such as 1232 install and mtree. When upgrading from version of FreeBSD where 1233 the install command does not support -l, you will need to 1234 install a new mergemaster command if mergemaster -p is required. 1235 This can be accomplished with the command (cd src/usr.sbin/mergemaster 1236 && make install). 1237 123820130404: 1239 Legacy ATA stack, disabled and replaced by new CAM-based one since 1240 FreeBSD 9.0, completely removed from the sources. Kernel modules 1241 atadisk and atapi*, user-level tools atacontrol and burncd are 1242 removed. Kernel option `options ATA_CAM` is now permanently enabled 1243 and removed. 1244 124520130319: 1246 SOCK_CLOEXEC and SOCK_NONBLOCK flags have been added to socket(2) 1247 and socketpair(2). Software, in particular Kerberos, may 1248 automatically detect and use these during building. The resulting 1249 binaries will not work on older kernels. 1250 125120130308: 1252 CTL_DISABLE has also been added to the sparc64 GENERIC (for further 1253 information, see the respective 20130304 entry). 1254 125520130304: 1256 Recent commits to callout(9) changed the size of struct callout, 1257 so the KBI is probably heavily disturbed. Also, some functions 1258 in callout(9)/sleep(9)/sleepqueue(9)/condvar(9) KPIs were replaced 1259 by macros. Every kernel module using it won't load, so rebuild 1260 is requested. 1261 1262 The ctl device has been re-enabled in GENERIC for i386 and amd64, 1263 but does not initialize by default (because of the new CTL_DISABLE 1264 option) to save memory. To re-enable it, remove the CTL_DISABLE 1265 option from the kernel config file or set kern.cam.ctl.disable=0 1266 in /boot/loader.conf. 1267 126820130301: 1269 The ctl device has been disabled in GENERIC for i386 and amd64. 1270 This was done due to the extra memory being allocated at system 1271 initialisation time by the ctl driver which was only used if 1272 a CAM target device was created. This makes a FreeBSD system 1273 unusable on 128MB or less of RAM. 1274 127520130208: 1276 A new compression method (lz4) has been merged to -HEAD. Please 1277 refer to zpool-features(7) for more information. 1278 1279 Please refer to the "ZFS notes" section of this file for information 1280 on upgrading boot ZFS pools. 1281 128220130129: 1283 A BSD-licensed patch(1) variant has been added and is installed 1284 as bsdpatch, being the GNU version the default patch. 1285 To inverse the logic and use the BSD-licensed one as default, 1286 while having the GNU version installed as gnupatch, rebuild 1287 and install world with the WITH_BSD_PATCH knob set. 1288 128920130121: 1290 Due to the use of the new -l option to install(1) during build 1291 and install, you must take care not to directly set the INSTALL 1292 make variable in your /etc/make.conf, /etc/src.conf, or on the 1293 command line. If you wish to use the -C flag for all installs 1294 you may be able to add INSTALL+=-C to /etc/make.conf or 1295 /etc/src.conf. 1296 129720130118: 1298 The install(1) option -M has changed meaning and now takes an 1299 argument that is a file or path to append logs to. In the 1300 unlikely event that -M was the last option on the command line 1301 and the command line contained at least two files and a target 1302 directory the first file will have logs appended to it. The -M 1303 option served little practical purpose in the last decade so its 1304 use is expected to be extremely rare. 1305 130620121223: 1307 After switching to Clang as the default compiler some users of ZFS 1308 on i386 systems started to experience stack overflow kernel panics. 1309 Please consider using 'options KSTACK_PAGES=4' in such configurations. 1310 131120121222: 1312 GEOM_LABEL now mangles label names read from file system metadata. 1313 Mangling affect labels containing spaces, non-printable characters, 1314 '%' or '"'. Device names in /etc/fstab and other places may need to 1315 be updated. 1316 131720121217: 1318 By default, only the 10 most recent kernel dumps will be saved. To 1319 restore the previous behaviour (no limit on the number of kernel dumps 1320 stored in the dump directory) add the following line to /etc/rc.conf: 1321 1322 savecore_flags="" 1323 132420121201: 1325 With the addition of auditdistd(8), a new auditdistd user is now 1326 required during installworld. "mergemaster -p" can be used to 1327 add the user prior to installworld, as documented in the handbook. 1328 132920121117: 1330 The sin6_scope_id member variable in struct sockaddr_in6 is now 1331 filled by the kernel before passing the structure to the userland via 1332 sysctl or routing socket. This means the KAME-specific embedded scope 1333 id in sin6_addr.s6_addr[2] is always cleared in userland application. 1334 This behavior can be controlled by net.inet6.ip6.deembed_scopeid. 1335 __FreeBSD_version is bumped to 1000025. 1336 133720121105: 1338 On i386 and amd64 systems WITH_CLANG_IS_CC is now the default. 1339 This means that the world and kernel will be compiled with clang 1340 and that clang will be installed as /usr/bin/cc, /usr/bin/c++, 1341 and /usr/bin/cpp. To disable this behavior and revert to building 1342 with gcc, compile with WITHOUT_CLANG_IS_CC. Really old versions 1343 of current may need to bootstrap WITHOUT_CLANG first if the clang 1344 build fails (its compatibility window doesn't extend to the 9 stable 1345 branch point). 1346 134720121102: 1348 The IPFIREWALL_FORWARD kernel option has been removed. Its 1349 functionality now turned on by default. 1350 135120121023: 1352 The ZERO_COPY_SOCKET kernel option has been removed and 1353 split into SOCKET_SEND_COW and SOCKET_RECV_PFLIP. 1354 NB: SOCKET_SEND_COW uses the VM page based copy-on-write 1355 mechanism which is not safe and may result in kernel crashes. 1356 NB: The SOCKET_RECV_PFLIP mechanism is useless as no current 1357 driver supports disposeable external page sized mbuf storage. 1358 Proper replacements for both zero-copy mechanisms are under 1359 consideration and will eventually lead to complete removal 1360 of the two kernel options. 1361 136220121023: 1363 The IPv4 network stack has been converted to network byte 1364 order. The following modules need to be recompiled together 1365 with kernel: carp(4), divert(4), gif(4), siftr(4), gre(4), 1366 pf(4), ipfw(4), ng_ipfw(4), stf(4). 1367 136820121022: 1369 Support for non-MPSAFE filesystems was removed from VFS. The 1370 VFS_VERSION was bumped, all filesystem modules shall be 1371 recompiled. 1372 137320121018: 1374 All the non-MPSAFE filesystems have been disconnected from 1375 the build. The full list includes: codafs, hpfs, ntfs, nwfs, 1376 portalfs, smbfs, xfs. 1377 137820121016: 1379 The interface cloning API and ABI has changed. The following 1380 modules need to be recompiled together with kernel: 1381 ipfw(4), pfsync(4), pflog(4), usb(4), wlan(4), stf(4), 1382 vlan(4), disc(4), edsc(4), if_bridge(4), gif(4), tap(4), 1383 faith(4), epair(4), enc(4), tun(4), if_lagg(4), gre(4). 1384 138520121015: 1386 The sdhci driver was split in two parts: sdhci (generic SD Host 1387 Controller logic) and sdhci_pci (actual hardware driver). 1388 No kernel config modifications are required, but if you 1389 load sdhc as a module you must switch to sdhci_pci instead. 1390 139120121014: 1392 Import the FUSE kernel and userland support into base system. 1393 139420121013: 1395 The GNU sort(1) program has been removed since the BSD-licensed 1396 sort(1) has been the default for quite some time and no serious 1397 problems have been reported. The corresponding WITH_GNU_SORT 1398 knob has also gone. 1399 140020121006: 1401 The pfil(9) API/ABI for AF_INET family has been changed. Packet 1402 filtering modules: pf(4), ipfw(4), ipfilter(4) need to be recompiled 1403 with new kernel. 1404 140520121001: 1406 The net80211(4) ABI has been changed to allow for improved driver 1407 PS-POLL and power-save support. All wireless drivers need to be 1408 recompiled to work with the new kernel. 1409 141020120913: 1411 The random(4) support for the VIA hardware random number 1412 generator (`PADLOCK') is no longer enabled unconditionally. 1413 Add the padlock_rng device in the custom kernel config if 1414 needed. The GENERIC kernels on i386 and amd64 do include the 1415 device, so the change only affects the custom kernel 1416 configurations. 1417 141820120908: 1419 The pf(4) packet filter ABI has been changed. pfctl(8) and 1420 snmp_pf module need to be recompiled to work with new kernel. 1421 142220120828: 1423 A new ZFS feature flag "com.delphix:empty_bpobj" has been merged 1424 to -HEAD. Pools that have empty_bpobj in active state can not be 1425 imported read-write with ZFS implementations that do not support 1426 this feature. For more information read the zpool-features(5) 1427 manual page. 1428 142920120727: 1430 The sparc64 ZFS loader has been changed to no longer try to auto- 1431 detect ZFS providers based on diskN aliases but now requires these 1432 to be explicitly listed in the OFW boot-device environment variable. 1433 143420120712: 1435 The OpenSSL has been upgraded to 1.0.1c. Any binaries requiring 1436 libcrypto.so.6 or libssl.so.6 must be recompiled. Also, there are 1437 configuration changes. Make sure to merge /etc/ssl/openssl.cnf. 1438 143920120712: 1440 The following sysctls and tunables have been renamed for consistency 1441 with other variables: 1442 kern.cam.da.da_send_ordered -> kern.cam.da.send_ordered 1443 kern.cam.ada.ada_send_ordered -> kern.cam.ada.send_ordered 1444 144520120628: 1446 The sort utility has been replaced with BSD sort. For now, GNU sort 1447 is also available as "gnusort" or the default can be set back to 1448 GNU sort by setting WITH_GNU_SORT. In this case, BSD sort will be 1449 installed as "bsdsort". 1450 145120120611: 1452 A new version of ZFS (pool version 5000) has been merged to -HEAD. 1453 Starting with this version the old system of ZFS pool versioning 1454 is superseded by "feature flags". This concept enables forward 1455 compatibility against certain future changes in functionality of ZFS 1456 pools. The first read-only compatible "feature flag" for ZFS pools 1457 is named "com.delphix:async_destroy". For more information 1458 read the new zpool-features(5) manual page. 1459 Please refer to the "ZFS notes" section of this file for information 1460 on upgrading boot ZFS pools. 1461 146220120417: 1463 The malloc(3) implementation embedded in libc now uses sources imported 1464 as contrib/jemalloc. The most disruptive API change is to 1465 /etc/malloc.conf. If your system has an old-style /etc/malloc.conf, 1466 delete it prior to installworld, and optionally re-create it using the 1467 new format after rebooting. See malloc.conf(5) for details 1468 (specifically the TUNING section and the "opt.*" entries in the MALLCTL 1469 NAMESPACE section). 1470 147120120328: 1472 Big-endian MIPS TARGET_ARCH values no longer end in "eb". mips64eb 1473 is now spelled mips64. mipsn32eb is now spelled mipsn32. mipseb is 1474 now spelled mips. This is to aid compatibility with third-party 1475 software that expects this naming scheme in uname(3). Little-endian 1476 settings are unchanged. If you are updating a big-endian mips64 machine 1477 from before this change, you may need to set MACHINE_ARCH=mips64 in 1478 your environment before the new build system will recognize your machine. 1479 148020120306: 1481 Disable by default the option VFS_ALLOW_NONMPSAFE for all supported 1482 platforms. 1483 148420120229: 1485 Now unix domain sockets behave "as expected" on nullfs(5). Previously 1486 nullfs(5) did not pass through all behaviours to the underlying layer, 1487 as a result if we bound to a socket on the lower layer we could connect 1488 only to the lower path; if we bound to the upper layer we could connect 1489 only to the upper path. The new behavior is one can connect to both the 1490 lower and the upper paths regardless what layer path one binds to. 1491 149220120211: 1493 The getifaddrs upgrade path broken with 20111215 has been restored. 1494 If you have upgraded in between 20111215 and 20120209 you need to 1495 recompile libc again with your kernel. You still need to recompile 1496 world to be able to configure CARP but this restriction already 1497 comes from 20111215. 1498 149920120114: 1500 The set_rcvar() function has been removed from /etc/rc.subr. All 1501 base and ports rc.d scripts have been updated, so if you have a 1502 port installed with a script in /usr/local/etc/rc.d you can either 1503 hand-edit the rcvar= line, or reinstall the port. 1504 1505 An easy way to handle the mass-update of /etc/rc.d: 1506 rm /etc/rc.d/* && mergemaster -i 1507 150820120109: 1509 panic(9) now stops other CPUs in the SMP systems, disables interrupts 1510 on the current CPU and prevents other threads from running. 1511 This behavior can be reverted using the kern.stop_scheduler_on_panic 1512 tunable/sysctl. 1513 The new behavior can be incompatible with kern.sync_on_panic. 1514 151520111215: 1516 The carp(4) facility has been changed significantly. Configuration 1517 of the CARP protocol via ifconfig(8) has changed, as well as format 1518 of CARP events submitted to devd(8) has changed. See manual pages 1519 for more information. The arpbalance feature of carp(4) is currently 1520 not supported anymore. 1521 1522 Size of struct in_aliasreq, struct in6_aliasreq has changed. User 1523 utilities using SIOCAIFADDR, SIOCAIFADDR_IN6, e.g. ifconfig(8), 1524 need to be recompiled. 1525 152620111122: 1527 The acpi_wmi(4) status device /dev/wmistat has been renamed to 1528 /dev/wmistat0. 1529 153020111108: 1531 The option VFS_ALLOW_NONMPSAFE option has been added in order to 1532 explicitely support non-MPSAFE filesystems. 1533 It is on by default for all supported platform at this present 1534 time. 1535 153620111101: 1537 The broken amd(4) driver has been replaced with esp(4) in the amd64, 1538 i386 and pc98 GENERIC kernel configuration files. 1539 154020110930: 1541 sysinstall has been removed 1542 154320110923: 1544 The stable/9 branch created in subversion. This corresponds to the 1545 RELENG_9 branch in CVS. 1546 1547COMMON ITEMS: 1548 1549 General Notes 1550 ------------- 1551 Avoid using make -j when upgrading. While generally safe, there are 1552 sometimes problems using -j to upgrade. If your upgrade fails with 1553 -j, please try again without -j. From time to time in the past there 1554 have been problems using -j with buildworld and/or installworld. This 1555 is especially true when upgrading between "distant" versions (eg one 1556 that cross a major release boundary or several minor releases, or when 1557 several months have passed on the -current branch). 1558 1559 Sometimes, obscure build problems are the result of environment 1560 poisoning. This can happen because the make utility reads its 1561 environment when searching for values for global variables. To run 1562 your build attempts in an "environmental clean room", prefix all make 1563 commands with 'env -i '. See the env(1) manual page for more details. 1564 1565 When upgrading from one major version to another it is generally best to 1566 upgrade to the latest code in the currently installed branch first, then 1567 do an upgrade to the new branch. This is the best-tested upgrade path, 1568 and has the highest probability of being successful. Please try this 1569 approach if you encounter problems with a major version upgrade. Since 1570 the stable 4.x branch point, one has generally been able to upgade from 1571 anywhere in the most recent stable branch to head / current (or even the 1572 last couple of stable branches). See the top of this file when there's 1573 an exception. 1574 1575 When upgrading a live system, having a root shell around before 1576 installing anything can help undo problems. Not having a root shell 1577 around can lead to problems if pam has changed too much from your 1578 starting point to allow continued authentication after the upgrade. 1579 1580 This file should be read as a log of events. When a later event changes 1581 information of a prior event, the prior event should not be deleted. 1582 Instead, a pointer to the entry with the new information should be 1583 placed in the old entry. Readers of this file should also sanity check 1584 older entries before relying on them blindly. Authors of new entries 1585 should write them with this in mind. 1586 1587 ZFS notes 1588 --------- 1589 When upgrading the boot ZFS pool to a new version, always follow 1590 these two steps: 1591 1592 1.) recompile and reinstall the ZFS boot loader and boot block 1593 (this is part of "make buildworld" and "make installworld") 1594 1595 2.) update the ZFS boot block on your boot drive 1596 1597 The following example updates the ZFS boot block on the first 1598 partition (freebsd-boot) of a GPT partitioned drive ada0: 1599 "gpart bootcode -p /boot/gptzfsboot -i 1 ada0" 1600 1601 Non-boot pools do not need these updates. 1602 1603 To build a kernel 1604 ----------------- 1605 If you are updating from a prior version of FreeBSD (even one just 1606 a few days old), you should follow this procedure. It is the most 1607 failsafe as it uses a /usr/obj tree with a fresh mini-buildworld, 1608 1609 make kernel-toolchain 1610 make -DALWAYS_CHECK_MAKE buildkernel KERNCONF=YOUR_KERNEL_HERE 1611 make -DALWAYS_CHECK_MAKE installkernel KERNCONF=YOUR_KERNEL_HERE 1612 1613 To test a kernel once 1614 --------------------- 1615 If you just want to boot a kernel once (because you are not sure 1616 if it works, or if you want to boot a known bad kernel to provide 1617 debugging information) run 1618 make installkernel KERNCONF=YOUR_KERNEL_HERE KODIR=/boot/testkernel 1619 nextboot -k testkernel 1620 1621 To just build a kernel when you know that it won't mess you up 1622 -------------------------------------------------------------- 1623 This assumes you are already running a CURRENT system. Replace 1624 ${arch} with the architecture of your machine (e.g. "i386", 1625 "arm", "amd64", "ia64", "pc98", "sparc64", "powerpc", "mips", etc). 1626 1627 cd src/sys/${arch}/conf 1628 config KERNEL_NAME_HERE 1629 cd ../compile/KERNEL_NAME_HERE 1630 make depend 1631 make 1632 make install 1633 1634 If this fails, go to the "To build a kernel" section. 1635 1636 To rebuild everything and install it on the current system. 1637 ----------------------------------------------------------- 1638 # Note: sometimes if you are running current you gotta do more than 1639 # is listed here if you are upgrading from a really old current. 1640 1641 <make sure you have good level 0 dumps> 1642 make buildworld 1643 make kernel KERNCONF=YOUR_KERNEL_HERE 1644 [1] 1645 <reboot in single user> [3] 1646 mergemaster -Fp [5] 1647 make installworld 1648 mergemaster -Fi [4] 1649 make delete-old [6] 1650 <reboot> 1651 1652 To cross-install current onto a separate partition 1653 -------------------------------------------------- 1654 # In this approach we use a separate partition to hold 1655 # current's root, 'usr', and 'var' directories. A partition 1656 # holding "/", "/usr" and "/var" should be about 2GB in 1657 # size. 1658 1659 <make sure you have good level 0 dumps> 1660 <boot into -stable> 1661 make buildworld 1662 make buildkernel KERNCONF=YOUR_KERNEL_HERE 1663 <maybe newfs current's root partition> 1664 <mount current's root partition on directory ${CURRENT_ROOT}> 1665 make installworld DESTDIR=${CURRENT_ROOT} -DDB_FROM_SRC 1666 make distribution DESTDIR=${CURRENT_ROOT} # if newfs'd 1667 make installkernel KERNCONF=YOUR_KERNEL_HERE DESTDIR=${CURRENT_ROOT} 1668 cp /etc/fstab ${CURRENT_ROOT}/etc/fstab # if newfs'd 1669 <edit ${CURRENT_ROOT}/etc/fstab to mount "/" from the correct partition> 1670 <reboot into current> 1671 <do a "native" rebuild/install as described in the previous section> 1672 <maybe install compatibility libraries from ports/misc/compat*> 1673 <reboot> 1674 1675 1676 To upgrade in-place from stable to current 1677 ---------------------------------------------- 1678 <make sure you have good level 0 dumps> 1679 make buildworld [9] 1680 make kernel KERNCONF=YOUR_KERNEL_HERE [8] 1681 [1] 1682 <reboot in single user> [3] 1683 mergemaster -Fp [5] 1684 make installworld 1685 mergemaster -Fi [4] 1686 make delete-old [6] 1687 <reboot> 1688 1689 Make sure that you've read the UPDATING file to understand the 1690 tweaks to various things you need. At this point in the life 1691 cycle of current, things change often and you are on your own 1692 to cope. The defaults can also change, so please read ALL of 1693 the UPDATING entries. 1694 1695 Also, if you are tracking -current, you must be subscribed to 1696 freebsd-current@freebsd.org. Make sure that before you update 1697 your sources that you have read and understood all the recent 1698 messages there. If in doubt, please track -stable which has 1699 much fewer pitfalls. 1700 1701 [1] If you have third party modules, such as vmware, you 1702 should disable them at this point so they don't crash your 1703 system on reboot. 1704 1705 [3] From the bootblocks, boot -s, and then do 1706 fsck -p 1707 mount -u / 1708 mount -a 1709 cd src 1710 adjkerntz -i # if CMOS is wall time 1711 Also, when doing a major release upgrade, it is required that 1712 you boot into single user mode to do the installworld. 1713 1714 [4] Note: This step is non-optional. Failure to do this step 1715 can result in a significant reduction in the functionality of the 1716 system. Attempting to do it by hand is not recommended and those 1717 that pursue this avenue should read this file carefully, as well 1718 as the archives of freebsd-current and freebsd-hackers mailing lists 1719 for potential gotchas. The -U option is also useful to consider. 1720 See mergemaster(8) for more information. 1721 1722 [5] Usually this step is a noop. However, from time to time 1723 you may need to do this if you get unknown user in the following 1724 step. It never hurts to do it all the time. You may need to 1725 install a new mergemaster (cd src/usr.sbin/mergemaster && make 1726 install) after the buildworld before this step if you last updated 1727 from current before 20130425 or from -stable before 20130430. 1728 1729 [6] This only deletes old files and directories. Old libraries 1730 can be deleted by "make delete-old-libs", but you have to make 1731 sure that no program is using those libraries anymore. 1732 1733 [8] In order to have a kernel that can run the 4.x binaries needed to 1734 do an installworld, you must include the COMPAT_FREEBSD4 option in 1735 your kernel. Failure to do so may leave you with a system that is 1736 hard to boot to recover. A similar kernel option COMPAT_FREEBSD5 is 1737 required to run the 5.x binaries on more recent kernels. And so on 1738 for COMPAT_FREEBSD6 and COMPAT_FREEBSD7. 1739 1740 Make sure that you merge any new devices from GENERIC since the 1741 last time you updated your kernel config file. 1742 1743 [9] When checking out sources, you must include the -P flag to have 1744 cvs prune empty directories. 1745 1746 If CPUTYPE is defined in your /etc/make.conf, make sure to use the 1747 "?=" instead of the "=" assignment operator, so that buildworld can 1748 override the CPUTYPE if it needs to. 1749 1750 MAKEOBJDIRPREFIX must be defined in an environment variable, and 1751 not on the command line, or in /etc/make.conf. buildworld will 1752 warn if it is improperly defined. 1753FORMAT: 1754 1755This file contains a list, in reverse chronological order, of major 1756breakages in tracking -current. It is not guaranteed to be a complete 1757list of such breakages, and only contains entries since September 23, 2011. 1758If you need to see UPDATING entries from before that date, you will need 1759to fetch an UPDATING file from an older FreeBSD release. 1760 1761Copyright information: 1762 1763Copyright 1998-2009 M. Warner Losh. All Rights Reserved. 1764 1765Redistribution, publication, translation and use, with or without 1766modification, in full or in part, in any form or format of this 1767document are permitted without further permission from the author. 1768 1769THIS DOCUMENT IS PROVIDED BY WARNER LOSH ``AS IS'' AND ANY EXPRESS OR 1770IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 1771WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 1772DISCLAIMED. IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT, 1773INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 1774(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 1775SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 1776HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 1777STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 1778IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 1779POSSIBILITY OF SUCH DAMAGE. 1780 1781Contact Warner Losh if you have any questions about your use of 1782this document. 1783 1784$FreeBSD$ 1785