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