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