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