1# Updating Information for DragonFly users. 2# 3# 4# This file should warn you of any pitfalls which you might need to work around 5# when trying to update your DragonFly system. The information below is 6# in reverse-time order, with the latest information at the top. 7# 8# If you discover any problem, please contact the bugs@lists.dragonflybsd.org 9# mailing list with the details. 10 11+-----------------------------------------------------------------------+ 12+ UPGRADING DRAGONFLY FROM 6.0 TO LATER VERSIONS + 13+-----------------------------------------------------------------------+ 14 15A.OUT AND GZIPPED A.OUT EXECUTABLE SUPPORT REMOVED 16-------------------------------------------------- 17 18These have not been useful for a long time, if ever. 19 20ACPI_NO_SEMAPHORES OPTION REMOVED 21--------------------------------- 22 23The ACPI_NO_SEMAPHORES kernel configuration option has been removed. It 24was never part of our default kernel config. 25 26NDIS DRIVER REMOVED 27------------------- 28 29The ndis(4) driver has been removed. The NDISAPI kernel option has been 30made a no-op and will be removed at a later point in time. Users with a 31custom kernel configuration can remove this option from it now. 32 33+-----------------------------------------------------------------------+ 34+ UPGRADING DRAGONFLY FROM 5.6 TO LATER VERSIONS + 35+-----------------------------------------------------------------------+ 36 37BINUTILS 2.34 REPLACES 2.25, PRIMARY 38------------------------------------ 39 40The oldest of the two versions of Binutils, version 2.25, was removed 41and replaced with Binutils 2.34. It becomes the primary version of 42binutils and version 2.27 becomes the alternate. 43 44The accepted values of BINUTILSVER are now "binutils234" (default) and 45"binutils227". The building of Binutils 2.27 can be prevented by setting 46NO_ALTBINUTILS=yes in make.conf 47 48LIBRADIUS AND LIBTACPLUS REMOVED 49-------------------------------- 50 51Both libraries have been moved from base to DPorts net/ category. 52 53PAM_SSH MODULE REMOVED 54---------------------- 55 56The pam_ssh(8) have been removed from base to DPorts security/pam_ssh. 57 58UTMP LEGACY API REMOVED 59----------------------- 60 61The legacy "utmp" API (getutent() and friends, utmp.h, etc.) has been 62removed, and we are now using the POSIX "utmpx" API (getutxent(), 63utmpx.h, etc.) only. The most visible change for users is that the 64/var/log/wtmp file will no longer be written to, just /var/log/wtmpx. 65The wtmpcvt(1) utility is provided to convert old wtmp format files to 66wtmpx. 67 68To not break old applications, the utmp symbols are still provided by 69libc as dummy functions that do nothing and always succeed. 70 71TIMED AND TIMEDC REMOVED 72------------------------ 73 74timed(8) and timedc(8) have been removed because they are beyond 75obsolete for setting the time. 76 77LIBOPIE, LIBMD REMOVED 78---------------------- 79 80Removal of OPIE requires /etc/pam.d/ configs to be updated. 81 82+-----------------------------------------------------------------------+ 83+ UPGRADING DRAGONFLY FROM 5.4 TO LATER VERSIONS + 84+-----------------------------------------------------------------------+ 85 86GCC50 REMOVED 87------------- 88 89The GCC50 compiler has been retired. It has been replaced by a GCC80. 90The default alternative compiler has stayed the same - GCC47. 91 92 93PUFFS, PUTTER AND LIBREFUSE REMOVED 94----------------------------------- 95 96The puffs(4)/putter(4) subsystem has been removed, along with librefuse, 97libpuffs, and the mount_psshfs(8) utility. All of these have never been 98working correctly. 99 100FFS_ROOT OPTION REMOVED 101----------------------- 102 103The FFS_ROOT kernel configuration option has been finally removed, after 104having been a no-op since 4.9. That means users using a custom kernel 105configuration file that still contains it need to remove the option from 106that file. 107 108+-----------------------------------------------------------------------+ 109+ UPGRADING DRAGONFLY FROM 5.2 TO LATER VERSIONS + 110+-----------------------------------------------------------------------+ 111 112DIGI, RP AND SI DRIVERS REMOVED 113------------------------------- 114 115The digi(4), rp(4) and si(4) serial drivers have been removed. None of 116them were in our default kernel configuration file. The sicontrol(8) 117utility was removed, too. 118 119MKINITRD COMMAND REMOVED 120------------------------ 121 122The mkinitrd(8) command is removed and its functionality is replaced by 123the new "initrd" make target. After rebooting into the new world and 124verifying everything works, execute "make initrd" to upgrade the rescue 125tools and initrd image. 126 127IPSEC, IPSEC_ESP AND IPSEC_DEBUG REMOVED FROM VKERNEL64 CONFIG 128-------------------------------------------------------------- 129 130IPsec has been removed from the system. Of our standard kernel 131configurations, only the virtual kernel one had it. People running 132vkernels with configuration files derived from our VKERNEL64 will 133have to remove these options manually. 134 135+-----------------------------------------------------------------------+ 136+ UPGRADING DRAGONFLY FROM 5.0 TO LATER VERSIONS + 137+-----------------------------------------------------------------------+ 138 139VIRTIO_PCI REMOVED FROM KERNEL CONFIG 140------------------------------------- 141 142The "device virtio_pci" line in X86_64_GENERIC has been removed. People 143with configuration files derived from it have to remove it manually. 144 145VARIOUS 'R' COMMANDS AND DAEMONS REMOVED 146---------------------------------------- 147 148rcp(1), rlogin(1), rlogind(8), rsh(1) and rshd(8) have been removed. 149For those that still need them, there is the net/bsdrcmds port. 150 151VARIOUS FORMER OPTIONS REMOVED 152------------------------------ 153 154Various former kernel configuration options which had been no-ops for 155some time were completely removed: SYSVMSG, SYSVSEM, SYSVSHM, P1003_1B, 156_KPOSIX_VERSION and DSCHED_FQ. Users that have any of these still in 157their kernel configuration files have to remove them. 158 159BOOTSTRAPPING LIMITED FROM PRE 4.4 160---------------------------------- 161 162Upgrading to 5.1 and later versions now require at least 4.4 in 163preparations for upcoming base compilers updates. 164 165IF_PPP, PPPD, IF_FAITH, AND FAITHD REMOVED 166------------------------------------------ 167 168if_ppp has been replaced by "user ppp", i.e. ppp(8) and tun(4). It had 169already been removed from our default kernel configuration before 5.0, 170so only people with custom configurations based on earlier X86_64_GENERIC 171will have to remove it manually. 172 173The faith(4) interface has been completely removed after it had also 174been removed from our default kernel configuration. 175 176+-----------------------------------------------------------------------+ 177+ UPGRADING DRAGONFLY FROM 4.8 TO LATER VERSIONS + 178+-----------------------------------------------------------------------+ 179 180FFS_ROOT OPTION DISABLED 181------------------------ 182 183The FFS_ROOT option has been made a no-op and will be completely removed 184at some point in the future. Users with a custom kernel configuration 185can remove this option from it now. 186 187+-----------------------------------------------------------------------+ 188+ UPGRADING DRAGONFLY FROM 4.6 TO LATER VERSIONS + 189+-----------------------------------------------------------------------+ 190 191DSA OPENSSH KEYS DEPRECATED 192--------------------------- 193 194Note that DSA OpenSSH keys were deprecated in the 4.6 to 4.8 release. 195If you are upgrading from a release older than 4.8 and use DSA OpenSSH 196keys, please update your private/public key pair or risk locking 197yourself out. 198 199AHC, AHD, AIC, NCV, NSP AND STG DRIVERS REMOVED 200----------------------------------------------- 201 202They were all in our X86_64_GENERIC kernel configuration file, along with 203the AHC_REG_PRETTY_PRINT and AHD_REG_PRETTY_PRINT options, so any custom 204configuration files derived from it need adjustment. 205 206PORTAL FILE SYSTEM REMOVED 207-------------------------- 208 209It has been broken for a long time now. 210 211BINUTILS 2.27 REPLACES 2.24, PRIMARY 212------------------------------------ 213 214The oldest of the two versions of Binutils, version 2.24, was removed 215and replaced with Binutils 2.27. It becomes the primary version version 216of binutils and version 2.25 becomes the alternate. 217 218The accepted values of BINUTILSVER are now "binutils227" (default) and 219"binutils225". The building of Binutils 2.25 can be prevented by setting 220NO_ALTBINUTILS=yes in make.conf. 221 222COMPAT_43 KERNEL OPTION REMOVED 223------------------------------- 224 225It was commented out in our default configs for several years now, but 226might still be present in custom configs created before Nov. 2011. 227 228OPENSSL REMOVED 229--------------- 230 231OpenSSL has been removed from base and replaced with a private version of 232LibreSSL. The previously installed OpenSSL libraries, headers, and man 233pages will remain on the system unless the "make upgrade" command is 234specifically instructed to remove them. To do this, define 235REMOVE_OPENSSL_FILES for the upgrade command, e.g. 236"make upgrade REMOVE_OPENSSL_FILES=yes" 237 23828-Oct-2016: openssl has been replaced by ressl. It is recommended that any 239stale OpenSSL files be removed to avoid configuration scripts from using 240the stale and potentially vulnerable version, but all binaries that are 241dynamically linked to the OpenSSL libraries should be rebuilt first to 242avoid breakage. 243 244OPENSSH HPN REMOVED 245------------------- 246 247It has become too cumbersome to maintain HPN patches in OpenSSH in base. 248To use OpenSSH in base remove HPN config, if you have added it. 249Check files below for HPN config, see a few lines below. 250 /etc/ssh/ssh_config, /etc/ssh/sshd_config, ~/.ssh/config 251sshd(8) will fail to start if HPN config is used. 252 253NOTE: HPN config in sshd_config will prohibit remote access to host using ssh. 254 255HPN config: 256HPNDisabled 257HPNBufferSize 258TcpRcvBuf 259TcpRcvBufPoll 260NoneEnabled 261NoneSwitch 262cipher MTR-AES-CTR 263cipher NONE 264 265OpenSSH HPN is a patch set to OpenSSH providing higher performance under some 266circumstances, especially for networking. 267If HPN functionality is needed, install security/openssh from dports. 268 269CS, EX AND VX DRIVERS REMOVED 270----------------------------- 271 272The cs(4), ex(4) and vx(4) drivers have been removed. They were very 273old and its doubtful they ever worked properly in x86_64 but they were 274in X86_64_GENERIC, so custom configurations derived from it have to be 275adjusted. 276 277+-----------------------------------------------------------------------+ 278+ UPGRADING DRAGONFLY FROM 4.4 TO LATER VERSIONS + 279+-----------------------------------------------------------------------+ 280 281AMD REMOVED 282----------- 283 284The am-utils automounter suite has been removed. It stopped working 285at some point and was never fixed. autofs(5) and the associated 286userland has been brought in from FreeBSD and replaces it. 287 288AN DRIVER REMOVED 289----------------- 290 291The an(4) driver has been removed. It was in the X86_64_GENERIC kernel 292config file, so any configurations derived from it have to be adjusted. 293 294/DEV/DRI GROUP CHANGED 295---------------------- 296 297The default group assigned to /dev/dri entries has been changed 298from 'wheel' to 'video' with the id of '44'. If you want to have 299access to the dri devices please add yourself to the video group 300with: 301 302# pw groupmod video -m $USER 303 304+-----------------------------------------------------------------------+ 305+ UPGRADING DRAGONFLY FROM 4.2 TO LATER VERSIONS + 306+-----------------------------------------------------------------------+ 307 308DSCHED REMOVED 309-------------- 310 311dsched(4) has been removed and one of its kernel options, DSCHED_FQ, was 312in our default kernel config file. So the DSCHED_FQ option has been turned 313into a no-op for now and can be removed from custom configurations. 314 315EST DRIVER REMOVED, COMPILE_ET AND LIBCOM_ERR TOO 316------------------------------------------------- 317 318The est(4) driver has been removed. All CPUs it supported (except one) 319were 32 bits only. Those who are still using the Core 2 Duo T7500 should 320report back if there are any issues with this CPU and our regular ACPI 321P-state support. 322 323Also, compile_et(1) and com_err(3) have been removed as well. They 324should have been removed along with kerberos support, back in 2009. 325 326SEVERAL LOCALES RENAMED 327----------------------- 328 329Several locales were using obsolete and misleading names, and thus have 330been adjusted to current standards. Any users of the following locales 331need to select alternates: 332 333DFLY 4.2 locale DFLY 4.4 alterative locale 334--------------- ------------------------------------ 335mn_MN.UTF-8 mn_Cyrl_MN.UTF-8 336no_NO.UTF-8 nb_NO.UTF-8 or nn_NO.UTF-8 337no_NO.ISO8859-1 nb_NO.ISO8869-1 or nn_NO.ISO8859-1 338no_NO.ISO8859-15 nb_NO.ISO8859-15 or nn_NO.ISO8859-15 339sr_YU.UTF-8 sr_Cyrl_RS.UTF-8 or sr_Latn_RS.UTF-8 340sr_YU.ISO8859-5 sr_Cyrl_RS.ISO8859-5 341sr_YU.ISO8859-2 sr_Latn_RS.ISO8859-2 342zh_CN.GBK zh_Hans_CN.GBK 343zh_CN.UTF-8 zh_Hans_CN.UTF-8 344zh_CN.eucCN zh_Hans_CN.eucCN 345zh_CN.GB2312 zh_Hans_CH.GB2312 346zh_CN.GB18030 zh_Hans_CH.GB18030 347zh_HK.Big5HKSCS zh_Hant_HK.Big5HKSCS 348zh_HK.UTF_8 zh_Hant_HK.UTF-8 349zh_TW.Big5 zh_Hant_TW.Big5 350zh_TW.UTF-8 zh_Hant_TW.UTF-8 351 352+-----------------------------------------------------------------------+ 353+ UPGRADING DRAGONFLY FROM 4.0 TO LATER VERSIONS + 354+-----------------------------------------------------------------------+ 355 356BINUTILS 2.25 REPLACES 2.22, PRIMARY 357------------------------------------ 358 359The oldest of the two versions of Binutils, version 2.22, was removed 360and replaced with Binutils 2.25. It becomes the primary version version 361of binutils and version 2.24 becomes the alternate. There are 8 current 362CVE written against 2.24, so for security reasons version 2.25 should 363always be used. 364 365The accepted values of BINUTILSVER are now "binutils225" (default) and 366"binutils224". The building of Binutils 2.24 can be prevented by setting 367NO_ALTBINUTILS=yes in make.conf. 368 369LOADER OPTIONS CHANGED 370---------------------- 371 372Right after the development branch started, the Fred art accompanying the 373loader menu was improved. The line between Fred and the menu was removed 374by default (but can optionally be returned) and the placement shifted as 375a result. The drawing was improved, and the colored version was improved, 376changing the eyes and wing color from white to red. A new color version 377of Fred was added, one with a blue scheme. 378 379The loader menu defaults have changed since release 4.0: The vertical 380line was removed, the loader is displayed in color by default*, and the 381blue scheme is used. 382 383The loader.conf changes are: 384loader_color: option has been removed 385loader_plain: option has been added, it changed menu to monochrome 386fred_is_red: changes color scheme from blue to red 387fred_is_blue: option existed only on 4.1, it has been removed 388fred_separated: Adds line between Fred and menu (as seen previously) 389 390* If loader.conf defines "console" as "comconsole" or "console" is defined 391 in the environment as "comconsole" then color will not be displayed, 392 even if loader_plain value is "NO". 393 394SENDMAIL REMOVED FROM BASE 395-------------------------- 396 397The only Mail Transfer Agent provided now is DragonFly Mail Agent (dma). 398If the system being upgraded is still configured to use the sendmail 399binaries from base, the "make upgrade" command will fail. 400 401The administrator must change /etc/mail/mailer.conf to switch the 402mailwrapper to dma or a DPorts-based MTA prior to running the upgrade 403command that permanently removes sendmail executables and could 404potentially break a running mail server. 405 406Refer: http://www.dragonflybsd.com/docs/docs/newhandbook/mta/ for 407detailed instructions on how to configure the MTA selection. 408 409_KPOSIX_VERSION and P1003_1B OPTIONS REMOVED 410-------------------------------------------- 411 412The _KPOSIX_VERSION and P1003_1B kernel options have been changed to 413no-ops. They can be removed from custom kernel configurations. 414 415SOUND SYSTEM UPDATED FROM FreeBSD 11-CURRENT 416-------------------------------------------- 417 418Many more sound devices may be detected. 419 420If the default device chosen isn't to your liking, setting the sysctl 421hw.snd.default_unit to a different number will change it. 422 423SCTP SUPPORT DROPPED 424-------------------- 425 426Support for the SCTP protocol has been removed. 427 428OLD USB DRIVERS REMOVED 429----------------------- 430 431The old USB stack, along with the kernel config option "device oldusb" 432and the make.conf variable "WANT_OLDUSB" have been removed. This means 433that for custom kernel configuration files which were derived from a 434GENERIC or X86_64_GENERIC file prior to making the usb4bsd stack default, 435various (old USB stack specific) devices will now complain about being 436unknown: 437 438 * oldusb (obviously) 439 * natausb (not yet ported to usb4bsd) 440 * rue (not yet ported to usb4bsd) 441 * ugen (no longer needed in usb4bsd) 442 * urio (not yet ported to usb4bsd) 443 * uscanner (no longer needed in usb4bsd) 444 445They should be removed or commented out in such custom kernel configs. 446 447GCC 5 448----- 449 450The GCC 4.4 compiler has been retired. It has been replaced by a GCC 5.1. 451The following make.conf variables no longer work: NO_GCC44, NO_OBJC, and 452NO_CXX. The latter was never documented and the latest versions of GCC are 453partially written in C++ so a C++ compiler is no longer optional. In 454practical terms it has not been optional for many years as other base 455components are also written in C++. The resource savings by avoiding 456building Objective-C compiler is so small, the complexity added by NO_OBJC 457internally was deemed a bad tradeoff so that is the reason for its removal. 458Also note that no "info" pages are installed with GCC 5. After this entry 459was originally written, all info pages were removed from DragonFly. 460 461GCC 5.1 has been designated as the primary compiler. As such, there is a 462new make.conf variable, NO_ALTCOMPILER. It will block the rebuilding of 463the designated secondary compiler, GCC 4.7. However, while DPorts 464primarily uses GCC 5 to build ports now, it still uses GCC 4.7 as well, so 465if building ports from source is desired, don't block building of the 466secondary compiler. 467 468+-----------------------------------------------------------------------+ 469+ UPGRADING DRAGONFLY FROM 3.8 TO LATER VERSIONS + 470+-----------------------------------------------------------------------+ 471 472SMP AND DEVICE_POLLING OPTIONS MADE UNKNOWN 473------------------------------------------- 474 475DEVICE_POLLING was replaced by IFPOLL_ENABLE and the former SMP code is 476the default now (even on single-core systems), both for, like, 21 months. 477We kept the options around as no-ops as a convenience, to allow people 478using the same config for the then current release and the then current 479master. That period is now over, so any configs still having those 480options have to be adjusted. 481 482SYSVIPC SYSCALLS MADE NON-OPTIONAL 483---------------------------------- 484 485The code related to the SYSVMSG, SYSVSEM and SYSVSHM kernel options is 486now compiled in by default. The options are no-ops for now. 487 488DEFAULT DRIVER CHANGED FOR LSI "THUNDERBOLT" SERIES RAID CONTROLLERS 489-------------------------------------------------------------------- 490 491The default driver for those controllers is now mrsas(4) due to reports 492of file system corruption using the mfi(4) driver. The whole issue (and 493how to deal with potential problems when switching) was explained here: 494 495http://lists.dragonflybsd.org/pipermail/users/2014-July/128703.html 496 497A tunable is provided for letting those controllers still attach via 498the mfi(4) driver, hw.mrsas.mfi_enable (see mrsas(4) manual page). 499 500OLDER NETWORK DRIVERS MOVED TO I386 ONLY 501---------------------------------------- 502 503The following drivers have been made i386 only: ed(4), sr(4), ng_sync_ar 504and ng_sync_sr. ed(4) used to be in X86_64_GENERIC, so it has to be 505removed in kernel configs derived from X86_64_GENERIC. 506 507+-----------------------------------------------------------------------+ 508+ UPGRADING DRAGONFLY FROM 3.6 TO LATER VERSIONS + 509+-----------------------------------------------------------------------+ 510 511UPDATE FROM MOST RECENT 3.6 512--------------------------- 513 514Versions of 3.6 built before June 25th have a bug where installworld might 515crash during installation of the new initrd. Upgrade to the latest version 516of 3.6 before updating to 3.8 or later. 517 518ATM, IPX, NCP AND NWFS SUPPORT DROPPED 519-------------------------------------- 520 521Support for the IPX and NCP network protocols and for mouting NetWare 522file systems has been dropped. Dito for ATM protocol support. 523 524INITRD IMAGES NOW INSTALLED BY DEFAULT 525-------------------------------------- 526 527An initial ramdisk image is now installed in /boot/kernel/initrd.img.gz 528 529Older images installed under the file name of initrd.img will be removed 530automatically by the make upgrade process. 531 532USB4BSD IS NOW THE DEFAULT USB STACK 533------------------------------------ 534 535To get back to the old stack, put "WANT_OLDUSB=yes" in /etc/make.conf and 536replace "device usb" with "device oldusb" in the kernel configuration. 537 538MORE ISA SUPPORT DROPPED 539------------------------ 540 541ISA support has been dropped from the following drivers: adv(4), an(4), 542ar(4), cs(4), digi(4), ed(4), ep(4), ex(4), fe(4), lnc(4), sbni(4), 543si(4), sn(4), and stg(4). 544 545+-----------------------------------------------------------------------+ 546+ UPGRADING DRAGONFLY FROM 3.4 TO LATER VERSIONS + 547+-----------------------------------------------------------------------+ 548 549ABI CHANGE 550---------- 551 552Installed third-party software (dports) will have to be rebuilt after upgrade, 553or reinstalled from binary packages. 554 555UPDATING FROM 3.4 TO 3.6 556------------------------ 557 558This only applies for this specific upgrade due to locale changes; it is 559not needed for upgrades after 3.6. Please update in this order: 560 561make buildworld 562make buildkernel 563make installworld 564make installkernel 565*reboot* 566make upgrade 567 568See this mailing list post for details: 569http://lists.dragonflybsd.org/pipermail/users/2013-September/090163.html 570 571CYRIX OPTIONS REMOVED 572--------------------- 573 574The following Cyrix related options have been removed: CPU_BTB_EN, 575CPU_CYRIX_NO_LOCK, CPU_DIRECT_MAPPED_CACHE, CPU_DISABLE_5X86_LSSER, 576CPU_FASTER_5X86_FPU, CPU_IORT, CPU_LOOP_EN, CPU_RSTK_EN, CPU_SUSP_HLT, 577CYRIX_CACHE_WORKS, and CYRIX_CACHE_REALLY_WORKS 578 579ISA SUPPORT REMOVED FROM RP(4) 580------------------------------ 581 582ISA support has been removed from the rp(4) driver. It is now PCI only. 583 584+-----------------------------------------------------------------------+ 585+ UPGRADING DRAGONFLY FROM 3.2 TO LATER VERSIONS + 586+-----------------------------------------------------------------------+ 587 588COMPAT_SUNOS OPTION REMOVED 589--------------------------- 590 591The COMPAT_SUNOS option has been removed. It was meant to provide binary 592compatibility with SunOS 4.x for the sparc32 port of 4.4BSD. 593 594ISA SOUND CARD SUPPORT REMOVED 595------------------------------ 596 597The following modules have been removed (all for ISA sound cards): 598snd_ad1816.ko, snd_ess.ko, snd_mss.ko, snd_sb8.ko, snd_sb16.ko, snd_sbc.ko 599 600GCC 4.7 601------- 602 603DragonFly has switched base compilers. GCC 4.7 is now the default 604compiler and GCC 4.4 is the alternative compiler. The "NO_GCC47" make 605variable ceases to work now. 606 607Users who wish to build only GCC 4.7 have to use NO_GCC44 in the 608/etc/make.conf to prohibit GCC 4.4 from building. However, using it is 609highly discouraged. There are a few packages in pkgsrc that do not build 610with GCC 4.7 and the new "DPorts" system uses GCC 4.4 by default. At 611this time, it is recommended to keep both compilers on the base system. 612 613SMP OPTION REMOVED 614------------------ 615 616The SMP kernel option has been made a no-op. All kernels now feature SMP 617support. If you have 'options SMP' in your kernel config, you can as well 618remove it. 619 620DEVICE_POLLING OPTION REPLACED BY IFPOLL_ENABLE OPTION, KTR_POLLING REMOVED 621--------------------------------------------------------------------------- 622 623The DEVICE_POLLING kernel option has been made a no-op and it has been 624replaced by IFPOLL_ENABLE. If you have 'options DEVICE_POLLING' in your 625kernel config, you need to change it to IFPOLL_ENABLE. 626 627Also, the KTR_POLLING kernel option has been removed, so it must be 628removed from kernel configs that have it. 629 630BUSLOGIC, CYCLADES AND STALLION ISA SUPPORT REMOVED 631--------------------------------------------------- 632 633The bt(4) driver for Buslogic SCSI adapters has been made PCI only. ISA 634cards will no longer be detected. 635 636The same has been done for Stallion multiport serial controllers. stli(4) 637has been completely removed (along with the stlload(8) and stlstty(8) 638utilities) and stl(4) was changed to support only PCI cards. Similarly, 639ISA support was removed from cy(4) too. All these drivers are i386 only. 640 641COMPAT_OLDISA OPTION GONE 642------------------------- 643 644The i386 specific COMPAT_OLDISA kernel option has been removed, since 645nothing needs it anymore. 646 647+-----------------------------------------------------------------------+ 648+ UPGRADING DRAGONFLY FROM 3.0 TO LATER VERSIONS + 649+-----------------------------------------------------------------------+ 650 651APIC_IO OPTION REMOVED 652---------------------- 653 654The APIC_IO kernel option is no longer accepted after having been without 655effect for a while. The hw.ioapic_enable tunable now serves its purpose. 656If you have 'options APIC_IO' in your kernel config, you'll have to 657remove it. 658 659WATCHDOG_ENABLE & HW_WDOG OPTIONS REMOVED 660----------------------------------------- 661 662The wdog framework is now compiled into our kernels by default, so the 663options are no longer needed. 664 665DOSCMD(1) REMOVED 666----------------- 667 668doscmd(1) has been removed. It was i386 only. The doscmd(1) specific 669NO_X make.conf option was removed too. 670 671GCC 4.7 672------- 673 674GCC 4.7 has been brought in and replaces GCC 4.1 as DragonFly's non- 675default compiler in base (default is still GCC 4.4). 676 677Users who wish to build only GCC 4.4 have to replace NO_GCC41 with 678NO_GCC47 in /etc/make.conf. 679 680USB4BSD 681------- 682 683A new USB stack (from FreeBSD) has been brought in. The following 684modules have been ported so far: usb, uhci, ohci, ehci, xhci, umass, 685usfs, uether, if_axe, if_udav, ukbd, ums, uep, uhid, usb_quirk, 686and uaudio. 687 688It is not yet the default. To activate it, WANT_USB4BSD=yes has to 689be put in make.conf and device "usb4bsd" (quotes needed) has to 690replace device usb in the kernel config. After that, a full 691build/install/upgrade cycle is needed. 692 693Note that this is experimental and incomplete, but we are interested 694in hearing about issues with it, of course. 695 696ISA SUPPORT REMOVED FROM AIC-6260/6360 DRIVER 697--------------------------------------------- 698 699ISA adapter support was dropped from the aic(4) driver. 700 701+-----------------------------------------------------------------------+ 702+ UPGRADING DRAGONFLY FROM 2.10 TO LATER VERSIONS + 703+-----------------------------------------------------------------------+ 704 705SEVERAL ISA DRIVERS REMOVED 706--------------------------- 707 708The following ISA only drivers have been removed along with a couple of 709associated userland tools: 710 711aha(4) 712asc(4) & sasc(1) 713ctx 714dgb(4) 715el(4) 716gpib 717gsc(4) & sgsc(1) 718ie(4) 719labpc(4) 720le(4) 721mse(4) 722rc(4) 723rdp(4) 724spigot 725tw(4) & xten(1) & xtend(8) 726wl(4) & wlconfig(8) 727wt(4) 728 729Note that two of these drivers (aha(4) and ie(4)) are in our GENERIC 730config and one (aha(4)) is in our X86_64_GENERIC kernel configuration 731file. 732 733If buildkernel complains about any of these drivers, just remove them 734from your kernel configuration. 735 736BINUTILS 2.20 737------------- 738Binutils 2.20 has been removed in favor of Binutils 2.22. The accepted 739values of BINUTILSVERS are now binutils221 and binutils222 (default). 740 741BUILDWORLD/-KERNEL PARALLELIZATION WORK 742--------------------------------------- 743Due to changes in the way we build with more than one make job, you 744will have to update install(1) and mkdir(1) prior to buildworld if you 745want to build with 'make -j': 746 747cd /usr/src/usr.bin/xinstall; make; make install; make clean 748cd /usr/src/bin/mkdir; make; make install; make clean 749 750DMA(8) UPGRADE 751-------------- 752dma(8) has been upgraded to v0.7 which no longer supports the 753/etc/dma/virtusertable. Some of its functionality has been replaced 754with the MASQUERADE keyword and the EMAIL environment variable (see 755the dma(8) manual page). 756 757+-----------------------------------------------------------------------+ 758+ UPGRADING DRAGONFLY FROM 2.8 TO LATER VERSIONS + 759+-----------------------------------------------------------------------+ 760 761GCC 4.4 & BINUTILS 2.21 762----------------------- 763 764GCC 4.4 has been made DragonFly's default compiler and Binutils 2.21 has 765been made DragonFly's default Binutils. 766 767That means that any settings that set CCVER to 'gcc44' are not needed 768anymore. Instead, CCVER can be set to 'gcc41' to go back to using 769GCC 4.1. 770 771It also means that 'binutils221' as a value for BINUTILSVER has no 772effect anymore. 2.17 has been removed and 'binutils220' is available 773as an option. 774 775The NO_GCC44 option has been removed and will not affect the build 776anymore. There is now a NO_GCC41 option that will prevent GCC 4.1 from 777building in a similar fashion. 778 779Note that you must do a full buildworld/buildkernel for upgrading. 780 781pkg_radd settings 782----------------- 783 784The config file for pkg_radd has moved from /etc/settings.conf to 785/etc/pkg_radd.conf. Save the contents of settings.conf before upgrading 786if this is needed. This warning only applies if /etc/settings.conf 787exists. pkg_radd will continue to work with defaults. 788 789+-----------------------------------------------------------------------+ 790+ 20100927 + 791+ UPGRADING DRAGONFLY FROM 2.6 to 2.8 or HEAD + 792+-----------------------------------------------------------------------+ 793 794OpenSSL 795-------- 796 797OpenSSL has been upgraded, and SHLIB_MAJOR was bumped for libssh and libcrypto. 798This shouldn't break any 3rd-party software, but you'll need to recompile your 7993rd-party software if you want it to link against the new version of OpenSSL. 800 801Loader 802------- 803 804A new loader (dloader) has been added which better handles booting from 805multiple kernel/module versions. 806 807To upgrade (Only for this upgrade, for post 2.8 upgrades see GENERAL below) 808 809 cd /usr/src 810 make buildworld 811 make installworld 812 make upgrade 813 make buildkernel KERNCONF=<KERNELNAME> 814 make installkernel KERNCONF=<KERNELNAME> 815 816Note that you must installworld and run the 'upgrade' target before 817installing the new kernel. 818 819BIND 820----- 821 822BIND has been removed from the base system. The ldns and drill tools have 823been added for basic functionality. Use 'drill' where you would normally 824use nslookup or dig, or install BIND from pkgsrc. It's available as 825net/bind95, net/bind96, or net/bind97 as of this writing. 826 827This only affects older systems upgrading to 2.8. New 2.8+ installs 828include BIND as a pkgsrc package. 829 830+-----------------------------------------------------------------------+ 831+ UPGRADING DRAGONFLY ON AN EXISTING DRAGONFLY SYSTEM + 832+ GENERAL + 833+-----------------------------------------------------------------------+ 834 835Instructions on how to obtain and maintain DragonFly source code using git 836are in the development(7) manual page. 837 838To upgrade a DragonFly system from sources you run the following sequence: 839 840 cd /usr/src 841 make buildworld 842 make buildkernel KERNCONF=<KERNELNAME> 843 make installkernel KERNCONF=<KERNELNAME> 844 make installworld 845 846You will also want to run the 'upgrade' target to upgrade your /etc and the 847rest of your system. The upgrade target is aware of stale files created by 848older DragonFly installations and should delete them automatically. 849 850 make upgrade 851 852See the build(7) manual page for further information. 853 854Once you've done a full build of the world and kernel you can do incremental 855upgrades of either by using the 'quickworld' and 'quickkernel' targets 856instead of 'buildworld' and 'buildkernel'. If you have any problems with 857the quick targets, try updating your repo first, and then a full buildworld 858and buildkernel as shown above, before asking for help. 859 860+-----------------------------------------------------------------------+ 861+ UPGRADING FROM DRAGONFLY <= 2.0 TO DRAGONFLY >= 2.1 + 862+-----------------------------------------------------------------------+ 863 864In 2.1 kernel and modules has moved to boot directory. For most cases 865this is handled automatically by 'make upgrade'. A few cases needs manual 866intervention: 867 868 * When installing a kernel without first doing a make buildworld, 869 installworld and upgrade to the same DESTDIR as kernel: 870 make DESTDIR/boot directory and move kernel and modules into this boot 871 directory; also move kernel.old and modules.old. 872 Typical example is vkernel(7), use (no modules used): 873 874 cd /var/vkernel 875 mkdir boot 876 chflags noschg kernel 877 mv kernel kernel.old boot 878 chflags schg boot/kernel 879 880 * When using a boot-only partition, /boot/loader.rc needs to be edited: 881 delete occurrences of '/boot/'. 882 These occurrences can normally be deleted in any case, see loader(8). 883 884+-----------------------------------------------------------------------+ 885+ UPGRADING FROM DRAGONFLY <= 1.8 TO DRAGONFLY >= 1.9 + 886+-----------------------------------------------------------------------+ 887 888In 1.9 major changes to the disk management infrastructure have taken 889place. make upgrade may not catch all of your disk devices in /dev, 890so after upgrading be sure to cd /dev; ./MAKEDEV <blah> where <blah> 891are all of your disk devices. HOWEVER, from late 2.3 on we run devfs 892and MAKEDEV no longer exists. 893 894The biggest changes in 1.9 are: 895 896(1) That whole-slice devices such as da0s1 no longer share the same device 897 id as partition c devices such as da0s1c. 898 899(2) The whole-disk device (e.g. da0) is full raw access to the disk, 900 with no snooping or reserved sectors. Consequently you cannot run 901 disklabel on this device. Instead you must run disklabel on a 902 whole-slice device. 903 904(3) The 'compatibility' partitions now use slice 0 in the device name, 905 so instead of da0a you must specify da0s0a. Also, as per (1) above, 906 accessing the disklabel for the compatibility partitions must be 907 done via slice 0 (da0s0). 908 909(4) Many device drivers that used to fake up labels, such as CD, ACD, VN, 910 and CCD now run through the disk management layer and are assigned 911 real disk management devices. VN and CCD in particular do not usually 912 use a MBR and disklabels must be accessed through the compatibility 913 slice 0. Your /etc/ccd.conf file still specifies 'ccd0', though, you 914 don't name it 'ccd0s0' in the config file. 915 916Generally speaking, you have to get used to running fdisk and disklabel on 917the correctly specified device names. A lot of the wiggle, such as running 918disklabel on a partition, has been removed. 919 920+-----------------------------------------------------------------------+ 921+ UPGRADING FROM OLDER VERSIONS OF DRAGONFLY OR FREEBSD + 922+-----------------------------------------------------------------------+ 923 924> Kerberos IV 925------------- 926 927Kerberos IV (eBones) was removed from the tree, please consider moving to 928Kerberos 5 (Heimdal). 929 930> Package Management System 931--------------------------- 932 933Starting with the 1.4 release, DragonFly uses NetBSD's pkgsrc package 934management system. The necessary tools to build and maintain packages 935are provided in /usr/pkg/bin and /usr/pkg/sbin. Make sure that these 936directories are in your PATH variable. 937 938In order to obtain a reasonably current snapshot of the pkgsrc tree, use 939the tarball from NetBSD: 940 941 fetch -o /tmp/pkgsrc.tar.gz ftp://ftp.NetBSD.org/pub/NetBSD/packages/pkgsrc.tar.gz 942 cd /usr; tar -xzf /tmp/pkgsrc.tar.gz; chown -R root:wheel pkgsrc 943 944This tree can then be kept up to date with cvs update: 945 946 cd /usr/pkgsrc; cvs up 947 948NOTE! If you upgraded from a pre-1.4 system to 1.4 or later, you need to 949build and install the pkgsrc bootstrap manually: 950 951 cd /usr/pkgsrc/bootstrap 952 ./bootstrap --pkgdbdir /var/db/pkg --prefix /usr/pkg 953 954+-----------------------------------------------------------------------+ 955+ UPGRADING DRAGONFLY ON AN EXISTING DRAGONFLY SYSTEM + 956+ UPDATING FROM PRE-1.2 SYSTEMS OR FreeBSD 4.x TO + 957+ DRAGONFLY 1.3+ (EITHER PREVIEW or HEAD) + 958+-----------------------------------------------------------------------+ 959 960The compatibility shims for the build environment have been removed, you 961have to update to DragonFly 1.2 release branch first. 962 963The default PAM configuration has moved from /etc/pam.conf to /etc/pam.d/. 964The existing configuration can be converted using /etc/pam.d/convert.sh. 965Entries in /etc/pam.d/ override entries in /etc/pam.conf. In addition 966the pam_skey.so module was retired, you have to remove it manually from 967your configuration, when you convert it. 968 969> Required user and group IDs when upgrading from either FreeBSD or DragonFly 970--------------------- 971 972The following users may be missing from your password file. Use vipw and 973add any that are missing: 974 975smmsp:*:25:25::0:0:Sendmail Submission User:/var/spool/clientmqueue:/sbin/nologin 976_pflogd:*:64:64::0:0:pflogd privsep user:/var/empty:/sbin/nologin 977 978The following groups may be missing from your group file. Use vi /etc/group 979and add any that are missing: 980 981smmsp:*:25: 982authpf:*:63: 983_pflogd:*:64: 984 985 986> Upgrading to DragonFly from FreeBSD 987--------------------- 988 989You can build the DragonFly world and DragonFly kernels on a FreeBSD-4.x or 990FreeBSD-5.x machine and then install DragonFly over FreeBSD, replacing 991FreeBSD. Note that the DragonFly buildworld target does not try to reuse 992make depend information, it starts from scratch, so no pre-cleaning of the 993object hierarchy is necessary. 994 995 # get the CVS repository (it is placed in /home/dcvs, 500MB). 996 # Please use the -h option and a mirror site to pull the 997 # initial repository, but feel free to use the main repository 998 # machine to pull updates. 999 cvsup /usr/share/examples/cvsup/DragonFly-cvs-supfile 1000 # install the source from the CVS hierarchy (remove preexisting 1001 # FreeBSD src first) (500MB) 1002 cd /usr 1003 rm -rf src 1004 cvs -R -d /home/dcvs checkout -P src 1005 1006 # build it (500MB used in /usr/obj) 1007 # 1008 cd /usr/src 1009 make buildworld 1010 make buildkernel KERNCONF=<KERNELNAME> 1011 1012Once you have built DragonFly you have to install it over FreeBSD. Since 1013DragonFly does not track changes made by FreeBSD to its include file 1014hierarchy and include file pollution can cause all sorts of unexpected 1015compilation issues to come up, it is best to wipe your include hierarchy 1016prior to installing DragonFly. Note that you should not wipe any installed 1017FreeBSD header files or binaries until after you have successfully completed 1018the build steps above. 1019 1020 rm -rf /usr/include 1021 mkdir /usr/include 1022 make installkernel KERNCONF=<KERNELNAME> 1023 make installworld 1024 1025Then you need to upgrade your system. DragonFly's 'make upgrade' target 1026will unconditionally upgrade the /etc files that sysops do not usually 1027mess around with, such as the files in /etc/rc.d. It will also remove any 1028obsolete files such as utilities and manpages that have been removed from 1029the system since the version you're coming from. If you are unsure we 1030recommend that you make a backup of at least your /etc before applying 1031this step. Note that DragonFly's RC system is basically RCNG from 1032FreeBSD-5, but there are some differences in the contents of the RC files. 1033 1034 make upgrade 1035 1036NOTE! Never do a 'make upgrade' before 'make installworld' has been run. 1037Doing so might leave your system in an unusable state. 1038 1039Finally we recommend that you do an 'ls -lta BLAH' for /bin, /sbin, /usr/bin, 1040/usr/bin, and /usr/lib, and remove any stale files that you find. Please 1041report these files to the DragonFly developers so that they can be added to 1042the 'upgrade' target. 1043 1044