xref: /dragonfly/UPDATING (revision eb67213a)
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