UPDATING revision 244585
1184610SalfredUpdating Information for FreeBSD current users 2184610Salfred 3184610SalfredThis file is maintained and copyrighted by M. Warner Losh <imp@freebsd.org>. 4184610SalfredSee end of file for further details. For commonly done items, please see the 5184610SalfredCOMMON ITEMS: section later in the file. These instructions assume that you 6184610Salfredbasically know what you are doing. If not, then please consult the FreeBSD 7184610Salfredhandbook: 8184610Salfred 9184610Salfred http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html 10184610Salfred 11184610SalfredItems affecting the ports and packages system can be found in 12184610Salfred/usr/ports/UPDATING. Please read that file before running portupgrade. 13184610Salfred 14184610SalfredNOTE TO PEOPLE WHO THINK THAT FreeBSD 10.x IS SLOW: 15184610Salfred FreeBSD 10.x has many debugging features turned on, in both the kernel 16184610Salfred and userland. These features attempt to detect incorrect use of 17184610Salfred system primitives, and encourage loud failure through extra sanity 18184610Salfred checking and fail stop semantics. They also substantially impact 19184610Salfred system performance. If you want to do performance measurement, 20184610Salfred benchmarking, and optimization, you'll want to turn them off. This 21184610Salfred includes various WITNESS- related kernel options, INVARIANTS, malloc 22184610Salfred debugging flags in userland, and various verbose features in the 23184610Salfred kernel. Many developers choose to disable these features on build 24184610Salfred machines to maximize performance. (To completely disable malloc 25184610Salfred debugging, define MALLOC_PRODUCTION in /etc/make.conf, or to merely 26188417Sthompsa disable the most expensive debugging functionality run 27184610Salfred "ln -s 'abort:false,junk:false' /etc/malloc.conf".) 28184610Salfred 29191746Sthompsa20121222: 30191746Sthompsa GEOM_LABEL now mangles label names read from file system metadata. 31191746Sthompsa Mangling affect labels containing spaces, non-printable characters, 32191746Sthompsa '%' or '"'. Device names in /etc/fstab and other places may need to 33191746Sthompsa be updated. 34194677Sthompsa 35191746Sthompsa20121217: 36191746Sthompsa By default, only the 10 most recent kernel dumps will be saved. To 37191746Sthompsa restore the previous behaviour (no limit on the number of kernel dumps 38191746Sthompsa stored in the dump directory) add the following line to /etc/rc.conf: 39191746Sthompsa 40191746Sthompsa savecore_flags="" 41191746Sthompsa 42191746Sthompsa20121201: 43191746Sthompsa With the addition of auditdistd(8), a new auditdistd user is now 44191746Sthompsa depended on during installworld. "mergemaster -p" can be used to add 45191746Sthompsa the user prior to installworld, as documented in the handbook. 46191746Sthompsa 47191746Sthompsa20121117: 48191746Sthompsa The sin6_scope_id member variable in struct sockaddr_in6 is now 49191746Sthompsa filled by the kernel before passing the structure to the userland via 50191746Sthompsa sysctl or routing socket. This means the KAME-specific embedded scope 51257176Sglebius id in sin6_addr.s6_addr[2] is always cleared in userland application. 52191746Sthompsa This behavior can be controlled by net.inet6.ip6.deembed_scopeid. 53191746Sthompsa __FreeBSD_version is bumped to 1000025. 54191746Sthompsa 55191746Sthompsa20121105: 56191746Sthompsa On i386 and amd64 systems WITH_CLANG_IS_CC is now the default. 57191746Sthompsa This means that the world and kernel will be compiled with clang 58191746Sthompsa and that clang will be installed as /usr/bin/cc, /usr/bin/c++, 59191746Sthompsa and /usr/bin/cpp. To disable this behavior and revert to building 60191746Sthompsa with gcc, compile with WITHOUT_CLANG_IS_CC. 61191746Sthompsa 62191746Sthompsa20121102: 63191746Sthompsa The IPFIREWALL_FORWARD kernel option has been removed. Its 64191746Sthompsa functionality now turned on by default. 65191746Sthompsa 66191746Sthompsa20121023: 67191746Sthompsa The ZERO_COPY_SOCKET kernel option has been removed and 68191746Sthompsa split into SOCKET_SEND_COW and SOCKET_RECV_PFLIP. 69206358Srpaulo NB: SOCKET_SEND_COW uses the VM page based copy-on-write 70191746Sthompsa mechanism which is not safe and may result in kernel crashes. 71188942Sthompsa NB: The SOCKET_RECV_PFLIP mechanism is useless as no current 72194677Sthompsa driver supports disposeable external page sized mbuf storage. 73194677Sthompsa Proper replacements for both zero-copy mechanisms are under 74191746Sthompsa consideration and will eventually lead to complete removal 75184610Salfred of the two kernel options. 76188942Sthompsa 77188942Sthompsa20121023: 78184610Salfred The IPv4 network stack has been converted to network byte 79207077Sthompsa order. The following modules need to be recompiled together 80184610Salfred with kernel: carp(4), divert(4), gif(4), siftr(4), gre(4), 81184610Salfred pf(4), ipfw(4), ng_ipfw(4), stf(4). 82227309Sed 83276701Shselasky20121022: 84184610Salfred Support for non-MPSAFE filesystems was removed from VFS. The 85188417Sthompsa VFS_VERSION was bumped, all filesystem modules shall be 86188417Sthompsa recompiled. 87188417Sthompsa 88188417Sthompsa20121018: 89188417Sthompsa All the non-MPSAFE filesystems have been disconnected from 90188417Sthompsa the build. The full list includes: codafs, hpfs, ntfs, nwfs, 91188417Sthompsa portalfs, smbfs, xfs. 92188417Sthompsa 93188417Sthompsa20121016: 94188417Sthompsa The interface cloning API and ABI has changed. The following 95188417Sthompsa modules need to be recompiled together with kernel: 96188417Sthompsa ipfw(4), pfsync(4), pflog(4), usb(4), wlan(4), stf(4), 97188417Sthompsa vlan(4), disc(4), edsc(4), if_bridge(4), gif(4), tap(4), 98188417Sthompsa faith(4), epair(4), enc(4), tun(4), if_lagg(4), gre(4). 99188417Sthompsa 100188419Sthompsa20121015: 101188417Sthompsa The sdhci driver was split in two parts: sdhci (generic SD Host 102188417Sthompsa Controller logic) and sdhci_pci (actual hardware driver). 103188417Sthompsa No kernel config modifications are required, but if you 104188417Sthompsa load sdhc as a module you must switch to sdhci_pci instead. 105188417Sthompsa 106188417Sthompsa20121014: 107184610Salfred Import the FUSE kernel and userland support into base system. 108184610Salfred 109188419Sthompsa20121013: 110194228Sthompsa The GNU sort(1) program has been removed since the BSD-licensed 111188419Sthompsa sort(1) has been the default for quite some time and no serious 112188417Sthompsa problems have been reported. The corresponding WITH_GNU_SORT 113184610Salfred knob has also gone. 114184610Salfred 115184610Salfred20121006: 116193045Sthompsa The pfil(9) API/ABI for AF_INET family has been changed. Packet 117193045Sthompsa filtering modules: pf(4), ipfw(4), ipfilter(4) need to be recompiled 118193045Sthompsa with new kernel. 119193045Sthompsa 120184610Salfred20121001: 121185948Sthompsa The net80211(4) ABI has been changed to allow for improved driver 122228621Sbschmidt PS-POLL and power-save support. All wireless drivers need to be 123228621Sbschmidt recompiled to work with the new kernel. 124228621Sbschmidt 125185948Sthompsa20120913: 126188417Sthompsa The random(4) support for the VIA hardware random number 127188419Sthompsa generator (`PADLOCK') is no longer enabled unconditionally. 128188419Sthompsa Add the PADLOCK_RNG option in the custom kernel config if 129188417Sthompsa needed. The GENERIC kernels on i386 and amd64 do include the 130188417Sthompsa option, so the change only affects the custom kernel 131188601Sthompsa configurations. 132188417Sthompsa 133188417Sthompsa20120908: 134188417Sthompsa The pf(4) packet filter ABI has been changed. pfctl(8) and 135188417Sthompsa snmp_pf module need to be recompiled to work with new kernel. 136188417Sthompsa 137188417Sthompsa20120828: 138188417Sthompsa A new ZFS feature flag "com.delphix:empty_bpobj" has been merged 139188417Sthompsa to -HEAD. Pools that have empty_bpobj in active state can not be 140188417Sthompsa imported read-write with ZFS implementations that do not support 141188417Sthompsa this feature. For more information read the zpool-features(5) 142188417Sthompsa manual page. 143188417Sthompsa 144188417Sthompsa20120727: 145188417Sthompsa The sparc64 ZFS loader has been changed to no longer try to auto- 146188417Sthompsa detect ZFS providers based on diskN aliases but now requires these 147188417Sthompsa to be explicitly listed in the OFW boot-device environment variable. 148188417Sthompsa 149188417Sthompsa20120712: 150283540Sglebius The OpenSSL has been upgraded to 1.0.1c. Any binaries requiring 151188417Sthompsa libcrypto.so.6 or libssl.so.6 must be recompiled. Also, there are 152188417Sthompsa configuration changes. Make sure to merge /etc/ssl/openssl.cnf. 153188417Sthompsa 154192984Sthompsa20120712: 155193803Sweongyo The following sysctls and tunables have been renamed for consistency 156185948Sthompsa with other variables: 157287197Sglebius kern.cam.da.da_send_ordered -> kern.cam.da.send_ordered 158287197Sglebius kern.cam.ada.ada_send_ordered -> kern.cam.ada.send_ordered 159188417Sthompsa 160185948Sthompsa20120628: 161287197Sglebius The sort utility has been replaced with BSD sort. For now, GNU sort 162191746Sthompsa is also available as "gnusort" or the default can be set back to 163191746Sthompsa GNU sort by setting WITH_GNU_SORT. In this case, BSD sort will be 164188417Sthompsa installed as "bsdsort". 165188417Sthompsa 166188417Sthompsa20120611: 167300751Savos A new version of ZFS (pool version 5000) has been merged to -HEAD. 168300751Savos Starting with this version the old system of ZFS pool versioning 169188417Sthompsa is superseded by "feature flags". This concept enables forward 170188417Sthompsa compatibility against certain future changes in functionality of ZFS 171188417Sthompsa pools. The first read-only compatible "feature flag" for ZFS pools 172188417Sthompsa is named "com.delphix:async_destroy". For more information 173188417Sthompsa read the new zpool-features(5) manual page. 174188417Sthompsa Please refer to the "ZFS notes" section of this file for information 175188417Sthompsa on upgrading boot ZFS pools. 176188417Sthompsa 177188417Sthompsa20120417: 178188417Sthompsa The malloc(3) implementation embedded in libc now uses sources imported 179188417Sthompsa as contrib/jemalloc. The most disruptive API change is to 180188417Sthompsa /etc/malloc.conf. If your system has an old-style /etc/malloc.conf, 181188417Sthompsa delete it prior to installworld, and optionally re-create it using the 182188417Sthompsa new format after rebooting. See malloc.conf(5) for details 183188417Sthompsa (specifically the TUNING section and the "opt.*" entries in the MALLCTL 184188417Sthompsa NAMESPACE section). 185188417Sthompsa 186188417Sthompsa20120328: 187193420Sweongyo Big-endian MIPS TARGET_ARCH values no longer end in "eb". mips64eb 188193420Sweongyo is now spelled mips64. mipsn32eb is now spelled mipsn32. mipseb is 189193420Sweongyo now spelled mips. This is to aid compatibility with third-party 190193420Sweongyo software that expects this naming scheme in uname(3). Little-endian 191188417Sthompsa settings are unchanged. 192188417Sthompsa 193188417Sthompsa20120306: 194184610Salfred Disable by default the option VFS_ALLOW_NONMPSAFE for all supported 195184610Salfred platforms. 196184610Salfred 197184610Salfred20120229: 198184610Salfred Now unix domain sockets behave "as expected" on nullfs(5). Previously 199188417Sthompsa nullfs(5) did not pass through all behaviours to the underlying layer, 200188417Sthompsa as a result if we bound to a socket on the lower layer we could connect 201184610Salfred only to the lower path; if we bound to the upper layer we could connect 202193419Sweongyo only to the upper path. The new behavior is one can connect to both the 203193419Sweongyo lower and the upper paths regardless what layer path one binds to. 204193419Sweongyo 205193419Sweongyo20120211: 206223486Shselasky The getifaddrs upgrade path broken with 20111215 has been restored. 207193419Sweongyo If you have upgraded in between 20111215 and 20120209 you need to 208193419Sweongyo recompile libc again with your kernel. You still need to recompile 209193419Sweongyo world to be able to configure CARP but this restriction already 210193419Sweongyo comes from 20111215. 211193419Sweongyo 212193419Sweongyo20120114: 213193419Sweongyo The set_rcvar() function has been removed from /etc/rc.subr. All 214193419Sweongyo base and ports rc.d scripts have been updated, so if you have a 215193419Sweongyo port installed with a script in /usr/local/etc/rc.d you can either 216193419Sweongyo hand-edit the rcvar= line, or reinstall the port. 217193419Sweongyo 218193419Sweongyo An easy way to handle the mass-update of /etc/rc.d: 219193419Sweongyo rm /etc/rc.d/* && mergemaster -i 220193419Sweongyo 221193419Sweongyo20120109: 222193419Sweongyo panic(9) now stops other CPUs in the SMP systems, disables interrupts 223193419Sweongyo on the current CPU and prevents other threads from running. 224193419Sweongyo This behavior can be reverted using the kern.stop_scheduler_on_panic 225193419Sweongyo tunable/sysctl. 226193419Sweongyo The new behavior can be incompatible with kern.sync_on_panic. 227193419Sweongyo 228193419Sweongyo20111215: 229193419Sweongyo The carp(4) facility has been changed significantly. Configuration 230193419Sweongyo of the CARP protocol via ifconfig(8) has changed, as well as format 231193419Sweongyo of CARP events submitted to devd(8) has changed. See manual pages 232193419Sweongyo for more information. The arpbalance feature of carp(4) is currently 233193419Sweongyo not supported anymore. 234193419Sweongyo 235223566Sgavin Size of struct in_aliasreq, struct in6_aliasreq has changed. User 236193419Sweongyo utilities using SIOCAIFADDR, SIOCAIFADDR_IN6, e.g. ifconfig(8), 237193419Sweongyo need to be recompiled. 238193419Sweongyo 239193419Sweongyo20111122: 240193419Sweongyo The acpi_wmi(4) status device /dev/wmistat has been renamed to 241193419Sweongyo /dev/wmistat0. 242193419Sweongyo 243193419Sweongyo20111108: 244193419Sweongyo The option VFS_ALLOW_NONMPSAFE option has been added in order to 245193419Sweongyo explicitely support non-MPSAFE filesystems. 246193419Sweongyo It is on by default for all supported platform at this present 247193419Sweongyo time. 248193419Sweongyo 249193419Sweongyo20111101: 250193419Sweongyo The broken amd(4) driver has been replaced with esp(4) in the amd64, 251193419Sweongyo i386 and pc98 GENERIC kernel configuration files. 252193419Sweongyo 253193419Sweongyo20110930: 254193419Sweongyo sysinstall has been removed 255193419Sweongyo 256184610Salfred20110923: 257184610Salfred The stable/9 branch created in subversion. This corresponds to the 258192984Sthompsa RELENG_9 branch in CVS. 259188417Sthompsa 260184610Salfred20110913: 261184610Salfred This commit modifies vfs_register() so that it uses a hash 262184610Salfred calculation to set vfc_typenum, which is enabled by default. 263190734Sthompsa The first time a system is booted after this change, the 264190734Sthompsa vfc_typenum values will change for all file systems. The 265190734Sthompsa main effect of this is a change to the NFS server file handles 266184610Salfred for file systems that use vfc_typenum in their fsid, such as ZFS. 267190734Sthompsa It will, however, prevent vfc_typenum from changing when file 268184610Salfred systems are loaded in a different order for subsequent reboots. 269188417Sthompsa To disable this, you can set vfs.typenumhash=0 in /boot/loader.conf 270184610Salfred until you are ready to remount all NFS clients after a reboot. 271184610Salfred 272184610Salfred20110828: 273190734Sthompsa Bump the shared library version numbers for libraries that 274190734Sthompsa do not use symbol versioning, have changed the ABI compared 275190734Sthompsa to stable/8 and which shared library version was not bumped. 276184610Salfred Done as part of 9.0-RELEASE cycle. 277184610Salfred 278188417Sthompsa20110815: 279184610Salfred During the merge of Capsicum features, the fget(9) KPI was modified. 280184610Salfred This may require the rebuilding of out-of-tree device drivers -- 281184610Salfred issues have been reported specifically with the nVidia device driver. 282190734Sthompsa __FreeBSD_version is bumped to 900041. 283190734Sthompsa 284190734Sthompsa Also, there is a period between 20110811 and 20110814 where the 285190734Sthompsa special devices /dev/{stdin,stdout,stderr} did not work correctly. 286184610Salfred Building world from a kernel during that window may not work. 287184610Salfred 288188417Sthompsa20110628: 289188417Sthompsa The packet filter (pf) code has been updated to OpenBSD 4.5. 290184610Salfred You need to update userland tools to be in sync with kernel. 291184610Salfred This update breaks backward compatibility with earlier pfsync(4) 292190734Sthompsa versions. Care must be taken when updating redundant firewall setups. 293190734Sthompsa 294190734Sthompsa20110608: 295184610Salfred The following sysctls and tunables are retired on x86 platforms: 296184610Salfred machdep.hlt_cpus 297188417Sthompsa machdep.hlt_logical_cpus 298188417Sthompsa The following sysctl is retired: 299188417Sthompsa machdep.hyperthreading_allowed 300188417Sthompsa The sysctls were supposed to provide a way to dynamically offline and 301188417Sthompsa online selected CPUs on x86 platforms, but the implementation has not 302188417Sthompsa been reliable especially with SCHED_ULE scheduler. 303188417Sthompsa machdep.hyperthreading_allowed tunable is still available to ignore 304188417Sthompsa hyperthreading CPUs at OS level. 305188417Sthompsa Individual CPUs can be disabled using hint.lapic.X.disabled tunable, 306188417Sthompsa where X is an APIC ID of a CPU. Be advised, though, that disabling 307188417Sthompsa CPUs in non-uniform fashion will result in non-uniform topology and 308188417Sthompsa may lead to sub-optimal system performance with SCHED_ULE, which is 309188417Sthompsa a default scheduler. 310188417Sthompsa 311188417Sthompsa20110607: 312188417Sthompsa cpumask_t type is retired and cpuset_t is used in order to describe 313188417Sthompsa a mask of CPUs. 314188417Sthompsa 315188417Sthompsa20110531: 316188417Sthompsa Changes to ifconfig(8) for dynamic address family detection mandate 317184610Salfred that you are running a kernel of 20110525 or later. Make sure to 318188417Sthompsa follow the update procedure to boot a new kernel before installing 319188417Sthompsa world. 320184610Salfred 321192984Sthompsa20110513: 322184610Salfred Support for sun4v architecture is officially dropped 323192499Sthompsa 324188417Sthompsa20110503: 325188419Sthompsa Several KPI breaking changes have been committed to the mii(4) layer, 326188417Sthompsa the PHY drivers and consequently some Ethernet drivers using mii(4). 327188417Sthompsa This means that miibus.ko and the modules of the affected Ethernet 328188417Sthompsa drivers need to be recompiled. 329184610Salfred 330194228Sthompsa Note to kernel developers: Given that the OUI bit reversion problem 331184610Salfred was fixed as part of these changes all mii(4) commits related to OUIs, 332184610Salfred i.e. to sys/dev/mii/miidevs, PHY driver probing and vendor specific 333188417Sthompsa handling, no longer can be merged verbatim to stable/8 and previous 334188417Sthompsa branches. 335184610Salfred 336192984Sthompsa20110430: 337188417Sthompsa Users of the Atheros AR71xx SoC code now need to add 'device ar71xx_pci' 338287197Sglebius into their kernel configurations along with 'device pci'. 339293339Savos 340188419Sthompsa20110427: 341184610Salfred The default NFS client is now the new NFS client, so fstype "newnfs" 342188417Sthompsa is now "nfs" and the regular/old NFS client is now fstype "oldnfs". 343188417Sthompsa Although mounts via fstype "nfs" will usually work without userland 344188417Sthompsa changes, it is recommended that the mount(8) and mount_nfs(8) 345188417Sthompsa commands be rebuilt from sources and that a link to mount_nfs called 346188417Sthompsa mount_oldnfs be created. The new client is compiled into the 347184610Salfred kernel with "options NFSCL" and this is needed for diskless root 348184610Salfred file systems. The GENERIC kernel configs have been changed to use 349194228Sthompsa NFSCL and NFSD (the new server) instead of NFSCLIENT and NFSSERVER. 350188417Sthompsa To use the regular/old client, you can "mount -t oldnfs ...". For 351188417Sthompsa a diskless root file system, you must also include a line like: 352188417Sthompsa 353188419Sthompsa vfs.root.mountfrom="oldnfs:" 354188417Sthompsa 355188417Sthompsa in the boot/loader.conf on the root fs on the NFS server to make 356188417Sthompsa a diskless root fs use the old client. 357287197Sglebius 358184610Salfred20110424: 359188417Sthompsa The GENERIC kernels for all architectures now default to the new 360194228Sthompsa CAM-based ATA stack. It means that all legacy ATA drivers were 361188417Sthompsa removed and replaced by respective CAM drivers. If you are using 362188417Sthompsa ATA device names in /etc/fstab or other places, make sure to update 363188417Sthompsa them respectively (adX -> adaY, acdX -> cdY, afdX -> daY, astX -> saY, 364188417Sthompsa where 'Y's are the sequential numbers starting from zero for each type 365194228Sthompsa in order of detection, unless configured otherwise with tunables, 366188419Sthompsa see cam(4)). There will be symbolic links created in /dev/ to map 367184610Salfred old adX devices to the respective adaY. They should provide basic 368184610Salfred compatibility for file systems mounting in most cases, but they do 369188419Sthompsa not support old user-level APIs and do not have respective providers 370188417Sthompsa in GEOM. Consider using updated management tools with new device names. 371188417Sthompsa 372191746Sthompsa It is possible to load devices ahci, ata, siis and mvs as modules, 373191746Sthompsa but option ATA_CAM should remain in kernel configuration to make ata 374188417Sthompsa module work as CAM driver supporting legacy ATA controllers. Device ata 375188419Sthompsa still can be used in modular fashion (atacore + ...). Modules atadisk 376188419Sthompsa and atapi* are not used and won't affect operation in ATA_CAM mode. 377283537Sglebius Note that to use CAM-based ATA kernel should include CAM devices 378283527Sglebius scbus, pass, da (or explicitly ada), cd and optionally others. All of 379188417Sthompsa them are parts of the cam module. 380188417Sthompsa 381184610Salfred ataraid(4) functionality is now supported by the RAID GEOM class. 382188417Sthompsa To use it you can load geom_raid kernel module and use graid(8) tool 383188417Sthompsa for management. Instead of /dev/arX device names, use /dev/raid/rX. 384188417Sthompsa 385188417Sthompsa No kernel config options or code have been removed, so if a problem 386188417Sthompsa arises, please report it and optionally revert to the old ATA stack. 387188417Sthompsa In order to do it you can remove from the kernel config: 388188417Sthompsa options ATA_CAM 389188417Sthompsa device ahci 390188417Sthompsa device mvs 391184610Salfred device siis 392300751Savos , and instead add back: 393300751Savos device atadisk # ATA disk drives 394184610Salfred device ataraid # ATA RAID drives 395287197Sglebius device atapicd # ATAPI CDROM drives 396188417Sthompsa device atapifd # ATAPI floppy drives 397188417Sthompsa device atapist # ATAPI tape drives 398188417Sthompsa 399300751Savos20110423: 400188417Sthompsa The default NFS server has been changed to the new server, which 401188417Sthompsa was referred to as the experimental server. If you need to switch 402188417Sthompsa back to the old NFS server, you must now put the "-o" option on 403188417Sthompsa both the mountd and nfsd commands. This can be done using the 404188601Sthompsa mountd_flags and nfs_server_flags rc.conf variables until an 405287197Sglebius update to the rc scripts is committed, which is coming soon. 406287197Sglebius 407184610Salfred20110418: 408192468Ssam The GNU Objective-C runtime library (libobjc), and other Objective-C 409192468Ssam related components have been removed from the base system. If you 410192468Ssam require an Objective-C library, please use one of the available ports. 411192468Ssam 412192468Ssam20110331: 413184610Salfred ath(4) has been split into bus- and device- modules. if_ath contains 414188417Sthompsa the HAL, the TX rate control and the network device code. if_ath_pci 415188417Sthompsa contains the PCI bus glue. For Atheros MIPS embedded systems, if_ath_ahb 416184610Salfred contains the AHB glue. Users need to load both if_ath_pci and if_ath 417191746Sthompsa in order to use ath on everything else. 418191746Sthompsa 419191746Sthompsa TO REPEAT: if_ath_ahb is not needed for normal users. Normal users only 420191746Sthompsa need to load if_ath and if_ath_pci for ath(4) operation. 421191746Sthompsa 422184610Salfred20110314: 423184610Salfred As part of the replacement of sysinstall, the process of building 424288648Sadrian release media has changed significantly. For details, please re-read 425288648Sadrian release(7), which has been updated to reflect the new build process. 426288648Sadrian 427288648Sadrian20110218: 428288648Sadrian GNU binutils 2.17.50 (as of 2007-07-03) has been merged to -HEAD. This 429288648Sadrian is the last available version under GPLv2. It brings a number of new 430288648Sadrian features, such as support for newer x86 CPU's (with SSE-3, SSSE-3, SSE 431288648Sadrian 4.1 and SSE 4.2), better support for powerpc64, a number of new 432288648Sadrian directives, and lots of other small improvements. See the ChangeLog 433288648Sadrian file in contrib/binutils for the full details. 434288648Sadrian 435288648Sadrian20110218: 436288648Sadrian IPsec's HMAC_SHA256-512 support has been fixed to be RFC4868 437288648Sadrian compliant, and will now use half of hash for authentication. 438288648Sadrian This will break interoperability with all stacks (including all 439288648Sadrian actual FreeBSD versions) who implement 440188417Sthompsa draft-ietf-ipsec-ciph-sha-256-00 (they use 96 bits of hash for 441188417Sthompsa authentication). 442184610Salfred The only workaround with such peers is to use another HMAC 443188417Sthompsa algorithm for IPsec ("phase 2") authentication. 444287197Sglebius 445246614Shselasky20110207: 446184610Salfred Remove the uio_yield prototype and symbol. This function has 447246614Shselasky been misnamed since it was introduced and should not be 448246614Shselasky globally exposed with this name. The equivalent functionality 449246614Shselasky is now available using kern_yield(curthread->td_user_pri). 450246614Shselasky The function remains undocumented. 451246614Shselasky 452246614Shselasky20110112: 453288648Sadrian A SYSCTL_[ADD_]UQUAD was added for unsigned uint64_t pointers, 454246614Shselasky symmetric with the existing SYSCTL_[ADD_]QUAD. Type checking 455246614Shselasky for scalar sysctls is defined but disabled. Code that needs 456246614Shselasky UQUAD to pass the type checking that must compile on older 457184610Salfred systems where the define is not present can check against 458246614Shselasky __FreeBSD_version >= 900030. 459246614Shselasky 460246614Shselasky The system dialog(1) has been replaced with a new version previously 461246614Shselasky in ports as devel/cdialog. dialog(1) is mostly command-line compatible 462188419Sthompsa with the previous version, but the libdialog associated with it has 463246614Shselasky a largely incompatible API. As such, the original version of libdialog 464188419Sthompsa will be kept temporarily as libodialog, until its base system consumers 465246614Shselasky are replaced or updated. Bump __FreeBSD_version to 900030. 466188419Sthompsa 467246614Shselasky20110103: 468246614Shselasky If you are trying to run make universe on a -stable system, and you get 469246614Shselasky the following warning: 470287197Sglebius "Makefile", line 356: "Target architecture for i386/conf/GENERIC 471188417Sthompsa unknown. config(8) likely too old." 472188417Sthompsa or something similar to it, then you must upgrade your -stable system 473184610Salfred to 8.2-Release or newer (really, any time after r210146 7/15/2010 in 474188417Sthompsa stable/8) or build the config from the latest stable/8 branch and 475184610Salfred install it on your system. 476184610Salfred 477188417Sthompsa Prior to this date, building a current universe on 8-stable system from 478228621Sbschmidt between 7/15/2010 and 1/2/2011 would result in a weird shell parsing 479228621Sbschmidt error in the first kernel build phase. A new config on those old 480228621Sbschmidt systems will fix that problem for older versions of -current. 481228621Sbschmidt 482184610Salfred20101228: 483188417Sthompsa The TCP stack has been modified to allow Khelp modules to interact with 484188417Sthompsa it via helper hook points and store per-connection data in the TCP 485184610Salfred control block. Bump __FreeBSD_version to 900029. User space tools that 486188417Sthompsa rely on the size of struct tcpcb in tcp_var.h (e.g. sockstat) need to 487188417Sthompsa be recompiled. 488287197Sglebius 489188417Sthompsa20101114: 490257743Shselasky Generic IEEE 802.3 annex 31B full duplex flow control support has been 491188417Sthompsa added to mii(4) and bge(4), bce(4), msk(4), nfe(4) and stge(4) along 492257743Shselasky with brgphy(4), e1000phy(4) as well as ip1000phy() have been converted 493287197Sglebius to take advantage of it instead of using custom implementations. This 494257743Shselasky means that these drivers now no longer unconditionally advertise 495257743Shselasky support for flow control but only do so if flow control is a selected 496257743Shselasky media option. This was implemented in the generic support that way in 497257743Shselasky order to allow flow control to be switched on and off via ifconfig(8) 498184610Salfred with the PHY specific default to typically off in order to protect 499188417Sthompsa from unwanted effects. Consequently, if you used flow control with 500188417Sthompsa one of the above mentioned drivers you now need to explicitly enable 501188417Sthompsa it, for example via: 502184610Salfred ifconfig bge0 media auto mediaopt flowcontrol 503206358Srpaulo 504206358Srpaulo Along with the above mentioned changes generic support for setting 505184610Salfred 1000baseT master mode also has been added and brgphy(4), ciphy(4), 506188417Sthompsa e1000phy(4) as well as ip1000phy(4) have been converted to take 507188417Sthompsa advantage of it. This means that these drivers now no longer take the 508287197Sglebius link0 parameter for selecting master mode but the master media option 509188417Sthompsa has to be used instead, for example like in the following: 510188417Sthompsa ifconfig bge0 media 1000baseT mediaopt full-duplex,master 511184610Salfred 512184610Salfred Selection of master mode now is also available with all other PHY 513184610Salfred drivers supporting 1000baseT. 514188417Sthompsa 515184610Salfred20101111: 516188417Sthompsa The TCP stack has received a significant update to add support for 517184610Salfred modularised congestion control and generally improve the clarity of 518206358Srpaulo congestion control decisions. Bump __FreeBSD_version to 900025. User 519188417Sthompsa space tools that rely on the size of struct tcpcb in tcp_var.h (e.g. 520188417Sthompsa sockstat) need to be recompiled. 521184610Salfred 522184610Salfred20101002: 523184610Salfred The man(1) utility has been replaced by a new version that no longer 524188417Sthompsa uses /etc/manpath.config. Please consult man.conf(5) for how to 525184610Salfred migrate local entries to the new format. 526188417Sthompsa 527184610Salfred20100928: 528188417Sthompsa The copyright strings printed by login(1) and sshd(8) at the time of a 529287197Sglebius new connection have been removed to follow other operating systems and 530188417Sthompsa upstream sshd. 531188417Sthompsa 532184610Salfred20100915: 533188417Sthompsa A workaround for a fixed ld bug has been removed in kernel code, 534188417Sthompsa so make sure that your system ld is built from sources after 535184610Salfred revision 210245 from 2010-07-19 (r211583 if building head kernel 536184610Salfred on stable/8, r211584 for stable/7; both from 2010-08-21). 537188419Sthompsa A symptom of incorrect ld version is different addresses for 538188419Sthompsa set_pcpu section and __start_set_pcpu symbol in kernel and/or modules. 539184610Salfred 540188417Sthompsa20100913: 541188417Sthompsa The $ipv6_prefer variable in rc.conf(5) has been split into 542184610Salfred $ip6addrctl_policy and $ipv6_activate_all_interfaces. 543188417Sthompsa 544188417Sthompsa The $ip6addrctl_policy is a variable to choose a pre-defined 545188417Sthompsa address selection policy set by ip6addrctl(8). A value 546184610Salfred "ipv4_prefer", "ipv6_prefer" or "AUTO" can be specified. The 547188417Sthompsa default is "AUTO". 548188417Sthompsa 549184610Salfred The $ipv6_activate_all_interfaces specifies whether IFDISABLED 550188417Sthompsa flag (see an entry of 20090926) is set on an interface with no 551188417Sthompsa corresponding $ifconfig_IF_ipv6 line. The default is "NO" for 552188417Sthompsa security reason. If you want IPv6 link-local address on all 553188417Sthompsa interfaces by default, set this to "YES". 554184610Salfred 555184610Salfred The old ipv6_prefer="YES" is equivalent to 556184610Salfred ipv6_activate_all_interfaces="YES" and 557188419Sthompsa ip6addrctl_policy="ipv6_prefer". 558184610Salfred 559188417Sthompsa20100913: 560188417Sthompsa DTrace has grown support for userland tracing. Due to this, DTrace is 561184610Salfred now i386 and amd64 only. 562188419Sthompsa dtruss(1) is now installed by default on those systems and a new 563188419Sthompsa kernel module is needed for userland tracing: fasttrap. 564188419Sthompsa No changes to your kernel config file are necessary to enable 565188419Sthompsa userland tracing, but you might consider adding 'STRIP=' and 566184610Salfred 'CFLAGS+=-fno-omit-frame-pointer' to your make.conf if you want 567188419Sthompsa to have informative userland stack traces in DTrace (ustack). 568188417Sthompsa 569188417Sthompsa20100725: 570184610Salfred The acpi_aiboost(4) driver has been removed in favor of the new 571188417Sthompsa aibs(4) driver. You should update your kernel configuration file. 572188417Sthompsa 573188417Sthompsa20100722: 574188417Sthompsa BSD grep has been imported to the base system and it is built by 575188417Sthompsa default. It is completely BSD licensed, highly GNU-compatible, uses 576188417Sthompsa less memory than its GNU counterpart and has a small codebase. 577188417Sthompsa However, it is slower than its GNU counterpart, which is mostly 578188417Sthompsa noticeable for larger searches, for smaller ones it is measurable 579188417Sthompsa but not significant. The reason is complex, the most important factor 580184610Salfred is that we lack a modern and efficient regex library and GNU 581184610Salfred overcomes this by optimizing the searches internally. Future work 582191746Sthompsa on improving the regex performance is planned, for the meantime, 583191746Sthompsa users that need better performance, can build GNU grep instead by 584186730Salfred setting the WITH_GNU_GREP knob. 585188417Sthompsa 586191746Sthompsa20100713: 587286950Sadrian Due to the import of powerpc64 support, all existing powerpc kernel 588188417Sthompsa configuration files must be updated with a machine directive like this: 589186730Salfred machine powerpc powerpc 590191746Sthompsa 591191746Sthompsa In addition, an updated config(8) is required to build powerpc kernels 592191746Sthompsa after this change. 593191746Sthompsa 594191746Sthompsa20100713: 595191746Sthompsa A new version of ZFS (version 15) has been merged to -HEAD. 596191746Sthompsa This version uses a python library for the following subcommands: 597188417Sthompsa zfs allow, zfs unallow, zfs groupspace, zfs userspace. 598188417Sthompsa For full functionality of these commands the following port must 599188417Sthompsa be installed: sysutils/py-zfs 600188417Sthompsa 601188417Sthompsa20100429: 602188417Sthompsa 'vm_page's are now hashed by physical address to an array of mutexes. 603184610Salfred Currently this is only used to serialize access to hold_count. Over 604188417Sthompsa time the page queue mutex will be peeled away. This changes the size 605188417Sthompsa of pmap on every architecture. And requires all callers of vm_page_hold 606188417Sthompsa and vm_page_unhold to be updated. 607191746Sthompsa 608191746Sthompsa20100402: 609188417Sthompsa WITH_CTF can now be specified in src.conf (not recommended, there 610188417Sthompsa are some problems with static executables), make.conf (would also 611191746Sthompsa affect ports which do not use GNU make and do not override the 612296356Savos compile targets) or in the kernel config (via "makeoptions 613296356Savos WITH_CTF=yes"). 614188417Sthompsa When WITH_CTF was specified there before this was silently ignored, 615188417Sthompsa so make sure that WITH_CTF is not used in places which could lead 616188417Sthompsa to unwanted behavior. 617184610Salfred 618188417Sthompsa20100311: 619188417Sthompsa The kernel option COMPAT_IA32 has been replaced with COMPAT_FREEBSD32 620188417Sthompsa to allow 32-bit compatibility on non-x86 platforms. All kernel 621191746Sthompsa configurations on amd64 and ia64 platforms using these options must 622184610Salfred be modified accordingly. 623184610Salfred 624188417Sthompsa20100113: 625188417Sthompsa The utmp user accounting database has been replaced with utmpx, 626188417Sthompsa the user accounting interface standardized by POSIX. 627184610Salfred Unfortunately the semantics of utmp and utmpx don't match, 628194677Sthompsa making it practically impossible to support both interfaces. 629184610Salfred The user accounting database is used by tools like finger(1), 630194677Sthompsa last(1), talk(1), w(1) and ac(8). 631287197Sglebius 632188417Sthompsa All applications in the base system use utmpx. This means only 633184610Salfred local binaries (e.g. from the ports tree) may still use these 634188417Sthompsa utmp database files. These applications must be rebuilt to make 635194677Sthompsa use of utmpx. 636188417Sthompsa 637194677Sthompsa After the system has been upgraded, it is safe to remove the old 638184610Salfred log files (/var/run/utmp, /var/log/lastlog and /var/log/wtmp*), 639194677Sthompsa assuming their contents is of no importance anymore. Old wtmp 640194677Sthompsa databases can only be used by last(1) and ac(8) after they have 641184610Salfred been converted to the new format using wtmpcvt(1). 642184610Salfred 643194677Sthompsa20100108: 644194677Sthompsa Introduce the kernel thread "deadlock resolver" (which can be enabled 645184610Salfred via the DEADLKRES option, see NOTES for more details) and the 646188417Sthompsa sleepq_type() function for sleepqueues. 647188417Sthompsa 648188417Sthompsa20091202: 649188417Sthompsa The rc.firewall and rc.firewall6 were unified, and 650188417Sthompsa rc.firewall6 and rc.d/ip6fw were removed. 651184610Salfred According to the removal of rc.d/ip6fw, ipv6_firewall_* rc 652188417Sthompsa variables are obsoleted. Instead, the following new rc 653188417Sthompsa variables are added to rc.d/ipfw: 654188417Sthompsa 655188417Sthompsa firewall_client_net_ipv6, firewall_simple_iif_ipv6, 656184610Salfred firewall_simple_inet_ipv6, firewall_simple_oif_ipv6, 657188417Sthompsa firewall_simple_onet_ipv6, firewall_trusted_ipv6 658188417Sthompsa 659188417Sthompsa The meanings correspond to the relevant IPv4 variables. 660188417Sthompsa 661188417Sthompsa20091125: 662188417Sthompsa 8.0-RELEASE. 663188417Sthompsa 664188417Sthompsa20091113: 665206358Srpaulo The default terminal emulation for syscons(4) has been changed 666206358Srpaulo from cons25 to xterm on all platforms except pc98. This means 667206358Srpaulo that the /etc/ttys file needs to be updated to ensure correct 668206358Srpaulo operation of applications on the console. 669206358Srpaulo 670206358Srpaulo The terminal emulation style can be toggled per window by using 671188417Sthompsa vidcontrol(1)'s -T flag. The TEKEN_CONS25 kernel configuration 672188417Sthompsa options can be used to change the compile-time default back to 673188417Sthompsa cons25. 674287197Sglebius 675287197Sglebius To prevent graphical artifacts, make sure the TERM environment 676287197Sglebius variable is set to match the terminal emulation that is being 677188417Sthompsa performed by syscons(4). 678188417Sthompsa 679188417Sthompsa20091109: 680188417Sthompsa The layout of the structure ieee80211req_scan_result has changed. 681188417Sthompsa Applications that require wireless scan results (e.g. ifconfig(8)) 682184610Salfred from net80211 need to be recompiled. 683188417Sthompsa 684188417Sthompsa Applications such as wpa_supplicant(8) may require a full world 685184610Salfred build without using NO_CLEAN in order to get synchronized with the 686194677Sthompsa new structure. 687188417Sthompsa 688184610Salfred20091025: 689188417Sthompsa The iwn(4) driver has been updated to support the 5000 and 5150 series. 690233774Shselasky There's one kernel module for each firmware. Adding "device iwnfw" 691233774Shselasky to the kernel configuration file means including all three firmware 692184610Salfred images inside the kernel. If you want to include just the one for 693188417Sthompsa your wireless card, use the devices iwn4965fw, iwn5000fw or 694188417Sthompsa iwn5150fw. 695233774Shselasky 696233774Shselasky20090926: 697188417Sthompsa The rc.d/network_ipv6, IPv6 configuration script has been integrated 698188417Sthompsa into rc.d/netif. The changes are the following: 699188417Sthompsa 700184610Salfred 1. To use IPv6, simply define $ifconfig_IF_ipv6 like $ifconfig_IF 701233774Shselasky for IPv4. For aliases, $ifconfig_IF_aliasN should be used. 702188417Sthompsa Note that both variables need the "inet6" keyword at the head. 703188417Sthompsa 704227461Shselasky Do not set $ipv6_network_interfaces manually if you do not 705188417Sthompsa understand what you are doing. It is not needed in most cases. 706188417Sthompsa 707290328Shselasky $ipv6_ifconfig_IF and $ipv6_ifconfig_IF_aliasN still work, but 708188417Sthompsa they are obsolete. 709188417Sthompsa 710184610Salfred 2. $ipv6_enable is obsolete. Use $ipv6_prefer and 711188417Sthompsa "inet6 accept_rtadv" keyword in ifconfig(8) instead. 712188417Sthompsa 713188417Sthompsa If you define $ipv6_enable=YES, it means $ipv6_prefer=YES and 714290328Shselasky all configured interfaces have "inet6 accept_rtadv" in the 715188417Sthompsa $ifconfig_IF_ipv6. These are for backward compatibility. 716188417Sthompsa 717184610Salfred 3. A new variable $ipv6_prefer has been added. If NO, IPv6 718188417Sthompsa functionality of interfaces with no corresponding 719188417Sthompsa $ifconfig_IF_ipv6 is disabled by using "inet6 ifdisabled" flag, 720188417Sthompsa and the default address selection policy of ip6addrctl(8) 721188417Sthompsa is the IPv4-preferred one (see rc.d/ip6addrctl for more details). 722184610Salfred Note that if you want to configure IPv6 functionality on the 723188417Sthompsa disabled interfaces after boot, first you need to clear the flag by 724184610Salfred using ifconfig(8) like: 725184610Salfred 726194677Sthompsa ifconfig em0 inet6 -ifdisabled 727194228Sthompsa 728188417Sthompsa If YES, the default address selection policy is set as 729184610Salfred IPv6-preferred. 730188417Sthompsa 731188417Sthompsa The default value of $ipv6_prefer is NO. 732194677Sthompsa 733188417Sthompsa 4. If your system need to receive Router Advertisement messages, 734194677Sthompsa define "inet6 accept_rtadv" in $ifconfig_IF_ipv6. The rc(8) 735188417Sthompsa scripts automatically invoke rtsol(8) when the interface becomes 736194677Sthompsa UP. The Router Advertisement messages are used for SLAAC 737188417Sthompsa (State-Less Address AutoConfiguration). 738184610Salfred 739188417Sthompsa20090922: 740188417Sthompsa 802.11s D3.03 support was committed. This is incompatible with the 741188417Sthompsa previous code, which was based on D3.0. 742184610Salfred 743188417Sthompsa20090912: 744194677Sthompsa A sysctl variable net.inet6.ip6.accept_rtadv now sets the default value 745188417Sthompsa of a per-interface flag ND6_IFF_ACCEPT_RTADV, not a global knob to 746194677Sthompsa control whether accepting Router Advertisement messages or not. 747194677Sthompsa Also, a per-interface flag ND6_IFF_AUTO_LINKLOCAL has been added and 748194677Sthompsa a sysctl variable net.inet6.ip6.auto_linklocal is its default value. 749184610Salfred The ifconfig(8) utility now supports these flags. 750188417Sthompsa 751188417Sthompsa20090910: 752194677Sthompsa ZFS snapshots are now mounted with MNT_IGNORE flag. Use -v option for 753194677Sthompsa mount(8) and -a option for df(1) to see them. 754189452Sthompsa 755189452Sthompsa20090825: 756194677Sthompsa The old tunable hw.bus.devctl_disable has been superseded by 757189452Sthompsa hw.bus.devctl_queue. hw.bus.devctl_disable=1 in loader.conf should be 758189452Sthompsa replaced by hw.bus.devctl_queue=0. The default for this new tunable 759189452Sthompsa is 1000. 760184610Salfred 761188417Sthompsa20090813: 762188417Sthompsa Remove the option STOP_NMI. The default action is now to use NMI only 763188417Sthompsa for KDB via the newly introduced function stop_cpus_hard() and 764188417Sthompsa maintain stop_cpus() to just use a normal IPI_STOP on ia32 and amd64. 765188417Sthompsa 766188417Sthompsa20090803: 767184610Salfred The stable/8 branch created in subversion. This corresponds to the 768194677Sthompsa RELENG_8 branch in CVS. 769194677Sthompsa 770184610Salfred20090719: 771194677Sthompsa Bump the shared library version numbers for all libraries that do not 772194677Sthompsa use symbol versioning as part of the 8.0-RELEASE cycle. Bump 773188417Sthompsa __FreeBSD_version to 800105. 774194228Sthompsa 775188417Sthompsa20090714: 776184610Salfred Due to changes in the implementation of virtual network stack support, 777184610Salfred all network-related kernel modules must be recompiled. As this change 778184610Salfred breaks the ABI, bump __FreeBSD_version to 800104. 779184610Salfred 780188417Sthompsa20090713: 781194677Sthompsa The TOE interface to the TCP syncache has been modified to remove 782184610Salfred struct tcpopt (<netinet/tcp_var.h>) from the ABI of the network stack. 783194677Sthompsa The cxgb driver is the only TOE consumer affected by this change, and 784184610Salfred needs to be recompiled along with the kernel. As this change breaks 785194677Sthompsa the ABI, bump __FreeBSD_version to 800103. 786188417Sthompsa 787184610Salfred20090712: 788184610Salfred Padding has been added to struct tcpcb, sackhint and tcpstat in 789184610Salfred <netinet/tcp_var.h> to facilitate future MFCs and bug fixes whilst 790184610Salfred maintaining the ABI. However, this change breaks the ABI, so bump 791184610Salfred __FreeBSD_version to 800102. User space tools that rely on the size of 792188417Sthompsa any of these structs (e.g. sockstat) need to be recompiled. 793188417Sthompsa 794188601Sthompsa20090630: 795184610Salfred The NFS_LEGACYRPC option has been removed along with the old kernel 796188417Sthompsa RPC implementation that this option selected. Kernel configurations 797188417Sthompsa may need to be adjusted. 798188417Sthompsa 799184610Salfred20090629: 800233774Shselasky The network interface device nodes at /dev/net/<interface> have been 801188417Sthompsa removed. All ioctl operations can be performed the normal way using 802188419Sthompsa routing sockets. The kqueue functionality can generally be replaced 803188417Sthompsa with routing sockets. 804227461Shselasky 805188417Sthompsa20090628: 806290328Shselasky The documentation from the FreeBSD Documentation Project (Handbook, 807184610Salfred FAQ, etc.) is now installed via packages by sysinstall(8) and under 808188417Sthompsa the /usr/local/share/doc/freebsd directory instead of /usr/share/doc. 809188417Sthompsa 810188417Sthompsa20090624: 811188417Sthompsa The ABI of various structures related to the SYSV IPC API have been 812188417Sthompsa changed. As a result, the COMPAT_FREEBSD[456] and COMPAT_43 kernel 813188417Sthompsa options now all require COMPAT_FREEBSD7. Bump __FreeBSD_version to 814188417Sthompsa 800100. 815194228Sthompsa 816194228Sthompsa20090622: 817184610Salfred Layout of struct vnet has changed as routing related variables were 818188417Sthompsa moved to their own Vimage module. Modules need to be recompiled. Bump 819188417Sthompsa __FreeBSD_version to 800099. 820188417Sthompsa 821188417Sthompsa20090619: 822188417Sthompsa NGROUPS_MAX and NGROUPS have been increased from 16 to 1023 and 1024 823188417Sthompsa respectively. As long as no more than 16 groups per process are used, 824188417Sthompsa no changes should be visible. When more than 16 groups are used, old 825184610Salfred binaries may fail if they call getgroups() or getgrouplist() with 826188417Sthompsa statically sized storage. Recompiling will work around this, but 827184610Salfred applications should be modified to use dynamically allocated storage 828184610Salfred for group arrays as POSIX.1-2008 does not cap an implementation's 829184610Salfred number of supported groups at NGROUPS_MAX+1 as previous versions did. 830188417Sthompsa 831184610Salfred NFS and portalfs mounts may also be affected as the list of groups is 832188417Sthompsa truncated to 16. Users of NFS who use more than 16 groups, should 833188417Sthompsa take care that negative group permissions are not used on the exported 834184610Salfred file systems as they will not be reliable unless a GSSAPI based 835188417Sthompsa authentication method is used. 836188417Sthompsa 837188417Sthompsa20090616: 838188417Sthompsa The compiling option ADAPTIVE_LOCKMGRS has been introduced. This 839188417Sthompsa option compiles in the support for adaptive spinning for lockmgrs 840188417Sthompsa which want to enable it. The lockinit() function now accepts the flag 841184610Salfred LK_ADAPTIVE in order to make the lock object subject to adaptive 842184610Salfred spinning when both held in write and read mode. 843184610Salfred 844188417Sthompsa20090613: 845184610Salfred The layout of the structure returned by IEEE80211_IOC_STA_INFO has 846188417Sthompsa changed. User applications that use this ioctl need to be rebuilt. 847188417Sthompsa 848184610Salfred20090611: 849184610Salfred The layout of struct thread has changed. Kernel and modules need to 850188417Sthompsa be rebuilt. 851188417Sthompsa 852188417Sthompsa20090608: 853188417Sthompsa The layout of structs ifnet, domain, protosw and vnet_net has changed. 854188417Sthompsa Kernel modules need to be rebuilt. Bump __FreeBSD_version to 800097. 855188417Sthompsa 856188417Sthompsa20090602: 857188417Sthompsa window(1) has been removed from the base system. It can now be 858184610Salfred installed from ports. The port is called misc/window. 859188417Sthompsa 860188417Sthompsa20090601: 861188417Sthompsa The way we are storing and accessing `routing table' entries has 862188417Sthompsa changed. Programs reading the FIB, like netstat, need to be 863184610Salfred re-compiled. 864188417Sthompsa 865188417Sthompsa20090601: 866184610Salfred A new netisr implementation has been added for FreeBSD 8. Network 867188417Sthompsa file system modules, such as igmp, ipdivert, and others, should be 868188417Sthompsa rebuilt. 869184610Salfred Bump __FreeBSD_version to 800096. 870188417Sthompsa 871188417Sthompsa20090530: 872188417Sthompsa Remove the tunable/sysctl debug.mpsafevfs as its initial purpose is no 873188417Sthompsa more valid. 874184610Salfred 875188417Sthompsa20090530: 876188417Sthompsa Add VOP_ACCESSX(9). File system modules need to be rebuilt. 877188417Sthompsa Bump __FreeBSD_version to 800094. 878188417Sthompsa 879184610Salfred20090529: 880188417Sthompsa Add mnt_xflag field to 'struct mount'. File system modules need to be 881184610Salfred rebuilt. 882184610Salfred Bump __FreeBSD_version to 800093. 883188417Sthompsa 884188417Sthompsa20090528: 885184610Salfred The compiling option ADAPTIVE_SX has been retired while it has been 886188417Sthompsa introduced the option NO_ADAPTIVE_SX which handles the reversed logic. 887188417Sthompsa The KPI for sx_init_flags() changes as accepting flags: 888188417Sthompsa SX_ADAPTIVESPIN flag has been retired while the SX_NOADAPTIVE flag has 889188417Sthompsa been introduced in order to handle the reversed logic. 890184610Salfred Bump __FreeBSD_version to 800092. 891188417Sthompsa 892188417Sthompsa20090527: 893188417Sthompsa Add support for hierarchical jails. Remove global securelevel. 894188417Sthompsa Bump __FreeBSD_version to 800091. 895188417Sthompsa 896188417Sthompsa20090523: 897188417Sthompsa The layout of struct vnet_net has changed, therefore modules 898188417Sthompsa need to be rebuilt. 899188417Sthompsa Bump __FreeBSD_version to 800090. 900188417Sthompsa 901188417Sthompsa20090523: 902188417Sthompsa The newly imported zic(8) produces a new format in the output. Please 903188417Sthompsa run tzsetup(8) to install the newly created data to /etc/localtime. 904184610Salfred 905184610Salfred20090520: 906188417Sthompsa The sysctl tree for the usb stack has renamed from hw.usb2.* to 907188417Sthompsa hw.usb.* and is now consistent again with previous releases. 908184610Salfred 909188417Sthompsa20090520: 910184610Salfred 802.11 monitor mode support was revised and driver api's were changed. 911188417Sthompsa Drivers dependent on net80211 now support DLT_IEEE802_11_RADIO instead 912188417Sthompsa of DLT_IEEE802_11. No user-visible data structures were changed but 913188417Sthompsa applications that use DLT_IEEE802_11 may require changes. 914188417Sthompsa Bump __FreeBSD_version to 800088. 915188417Sthompsa 916184610Salfred20090430: 917184610Salfred The layout of the following structs has changed: sysctl_oid, 918188417Sthompsa socket, ifnet, inpcbinfo, tcpcb, syncache_head, vnet_inet, 919188417Sthompsa vnet_inet6 and vnet_ipfw. Most modules need to be rebuild or 920184610Salfred panics may be experienced. World rebuild is required for 921188417Sthompsa correctly checking networking state from userland. 922188417Sthompsa Bump __FreeBSD_version to 800085. 923186730Salfred 924188417Sthompsa20090429: 925188417Sthompsa MLDv2 and Source-Specific Multicast (SSM) have been merged 926188417Sthompsa to the IPv6 stack. VIMAGE hooks are in but not yet used. 927188417Sthompsa The implementation of SSM within FreeBSD's IPv6 stack closely 928188417Sthompsa follows the IPv4 implementation. 929184610Salfred 930184610Salfred For kernel developers: 931188417Sthompsa 932188417Sthompsa * The most important changes are that the ip6_output() and 933184610Salfred ip6_input() paths no longer take the IN6_MULTI_LOCK, 934188417Sthompsa and this lock has been downgraded to a non-recursive mutex. 935188417Sthompsa 936184610Salfred * As with the changes to the IPv4 stack to support SSM, filtering 937188417Sthompsa of inbound multicast traffic must now be performed by transport 938188417Sthompsa protocols within the IPv6 stack. This does not apply to TCP and 939188417Sthompsa SCTP, however, it does apply to UDP in IPv6 and raw IPv6. 940188417Sthompsa 941188417Sthompsa * The KPIs used by IPv6 multicast are similar to those used by 942184610Salfred the IPv4 stack, with the following differences: 943184610Salfred * im6o_mc_filter() is analogous to imo_multicast_filter(). 944184610Salfred * The legacy KAME entry points in6_joingroup and in6_leavegroup() 945188417Sthompsa are shimmed to in6_mc_join() and in6_mc_leave() respectively. 946184610Salfred * IN6_LOOKUP_MULTI() has been deprecated and removed. 947188417Sthompsa * IPv6 relies on MLD for the DAD mechanism. KAME's internal KPIs 948188417Sthompsa for MLDv1 have an additional 'timer' argument which is used to 949184610Salfred jitter the initial membership report for the solicited-node 950188417Sthompsa multicast membership on-link. 951184610Salfred * This is not strictly needed for MLDv2, which already jitters 952184610Salfred its report transmissions. However, the 'timer' argument is 953188417Sthompsa preserved in case MLDv1 is active on the interface. 954184610Salfred 955184610Salfred * The KAME linked-list based IPv6 membership implementation has 956288088Sadrian been refactored to use a vector similar to that used by the IPv4 957188417Sthompsa stack. 958184610Salfred Code which maintains a list of its own multicast memberships 959184610Salfred internally, e.g. carp, has been updated to reflect the new 960184610Salfred semantics. 961288088Sadrian 962188417Sthompsa * There is a known Lock Order Reversal (LOR) due to in6_setscope() 963188417Sthompsa acquiring the IF_AFDATA_LOCK and being called within ip6_output(). 964184610Salfred Whilst MLDv2 tries to avoid this otherwise benign LOR, it is an 965188417Sthompsa implementation constraint which needs to be addressed in HEAD. 966188417Sthompsa 967184610Salfred For application developers: 968184610Salfred 969188417Sthompsa * The changes are broadly similar to those made for the IPv4 970188417Sthompsa stack. 971184610Salfred 972188417Sthompsa * The use of IPv4 and IPv6 multicast socket options on the same 973188417Sthompsa socket, using mapped addresses, HAS NOT been tested or supported. 974188417Sthompsa 975188417Sthompsa * There are a number of issues with the implementation of various 976188417Sthompsa IPv6 multicast APIs which need to be resolved in the API surface 977188417Sthompsa before the implementation is fully compatible with KAME userland 978188417Sthompsa use, and these are mostly to do with interface index treatment. 979184610Salfred 980184610Salfred * The literature available discusses the use of either the delta / ASM 981188417Sthompsa API with setsockopt(2)/getsockopt(2), or the full-state / ASM API 982188417Sthompsa using setsourcefilter(3)/getsourcefilter(3). For more information 983184610Salfred please refer to RFC 3768, 'Socket Interface Extensions for 984188417Sthompsa Multicast Source Filters'. 985188417Sthompsa 986184610Salfred * Applications which use the published RFC 3678 APIs should be fine. 987188417Sthompsa 988188417Sthompsa For systems administrators: 989184610Salfred 990188417Sthompsa * The mtest(8) utility has been refactored to support IPv6, in 991188417Sthompsa addition to IPv4. Interface addresses are no longer accepted 992188417Sthompsa as arguments, their names must be used instead. The utility 993188417Sthompsa will map the interface name to its first IPv4 address as 994188417Sthompsa returned by getifaddrs(3). 995188417Sthompsa 996184610Salfred * The ifmcstat(8) utility has also been updated to print the MLDv2 997188417Sthompsa endpoint state and source filter lists via sysctl(3). 998188417Sthompsa 999184610Salfred * The net.inet6.ip6.mcast.loop sysctl may be tuned to 0 to disable 1000184610Salfred loopback of IPv6 multicast datagrams by default; it defaults to 1 1001184610Salfred to preserve the existing behaviour. Disabling multicast loopback is 1002188417Sthompsa recommended for optimal system performance. 1003184610Salfred 1004188417Sthompsa * The IPv6 MROUTING code has been changed to examine this sysctl 1005188417Sthompsa instead of attempting to perform a group lookup before looping 1006184610Salfred back forwarded datagrams. 1007188417Sthompsa 1008184610Salfred Bump __FreeBSD_version to 800084. 1009186730Salfred 1010186730Salfred20090422: 1011188417Sthompsa Implement low-level Bluetooth HCI API. 1012188417Sthompsa Bump __FreeBSD_version to 800083. 1013186730Salfred 1014186730Salfred20090419: 1015186730Salfred The layout of struct malloc_type, used by modules to register new 1016186730Salfred memory allocation types, has changed. Most modules will need to 1017188417Sthompsa be rebuilt or panics may be experienced. 1018184610Salfred Bump __FreeBSD_version to 800081. 1019184610Salfred 1020288088Sadrian20090415: 1021188417Sthompsa Anticipate overflowing inp_flags - add inp_flags2. 1022186730Salfred This changes most offsets in inpcb, so checking v4 connection 1023188417Sthompsa state will require a world rebuild. 1024288088Sadrian Bump __FreeBSD_version to 800080. 1025188417Sthompsa 1026184610Salfred20090415: 1027188417Sthompsa Add an llentry to struct route and struct route_in6. Modules 1028186730Salfred embedding a struct route will need to be recompiled. 1029288088Sadrian Bump __FreeBSD_version to 800079. 1030188417Sthompsa 1031188417Sthompsa20090414: 1032188417Sthompsa The size of rt_metrics_lite and by extension rtentry has changed. 1033188417Sthompsa Networking administration apps will need to be recompiled. 1034184610Salfred The route command now supports show as an alias for get, weighting 1035188417Sthompsa of routes, sticky and nostick flags to alter the behavior of stateful 1036188417Sthompsa load balancing. 1037186730Salfred Bump __FreeBSD_version to 800078. 1038188417Sthompsa 1039188417Sthompsa20090408: 1040188417Sthompsa Do not use Giant for kbdmux(4) locking. This is wrong and 1041186730Salfred apparently causing more problems than it solves. This will 1042288088Sadrian re-open the issue where interrupt handlers may race with 1043188417Sthompsa kbdmux(4) in polling mode. Typical symptoms include (but 1044188417Sthompsa not limited to) duplicated and/or missing characters when 1045188417Sthompsa low level console functions (such as gets) are used while 1046188417Sthompsa interrupts are enabled (for example geli password prompt, 1047186730Salfred mountroot prompt etc.). Disabling kbdmux(4) may help. 1048288088Sadrian 1049188417Sthompsa20090407: 1050186730Salfred The size of structs vnet_net, vnet_inet and vnet_ipfw has changed; 1051288088Sadrian kernel modules referencing any of the above need to be recompiled. 1052188417Sthompsa Bump __FreeBSD_version to 800075. 1053188417Sthompsa 1054188417Sthompsa20090320: 1055188417Sthompsa GEOM_PART has become the default partition slicer for storage devices, 1056188417Sthompsa replacing GEOM_MBR, GEOM_BSD, GEOM_PC98 and GEOM_GPT slicers. It 1057188417Sthompsa introduces some changes: 1058184610Salfred 1059184610Salfred MSDOS/EBR: the devices created from MSDOS extended partition entries 1060188417Sthompsa (EBR) can be named differently than with GEOM_MBR and are now symlinks 1061188417Sthompsa to devices with offset-based names. fstabs may need to be modified. 1062186730Salfred 1063188417Sthompsa BSD: the "geometry does not match label" warning is harmless in most 1064188417Sthompsa cases but it points to problems in file system misalignment with 1065186730Salfred disk geometry. The "c" partition is now implicit, covers the whole 1066186730Salfred top-level drive and cannot be (mis)used by users. 1067288088Sadrian 1068188417Sthompsa General: Kernel dumps are now not allowed to be written to devices 1069186730Salfred whose partition types indicate they are meant to be used for file 1070186730Salfred systems (or, in case of MSDOS partitions, as something else than 1071188417Sthompsa the "386BSD" type). 1072188417Sthompsa 1073188417Sthompsa Most of these changes date approximately from 200812. 1074188417Sthompsa 1075188417Sthompsa20090319: 1076186730Salfred The uscanner(4) driver has been removed from the kernel. This follows 1077186730Salfred Linux removing theirs in 2.6 and making libusb the default interface 1078188417Sthompsa (supported by sane). 1079188417Sthompsa 1080184610Salfred20090319: 1081188417Sthompsa The multicast forwarding code has been cleaned up. netstat(1) 1082186730Salfred only relies on KVM now for printing bandwidth upcall meters. 1083186730Salfred The IPv4 and IPv6 modules are split into ip_mroute_mod and 1084186730Salfred ip6_mroute_mod respectively. The config(5) options for statically 1085186730Salfred compiling this code remain the same, i.e. 'options MROUTING'. 1086188417Sthompsa 1087186730Salfred20090315: 1088186730Salfred Support for the IFF_NEEDSGIANT network interface flag has been 1089186730Salfred removed, which means that non-MPSAFE network device drivers are no 1090186730Salfred longer supported. In particular, if_ar, if_sr, and network device 1091188417Sthompsa drivers from the old (legacy) USB stack can no longer be built or 1092184610Salfred used. 1093288088Sadrian 1094188417Sthompsa20090313: 1095186730Salfred POSIX.1 Native Language Support (NLS) has been enabled in libc and 1096184610Salfred a bunch of new language catalog files have also been added. 1097288088Sadrian This means that some common libc messages are now localized and 1098188417Sthompsa they depend on the LC_MESSAGES environmental variable. 1099184610Salfred 1100188417Sthompsa20090313: 1101288088Sadrian The k8temp(4) driver has been renamed to amdtemp(4) since 1102188417Sthompsa support for Family 10 and Family 11 CPU families was added. 1103188417Sthompsa 1104186730Salfred20090309: 1105188417Sthompsa IGMPv3 and Source-Specific Multicast (SSM) have been merged 1106188417Sthompsa to the IPv4 stack. VIMAGE hooks are in but not yet used. 1107188417Sthompsa 1108188417Sthompsa For kernel developers, the most important changes are that the 1109188417Sthompsa ip_output() and ip_input() paths no longer take the IN_MULTI_LOCK(), 1110186730Salfred and this lock has been downgraded to a non-recursive mutex. 1111288088Sadrian 1112188417Sthompsa Transport protocols (UDP, Raw IP) are now responsible for filtering 1113188417Sthompsa inbound multicast traffic according to group membership and source 1114188417Sthompsa filters. The imo_multicast_filter() KPI exists for this purpose. 1115188417Sthompsa Transports which do not use multicast (SCTP, TCP) already reject 1116186730Salfred multicast by default. Forwarding and receive performance may improve 1117188417Sthompsa as a mutex acquisition is no longer needed in the ip_input() 1118188417Sthompsa low-level input path. in_addmulti() and in_delmulti() are shimmed 1119186730Salfred to new KPIs which exist to support SSM in-kernel. 1120188417Sthompsa 1121188417Sthompsa For application developers, it is recommended that loopback of 1122188417Sthompsa multicast datagrams be disabled for best performance, as this 1123186730Salfred will still cause the lock to be taken for each looped-back 1124288088Sadrian datagram transmission. The net.inet.ip.mcast.loop sysctl may 1125188417Sthompsa be tuned to 0 to disable loopback by default; it defaults to 1 1126188417Sthompsa to preserve the existing behaviour. 1127188417Sthompsa 1128188417Sthompsa For systems administrators, to obtain best performance with 1129186730Salfred multicast reception and multiple groups, it is always recommended 1130288088Sadrian that a card with a suitably precise hash filter is used. Hash 1131188417Sthompsa collisions will still result in the lock being taken within the 1132186730Salfred transport protocol input path to check group membership. 1133288088Sadrian 1134188417Sthompsa If deploying FreeBSD in an environment with IGMP snooping switches, 1135188417Sthompsa it is recommended that the net.inet.igmp.sendlocal sysctl remain 1136188417Sthompsa enabled; this forces 224.0.0.0/24 group membership to be announced 1137188417Sthompsa via IGMP. 1138186730Salfred 1139288088Sadrian The size of 'struct igmpstat' has changed; netstat needs to be 1140188417Sthompsa recompiled to reflect this. 1141186730Salfred Bump __FreeBSD_version to 800070. 1142188417Sthompsa 1143188417Sthompsa20090309: 1144188417Sthompsa libusb20.so.1 is now installed as libusb.so.1 and the ports system 1145184610Salfred updated to use it. This requires a buildworld/installworld in order to 1146184610Salfred update the library and dependencies (usbconfig, etc). Its advisable to 1147188417Sthompsa rebuild all ports which uses libusb. More specific directions are given 1148188417Sthompsa in the ports collection UPDATING file. Any /etc/libmap.conf entries for 1149184610Salfred libusb are no longer required and can be removed. 1150188417Sthompsa 1151188417Sthompsa20090302: 1152188417Sthompsa A workaround is committed to allow the creation of System V shared 1153188417Sthompsa memory segment of size > 2 GB on the 64-bit architectures. 1154188417Sthompsa Due to a limitation of the existing ABI, the shm_segsz member 1155188417Sthompsa of the struct shmid_ds, returned by shmctl(IPC_STAT) call is 1156188417Sthompsa wrong for large segments. Note that limits must be explicitly 1157188417Sthompsa raised to allow such segments to be created. 1158188417Sthompsa 1159188417Sthompsa20090301: 1160188417Sthompsa The layout of struct ifnet has changed, requiring a rebuild of all 1161188417Sthompsa network device driver modules. 1162188417Sthompsa 1163188417Sthompsa20090227: 1164186730Salfred The /dev handling for the new USB stack has changed, a 1165188417Sthompsa buildworld/installworld is required for libusb20. 1166186730Salfred 1167184610Salfred20090223: 1168188417Sthompsa The new USB2 stack has now been permanently moved in and all kernel and 1169188417Sthompsa module names reverted to their previous values (eg, usb, ehci, ohci, 1170184610Salfred ums, ...). The old usb stack can be compiled in by prefixing the name 1171188417Sthompsa with the letter 'o', the old usb modules have been removed. 1172188417Sthompsa Updating entry 20090216 for xorg and 20090215 for libmap may still 1173188417Sthompsa apply. 1174188417Sthompsa 1175188417Sthompsa20090217: 1176188417Sthompsa The rc.conf(5) option if_up_delay has been renamed to 1177188417Sthompsa defaultroute_delay to better reflect its purpose. If you have 1178188417Sthompsa customized this setting in /etc/rc.conf you need to update it to 1179188417Sthompsa use the new name. 1180184610Salfred 1181288088Sadrian20090216: 1182188417Sthompsa xorg 7.4 wants to configure its input devices via hald which does not 1183188417Sthompsa yet work with USB2. If the keyboard/mouse does not work in xorg then 1184188417Sthompsa add 1185184610Salfred Option "AllowEmptyInput" "off" 1186184610Salfred to your ServerLayout section. This will cause X to use the configured 1187188417Sthompsa kbd and mouse sections from your xorg.conf. 1188188417Sthompsa 1189186730Salfred20090215: 1190188417Sthompsa The GENERIC kernels for all architectures now default to the new USB2 1191188417Sthompsa stack. No kernel config options or code have been removed so if a 1192186730Salfred problem arises please report it and optionally revert to the old USB 1193186730Salfred stack. If you are loading USB kernel modules or have a custom kernel 1194188417Sthompsa that includes GENERIC then ensure that usb names are also changed over, 1195188417Sthompsa eg uftdi -> usb2_serial_ftdi. 1196186730Salfred 1197288088Sadrian Older programs linked against the ports libusb 0.1 need to be 1198188417Sthompsa redirected to the new stack's libusb20. /etc/libmap.conf can 1199186730Salfred be used for this: 1200188417Sthompsa # Map old usb library to new one for usb2 stack 1201188417Sthompsa libusb-0.1.so.8 libusb20.so.1 1202188417Sthompsa 1203188417Sthompsa20090209: 1204188417Sthompsa All USB ethernet devices now attach as interfaces under the name ueN 1205188417Sthompsa (eg. ue0). This is to provide a predictable name as vendors often 1206188417Sthompsa change usb chipsets in a product without notice. 1207188417Sthompsa 1208188417Sthompsa20090203: 1209188417Sthompsa The ichsmb(4) driver has been changed to require SMBus slave 1210188417Sthompsa addresses be left-justified (xxxxxxx0b) rather than right-justified. 1211188417Sthompsa All of the other SMBus controller drivers require left-justified 1212186730Salfred slave addresses, so this change makes all the drivers provide the 1213186730Salfred same interface. 1214186730Salfred 1215186730Salfred20090201: 1216188417Sthompsa INET6 statistics (struct ip6stat) was updated. 1217186730Salfred netstat(1) needs to be recompiled. 1218186730Salfred 1219186730Salfred20090119: 1220188417Sthompsa NTFS has been removed from GENERIC kernel on amd64 to match 1221188417Sthompsa GENERIC on i386. Should not cause any issues since mount_ntfs(8) 1222186730Salfred will load ntfs.ko module automatically when NTFS support is 1223188417Sthompsa actually needed, unless ntfs.ko is not installed or security 1224188417Sthompsa level prohibits loading kernel modules. If either is the case, 1225287197Sglebius "options NTFS" has to be added into kernel config. 1226186730Salfred 1227188601Sthompsa20090115: 1228186730Salfred TCP Appropriate Byte Counting (RFC 3465) support added to kernel. 1229188417Sthompsa New field in struct tcpcb breaks ABI, so bump __FreeBSD_version to 1230186730Salfred 800061. User space tools that rely on the size of struct tcpcb in 1231188417Sthompsa tcp_var.h (e.g. sockstat) need to be recompiled. 1232288088Sadrian 1233188417Sthompsa20081225: 1234188417Sthompsa ng_tty(4) module updated to match the new TTY subsystem. 1235188417Sthompsa Due to API change, user-level applications must be updated. 1236186730Salfred New API support added to mpd5 CVS and expected to be present 1237186730Salfred in next mpd5.3 release. 1238184610Salfred 1239184610Salfred20081219: 1240184610Salfred With __FreeBSD_version 800060 the makefs tool is part of 1241188417Sthompsa the base system (it was a port). 1242188417Sthompsa 1243184610Salfred20081216: 1244188417Sthompsa The afdata and ifnet locks have been changed from mutexes to 1245184610Salfred rwlocks, network modules will need to be re-compiled. 1246184610Salfred 1247184610Salfred20081214: 1248184610Salfred __FreeBSD_version 800059 incorporates the new arp-v2 rewrite. 1249184610Salfred RTF_CLONING, RTF_LLINFO and RTF_WASCLONED flags are eliminated. 1250188417Sthompsa The new code reduced struct rtentry{} by 16 bytes on 32-bit 1251184610Salfred architecture and 40 bytes on 64-bit architecture. The userland 1252184610Salfred applications "arp" and "ndp" have been updated accordingly. 1253184610Salfred The output from "netstat -r" shows only routing entries and 1254184610Salfred none of the L2 information. 1255288088Sadrian 1256188417Sthompsa20081130: 1257188417Sthompsa __FreeBSD_version 800057 marks the switchover from the 1258184610Salfred binary ath hal to source code. Users must add the line: 1259288088Sadrian 1260188417Sthompsa options AH_SUPPORT_AR5416 1261188417Sthompsa 1262184610Salfred to their kernel config files when specifying: 1263184610Salfred 1264288088Sadrian device ath_hal 1265188417Sthompsa 1266188417Sthompsa The ath_hal module no longer exists; the code is now compiled 1267184610Salfred together with the driver in the ath module. It is now 1268288088Sadrian possible to tailor chip support (i.e. reduce the set of chips 1269188417Sthompsa and thereby the code size); consult ath_hal(4) for details. 1270188417Sthompsa 1271184610Salfred20081121: 1272184610Salfred __FreeBSD_version 800054 adds memory barriers to 1273288088Sadrian <machine/atomic.h>, new interfaces to ifnet to facilitate 1274188417Sthompsa multiple hardware transmit queues for cards that support 1275188417Sthompsa them, and a lock-less ring-buffer implementation to 1276188417Sthompsa enable drivers to more efficiently manage queueing of 1277184610Salfred packets. 1278184610Salfred 1279188417Sthompsa20081117: 1280188417Sthompsa A new version of ZFS (version 13) has been merged to -HEAD. 1281184610Salfred This version has zpool attribute "listsnapshots" off by 1282188417Sthompsa default, which means "zfs list" does not show snapshots, 1283188417Sthompsa and is the same as Solaris behavior. 1284188417Sthompsa 1285188417Sthompsa20081028: 1286188417Sthompsa dummynet(4) ABI has changed. ipfw(8) needs to be recompiled. 1287188417Sthompsa 1288188417Sthompsa20081009: 1289188417Sthompsa The uhci, ohci, ehci and slhci USB Host controller drivers have 1290188417Sthompsa been put into separate modules. If you load the usb module 1291188417Sthompsa separately through loader.conf you will need to load the 1292188417Sthompsa appropriate *hci module as well. E.g. for a UHCI-based USB 2.0 1293188417Sthompsa controller add the following to loader.conf: 1294188417Sthompsa 1295184610Salfred uhci_load="YES" 1296188417Sthompsa ehci_load="YES" 1297188417Sthompsa 1298184610Salfred20081009: 1299188417Sthompsa The ABI used by the PMC toolset has changed. Please keep 1300184610Salfred userland (libpmc(3)) and the kernel module (hwpmc(4)) in 1301188417Sthompsa sync. 1302188417Sthompsa 1303184610Salfred20081009: 1304288088Sadrian atapci kernel module now includes only generic PCI ATA 1305188417Sthompsa driver. AHCI driver moved to ataahci kernel module. 1306188417Sthompsa All vendor-specific code moved into separate kernel modules: 1307184610Salfred ataacard, ataacerlabs, ataadaptec, ataamd, ataati, atacenatek, 1308184610Salfred atacypress, atacyrix, atahighpoint, ataintel, ataite, atajmicron, 1309188417Sthompsa atamarvell, atamicron, atanational, atanetcell, atanvidia, 1310188417Sthompsa atapromise, ataserverworks, atasiliconimage, atasis, atavia 1311188417Sthompsa 1312188417Sthompsa20080820: 1313188417Sthompsa The TTY subsystem of the kernel has been replaced by a new 1314184610Salfred implementation, which provides better scalability and an 1315188417Sthompsa improved driver model. Most common drivers have been migrated to 1316188417Sthompsa the new TTY subsystem, while others have not. The following 1317188417Sthompsa drivers have not yet been ported to the new TTY layer: 1318188417Sthompsa 1319188417Sthompsa PCI/ISA: 1320188417Sthompsa cy, digi, rc, rp, sio 1321188417Sthompsa 1322188417Sthompsa USB: 1323188417Sthompsa ubser, ucycom 1324184610Salfred 1325188417Sthompsa Line disciplines: 1326188417Sthompsa ng_h4, ng_tty, ppp, sl, snp 1327188417Sthompsa 1328188417Sthompsa Adding these drivers to your kernel configuration file shall 1329188417Sthompsa cause compilation to fail. 1330184610Salfred 1331184610Salfred20080818: 1332184610Salfred ntpd has been upgraded to 4.2.4p5. 1333184610Salfred 1334184610Salfred20080801: 1335188417Sthompsa OpenSSH has been upgraded to 5.1p1. 1336188417Sthompsa 1337184610Salfred For many years, FreeBSD's version of OpenSSH preferred DSA 1338188417Sthompsa over RSA for host and user authentication keys. With this 1339184610Salfred upgrade, we've switched to the vendor's default of RSA over 1340184610Salfred DSA. This may cause upgraded clients to warn about unknown 1341184610Salfred host keys even for previously known hosts. Users should 1342188417Sthompsa follow the usual procedure for verifying host keys before 1343184610Salfred accepting the RSA key. 1344188417Sthompsa 1345184610Salfred This can be circumvented by setting the "HostKeyAlgorithms" 1346184610Salfred option to "ssh-dss,ssh-rsa" in ~/.ssh/config or on the ssh 1347288088Sadrian command line. 1348188417Sthompsa 1349188417Sthompsa Please note that the sequence of keys offered for 1350184610Salfred authentication has been changed as well. You may want to 1351288088Sadrian specify IdentityFile in a different order to revert this 1352188417Sthompsa behavior. 1353188417Sthompsa 1354184610Salfred20080713: 1355188417Sthompsa The sio(4) driver has been removed from the i386 and amd64 1356188417Sthompsa kernel configuration files. This means uart(4) is now the 1357188417Sthompsa default serial port driver on those platforms as well. 1358188417Sthompsa 1359188417Sthompsa To prevent collisions with the sio(4) driver, the uart(4) driver 1360188417Sthompsa uses different names for its device nodes. This means the 1361188417Sthompsa onboard serial port will now most likely be called "ttyu0" 1362188417Sthompsa instead of "ttyd0". You may need to reconfigure applications to 1363188417Sthompsa use the new device names. 1364188417Sthompsa 1365184610Salfred When using the serial port as a boot console, be sure to update 1366184610Salfred /boot/device.hints and /etc/ttys before booting the new kernel. 1367188417Sthompsa If you forget to do so, you can still manually specify the hints 1368188417Sthompsa at the loader prompt: 1369184610Salfred 1370188417Sthompsa set hint.uart.0.at="isa" 1371188417Sthompsa set hint.uart.0.port="0x3F8" 1372188417Sthompsa set hint.uart.0.flags="0x10" 1373188417Sthompsa set hint.uart.0.irq="4" 1374188417Sthompsa boot -s 1375188417Sthompsa 1376188417Sthompsa20080609: 1377188417Sthompsa The gpt(8) utility has been removed. Use gpart(8) to partition 1378188417Sthompsa disks instead. 1379188417Sthompsa 1380184610Salfred20080603: 1381184610Salfred The version that Linuxulator emulates was changed from 2.4.2 1382184610Salfred to 2.6.16. If you experience any problems with Linux binaries 1383188417Sthompsa please try to set sysctl compat.linux.osrelease to 2.4.2 and 1384188417Sthompsa if it fixes the problem contact emulation mailing list. 1385188417Sthompsa 1386188417Sthompsa20080525: 1387188417Sthompsa ISDN4BSD (I4B) was removed from the src tree. You may need to 1388188417Sthompsa update a your kernel configuration and remove relevant entries. 1389188417Sthompsa 1390188417Sthompsa20080509: 1391184610Salfred I have checked in code to support multiple routing tables. 1392184610Salfred See the man pages setfib(1) and setfib(2). 1393188417Sthompsa This is a hopefully backwards compatible version, 1394188417Sthompsa but to make use of it you need to compile your kernel 1395188417Sthompsa with options ROUTETABLES=2 (or more up to 16). 1396184610Salfred 1397188417Sthompsa20080420: 1398188417Sthompsa The 802.11 wireless support was redone to enable multi-bss 1399188417Sthompsa operation on devices that are capable. The underlying device 1400184610Salfred is no longer used directly but instead wlanX devices are 1401184610Salfred cloned with ifconfig. This requires changes to rc.conf files. 1402184610Salfred For example, change: 1403184610Salfred ifconfig_ath0="WPA DHCP" 1404184610Salfred to 1405188417Sthompsa wlans_ath0=wlan0 1406188417Sthompsa ifconfig_wlan0="WPA DHCP" 1407184610Salfred see rc.conf(5) for more details. In addition, mergemaster of 1408193420Sweongyo /etc/rc.d is highly recommended. Simultaneous update of userland 1409188417Sthompsa and kernel wouldn't hurt either. 1410184610Salfred 1411184610Salfred As part of the multi-bss changes the wlan_scan_ap and wlan_scan_sta 1412193420Sweongyo modules were merged into the base wlan module. All references 1413193420Sweongyo to these modules (e.g. in kernel config files) must be removed. 1414193420Sweongyo 1415184610Salfred20080408: 1416184610Salfred psm(4) has gained write(2) support in native operation level. 1417288088Sadrian Arbitrary commands can be written to /dev/psm%d and status can 1418188417Sthompsa be read back from it. Therefore, an application is responsible 1419188417Sthompsa for status validation and error recovery. It is a no-op in 1420184610Salfred other operation levels. 1421288088Sadrian 1422188417Sthompsa20080312: 1423188417Sthompsa Support for KSE threading has been removed from the kernel. To 1424184610Salfred run legacy applications linked against KSE libmap.conf may 1425193420Sweongyo be used. The following libmap.conf may be used to ensure 1426193420Sweongyo compatibility with any prior release: 1427193420Sweongyo 1428193420Sweongyo libpthread.so.1 libthr.so.1 1429193420Sweongyo libpthread.so.2 libthr.so.2 1430288088Sadrian libkse.so.3 libthr.so.3 1431193420Sweongyo 1432193420Sweongyo20080301: 1433193420Sweongyo The layout of struct vmspace has changed. This affects libkvm 1434193420Sweongyo and any executables that link against libkvm and use the 1435193420Sweongyo kvm_getprocs() function. In particular, but not exclusively, 1436193420Sweongyo it affects ps(1), fstat(1), pkill(1), systat(1), top(1) and w(1). 1437193420Sweongyo The effects are minimal, but it's advisable to upgrade world 1438193420Sweongyo nonetheless. 1439193420Sweongyo 1440193420Sweongyo20080229: 1441193420Sweongyo The latest em driver no longer has support in it for the 1442193420Sweongyo 82575 adapter, this is now moved to the igb driver. The 1443193420Sweongyo split was done to make new features that are incompatible 1444193420Sweongyo with older hardware easier to do. 1445193420Sweongyo 1446193420Sweongyo20080220: 1447193420Sweongyo The new geom_lvm(4) geom class has been renamed to geom_linux_lvm(4), 1448193420Sweongyo likewise the kernel option is now GEOM_LINUX_LVM. 1449193420Sweongyo 1450193420Sweongyo20080211: 1451193420Sweongyo The default NFS mount mode has changed from UDP to TCP for 1452193420Sweongyo increased reliability. If you rely on (insecurely) NFS 1453193420Sweongyo mounting across a firewall you may need to update your 1454193420Sweongyo firewall rules. 1455188417Sthompsa 1456188417Sthompsa20080208: 1457193420Sweongyo Belatedly note the addition of m_collapse for compacting 1458184610Salfred mbuf chains. 1459184610Salfred 1460188417Sthompsa20080126: 1461193420Sweongyo The fts(3) structures have been changed to use adequate 1462184610Salfred integer types for their members and so to be able to cope 1463193420Sweongyo with huge file trees. The old fts(3) ABI is preserved 1464193420Sweongyo through symbol versioning in libc, so third-party binaries 1465193420Sweongyo using fts(3) should still work, although they will not take 1466193420Sweongyo advantage of the extended types. At the same time, some 1467193420Sweongyo third-party software might fail to build after this change 1468188417Sthompsa due to unportable assumptions made in its source code about 1469288088Sadrian fts(3) structure members. Such software should be fixed 1470193420Sweongyo by its vendor or, in the worst case, in the ports tree. 1471193420Sweongyo FreeBSD_version 800015 marks this change for the unlikely 1472193420Sweongyo case that a portable fix is impossible. 1473193420Sweongyo 1474188417Sthompsa20080123: 1475188417Sthompsa To upgrade to -current after this date, you must be running 1476188417Sthompsa FreeBSD not older than 6.0-RELEASE. Upgrading to -current 1477193420Sweongyo from 5.x now requires a stop over at RELENG_6 or RELENG_7 systems. 1478188417Sthompsa 1479193420Sweongyo20071128: 1480188417Sthompsa The ADAPTIVE_GIANT kernel option has been retired because its 1481193420Sweongyo functionality is the default now. 1482193420Sweongyo 1483193420Sweongyo20071118: 1484184610Salfred The AT keyboard emulation of sunkbd(4) has been turned on 1485193420Sweongyo by default. In order to make the special symbols of the Sun 1486193420Sweongyo keyboards driven by sunkbd(4) work under X these now have 1487188417Sthompsa to be configured the same way as Sun USB keyboards driven 1488193420Sweongyo by ukbd(4) (which also does AT keyboard emulation), f.e.: 1489193420Sweongyo 1490184610Salfred Option "XkbLayout" "us" 1491184610Salfred Option "XkbRules" "xorg" 1492188417Sthompsa Option "XkbSymbols" "pc(pc105)+sun_vndr/usb(sun_usb)+us" 1493193420Sweongyo 1494184610Salfred20071024: 1495188417Sthompsa It has been decided that it is desirable to provide ABI 1496184610Salfred backwards compatibility to the FreeBSD 4/5/6 versions of the 1497193420Sweongyo PCIOCGETCONF, PCIOCREAD and PCIOCWRITE IOCTLs, which was 1498184610Salfred broken with the introduction of PCI domain support (see the 1499184610Salfred 20070930 entry). Unfortunately, this required the ABI of 1500188417Sthompsa PCIOCGETCONF to be broken again in order to be able to 1501193420Sweongyo provide backwards compatibility to the old version of that 1502184610Salfred IOCTL. Thus consumers of PCIOCGETCONF have to be recompiled 1503193420Sweongyo again. As for prominent ports this affects neither pciutils 1504193420Sweongyo nor xorg-server this time, the hal port needs to be rebuilt 1505188417Sthompsa however. 1506193420Sweongyo 1507193420Sweongyo20071020: 1508193420Sweongyo The misnamed kthread_create() and friends have been renamed 1509193420Sweongyo to kproc_create() etc. Many of the callers already 1510193420Sweongyo used kproc_start().. 1511193420Sweongyo I will return kthread_create() and friends in a while 1512193420Sweongyo with implementations that actually create threads, not procs. 1513193420Sweongyo Renaming corresponds with version 800002. 1514193420Sweongyo 1515188417Sthompsa20071010: 1516188417Sthompsa RELENG_7 branched. 1517188417Sthompsa 1518193420SweongyoCOMMON ITEMS: 1519188417Sthompsa 1520193420Sweongyo General Notes 1521188417Sthompsa ------------- 1522193420Sweongyo Avoid using make -j when upgrading. While generally safe, there are 1523193420Sweongyo sometimes problems using -j to upgrade. If your upgrade fails with 1524193420Sweongyo -j, please try again without -j. From time to time in the past there 1525193420Sweongyo have been problems using -j with buildworld and/or installworld. This 1526193420Sweongyo is especially true when upgrading between "distant" versions (eg one 1527184610Salfred that cross a major release boundary or several minor releases, or when 1528193420Sweongyo several months have passed on the -current branch). 1529188417Sthompsa 1530188417Sthompsa Sometimes, obscure build problems are the result of environment 1531193420Sweongyo poisoning. This can happen because the make utility reads its 1532193420Sweongyo environment when searching for values for global variables. To run 1533188417Sthompsa your build attempts in an "environmental clean room", prefix all make 1534188417Sthompsa commands with 'env -i '. See the env(1) manual page for more details. 1535193420Sweongyo 1536193420Sweongyo When upgrading from one major version to another it is generally best 1537193420Sweongyo to upgrade to the latest code in the currently installed branch first, 1538288088Sadrian then do an upgrade to the new branch. This is the best-tested upgrade 1539193420Sweongyo path, and has the highest probability of being successful. Please try 1540193420Sweongyo this approach before reporting problems with a major version upgrade. 1541193420Sweongyo 1542193420Sweongyo ZFS notes 1543193420Sweongyo --------- 1544188417Sthompsa When upgrading the boot ZFS pool to a new version, always follow 1545188417Sthompsa these two steps: 1546184610Salfred 1547184610Salfred 1.) recompile and reinstall the ZFS boot loader and boot block 1548193420Sweongyo (this is part of "make buildworld" and "make installworld") 1549193420Sweongyo 1550193420Sweongyo 2.) update the ZFS boot block on your boot drive 1551193420Sweongyo 1552193420Sweongyo The following example updates the ZFS boot block on the first 1553193420Sweongyo partition (freebsd-boot) of a GPT partitioned drive ad0: 1554193420Sweongyo "gpart bootcode -p /boot/gptzfsboot -i 1 ad0" 1555288088Sadrian 1556193420Sweongyo Non-boot pools do not need these updates. 1557193420Sweongyo 1558193420Sweongyo To build a kernel 1559193420Sweongyo ----------------- 1560193420Sweongyo If you are updating from a prior version of FreeBSD (even one just 1561193420Sweongyo a few days old), you should follow this procedure. It is the most 1562193420Sweongyo failsafe as it uses a /usr/obj tree with a fresh mini-buildworld, 1563193420Sweongyo 1564184610Salfred make kernel-toolchain 1565184610Salfred make -DALWAYS_CHECK_MAKE buildkernel KERNCONF=YOUR_KERNEL_HERE 1566184610Salfred make -DALWAYS_CHECK_MAKE installkernel KERNCONF=YOUR_KERNEL_HERE 1567188417Sthompsa 1568188417Sthompsa To test a kernel once 1569184610Salfred --------------------- 1570188417Sthompsa If you just want to boot a kernel once (because you are not sure 1571184610Salfred if it works, or if you want to boot a known bad kernel to provide 1572184610Salfred debugging information) run 1573184610Salfred make installkernel KERNCONF=YOUR_KERNEL_HERE KODIR=/boot/testkernel 1574188417Sthompsa nextboot -k testkernel 1575184610Salfred 1576184610Salfred To just build a kernel when you know that it won't mess you up 1577288088Sadrian -------------------------------------------------------------- 1578188417Sthompsa This assumes you are already running a CURRENT system. Replace 1579184610Salfred ${arch} with the architecture of your machine (e.g. "i386", 1580188417Sthompsa "arm", "amd64", "ia64", "pc98", "sparc64", "powerpc", "mips", etc). 1581188417Sthompsa 1582188417Sthompsa cd src/sys/${arch}/conf 1583184610Salfred config KERNEL_NAME_HERE 1584288088Sadrian cd ../compile/KERNEL_NAME_HERE 1585188417Sthompsa make depend 1586188417Sthompsa make 1587184610Salfred make install 1588188417Sthompsa 1589188417Sthompsa If this fails, go to the "To build a kernel" section. 1590188417Sthompsa 1591188417Sthompsa To rebuild everything and install it on the current system. 1592184610Salfred ----------------------------------------------------------- 1593184610Salfred # Note: sometimes if you are running current you gotta do more than 1594188417Sthompsa # is listed here if you are upgrading from a really old current. 1595188417Sthompsa 1596184610Salfred <make sure you have good level 0 dumps> 1597188417Sthompsa make buildworld 1598188417Sthompsa make kernel KERNCONF=YOUR_KERNEL_HERE 1599188417Sthompsa [1] 1600188417Sthompsa <reboot in single user> [3] 1601188417Sthompsa mergemaster -p [5] 1602188417Sthompsa make installworld 1603188417Sthompsa mergemaster -i [4] 1604188417Sthompsa make delete-old [6] 1605188417Sthompsa <reboot> 1606184610Salfred 1607184610Salfred 1608184610Salfred To cross-install current onto a separate partition 1609188417Sthompsa -------------------------------------------------- 1610188417Sthompsa # In this approach we use a separate partition to hold 1611184610Salfred # current's root, 'usr', and 'var' directories. A partition 1612188417Sthompsa # holding "/", "/usr" and "/var" should be about 2GB in 1613184610Salfred # size. 1614184610Salfred 1615184610Salfred <make sure you have good level 0 dumps> 1616184610Salfred <boot into -stable> 1617184610Salfred make buildworld 1618184610Salfred make buildkernel KERNCONF=YOUR_KERNEL_HERE 1619184610Salfred <maybe newfs current's root partition> 1620288088Sadrian <mount current's root partition on directory ${CURRENT_ROOT}> 1621188417Sthompsa make installworld DESTDIR=${CURRENT_ROOT} 1622184610Salfred make distribution DESTDIR=${CURRENT_ROOT} # if newfs'd 1623188417Sthompsa make installkernel KERNCONF=YOUR_KERNEL_HERE DESTDIR=${CURRENT_ROOT} 1624188417Sthompsa cp /etc/fstab ${CURRENT_ROOT}/etc/fstab # if newfs'd 1625188417Sthompsa <edit ${CURRENT_ROOT}/etc/fstab to mount "/" from the correct partition> 1626184610Salfred <reboot into current> 1627188417Sthompsa <do a "native" rebuild/install as described in the previous section> 1628188417Sthompsa <maybe install compatibility libraries from ports/misc/compat*> 1629188417Sthompsa <reboot> 1630188417Sthompsa 1631188417Sthompsa 1632188417Sthompsa To upgrade in-place from stable to current 1633184610Salfred ---------------------------------------------- 1634184610Salfred <make sure you have good level 0 dumps> 1635288088Sadrian make buildworld [9] 1636188417Sthompsa make kernel KERNCONF=YOUR_KERNEL_HERE [8] 1637188417Sthompsa [1] 1638184610Salfred <reboot in single user> [3] 1639188417Sthompsa mergemaster -p [5] 1640188417Sthompsa make installworld 1641188417Sthompsa mergemaster -i [4] 1642188417Sthompsa make delete-old [6] 1643184610Salfred <reboot> 1644184610Salfred 1645188417Sthompsa Make sure that you've read the UPDATING file to understand the 1646188417Sthompsa tweaks to various things you need. At this point in the life 1647184610Salfred cycle of current, things change often and you are on your own 1648188417Sthompsa to cope. The defaults can also change, so please read ALL of 1649184610Salfred the UPDATING entries. 1650188417Sthompsa 1651193420Sweongyo Also, if you are tracking -current, you must be subscribed to 1652188417Sthompsa freebsd-current@freebsd.org. Make sure that before you update 1653188417Sthompsa your sources that you have read and understood all the recent 1654184610Salfred messages there. If in doubt, please track -stable which has 1655188417Sthompsa much fewer pitfalls. 1656188417Sthompsa 1657188417Sthompsa [1] If you have third party modules, such as vmware, you 1658188417Sthompsa should disable them at this point so they don't crash your 1659184610Salfred system on reboot. 1660184610Salfred 1661186730Salfred [3] From the bootblocks, boot -s, and then do 1662188417Sthompsa fsck -p 1663188417Sthompsa mount -u / 1664188417Sthompsa mount -a 1665186730Salfred cd src 1666188417Sthompsa adjkerntz -i # if CMOS is wall time 1667188417Sthompsa Also, when doing a major release upgrade, it is required that 1668186730Salfred you boot into single user mode to do the installworld. 1669188417Sthompsa 1670188417Sthompsa [4] Note: This step is non-optional. Failure to do this step 1671188417Sthompsa can result in a significant reduction in the functionality of the 1672184610Salfred system. Attempting to do it by hand is not recommended and those 1673184610Salfred that pursue this avenue should read this file carefully, as well 1674188417Sthompsa as the archives of freebsd-current and freebsd-hackers mailing lists 1675188417Sthompsa for potential gotchas. The -U option is also useful to consider. 1676188417Sthompsa See mergemaster(8) for more information. 1677188417Sthompsa 1678184610Salfred [5] Usually this step is a noop. However, from time to time 1679184610Salfred you may need to do this if you get unknown user in the following 1680188417Sthompsa step. It never hurts to do it all the time. You may need to 1681188417Sthompsa install a new mergemaster (cd src/usr.sbin/mergemaster && make 1682188417Sthompsa install) after the buildworld before this step if you last updated 1683188417Sthompsa from current before 20020224 or from -stable before 20020408. 1684184610Salfred 1685193420Sweongyo [6] This only deletes old files and directories. Old libraries 1686184610Salfred can be deleted by "make delete-old-libs", but you have to make 1687188417Sthompsa sure that no program is using those libraries anymore. 1688188417Sthompsa 1689188417Sthompsa [8] In order to have a kernel that can run the 4.x binaries needed to 1690193420Sweongyo do an installworld, you must include the COMPAT_FREEBSD4 option in 1691193420Sweongyo your kernel. Failure to do so may leave you with a system that is 1692184610Salfred hard to boot to recover. A similar kernel option COMPAT_FREEBSD5 is 1693184610Salfred required to run the 5.x binaries on more recent kernels. And so on 1694188417Sthompsa for COMPAT_FREEBSD6 and COMPAT_FREEBSD7. 1695188417Sthompsa 1696188417Sthompsa Make sure that you merge any new devices from GENERIC since the 1697188417Sthompsa last time you updated your kernel config file. 1698184610Salfred 1699184610Salfred [9] When checking out sources, you must include the -P flag to have 1700188417Sthompsa cvs prune empty directories. 1701188417Sthompsa 1702188417Sthompsa If CPUTYPE is defined in your /etc/make.conf, make sure to use the 1703188417Sthompsa "?=" instead of the "=" assignment operator, so that buildworld can 1704184610Salfred override the CPUTYPE if it needs to. 1705188417Sthompsa 1706188417Sthompsa MAKEOBJDIRPREFIX must be defined in an environment variable, and 1707184610Salfred not on the command line, or in /etc/make.conf. buildworld will 1708188417Sthompsa warn if it is improperly defined. 1709188417SthompsaFORMAT: 1710188417Sthompsa 1711188417SthompsaThis file contains a list, in reverse chronological order, of major 1712188417Sthompsabreakages in tracking -current. It is not guaranteed to be a complete 1713188417Sthompsalist of such breakages, and only contains entries since October 10, 2007. 1714188417SthompsaIf you need to see UPDATING entries from before that date, you will need 1715188417Sthompsato fetch an UPDATING file from an older FreeBSD release. 1716188417Sthompsa 1717184610SalfredCopyright information: 1718188417Sthompsa 1719184610SalfredCopyright 1998-2009 M. Warner Losh. All Rights Reserved. 1720184610Salfred 1721188417SthompsaRedistribution, publication, translation and use, with or without 1722188417Sthompsamodification, in full or in part, in any form or format of this 1723184610Salfreddocument are permitted without further permission from the author. 1724188417Sthompsa 1725184610SalfredTHIS DOCUMENT IS PROVIDED BY WARNER LOSH ``AS IS'' AND ANY EXPRESS OR 1726188417SthompsaIMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 1727188417SthompsaWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 1728184610SalfredDISCLAIMED. IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT, 1729184610SalfredINDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 1730188417Sthompsa(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 1731188417SthompsaSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 1732188417SthompsaHOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 1733188417SthompsaSTRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 1734184610SalfredIN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 1735184610SalfredPOSSIBILITY OF SUCH DAMAGE. 1736188417Sthompsa 1737188417SthompsaContact Warner Losh if you have any questions about your use of 1738188417Sthompsathis document. 1739186730Salfred 1740188417Sthompsa$FreeBSD: head/UPDATING 244585 2012-12-22 13:43:12Z jh $ 1741186730Salfred