xref: /dflybsd-src/UPDATING (revision 1c297ed0a4786bac345a8193fb9e58601eb20b09)
1d2a0deccSMatthew Dillon# Updating Information for DragonFly users.
2d2a0deccSMatthew Dillon#
3d2a0deccSMatthew Dillon#
4d2a0deccSMatthew Dillon# This file should warn you of any pitfalls which you might need to work around
5d2a0deccSMatthew Dillon# when trying to update your DragonFly system.  The information below is
6d2a0deccSMatthew Dillon# in reverse-time order, with the latest information at the top.
7d2a0deccSMatthew Dillon#
8d2a0deccSMatthew Dillon# If you discover any problem, please contact the bugs@lists.dragonflybsd.org
9d2a0deccSMatthew Dillon# mailing list with the details.
10984263bcSMatthew Dillon
11d2a0deccSMatthew Dillon+-----------------------------------------------------------------------+
12640dc18fSSepherosa Ziehau+         UPGRADING DRAGONFLY FROM 3.3 to later versions                +
13640dc18fSSepherosa Ziehau+-----------------------------------------------------------------------+
14640dc18fSSepherosa Ziehau
15*1c297ed0SSascha WildnerDEVICE_POLLING OPTION REPLACED BY IFPOLL_ENABLE OPTION, KTR_POLLING REMOVED
16*1c297ed0SSascha Wildner---------------------------------------------------------------------------
17640dc18fSSepherosa Ziehau
18640dc18fSSepherosa ZiehauThe DEVICE_POLLING kernel option has been made a no-op and it has been
19640dc18fSSepherosa Ziehaureplaced by IFPOLL_ENABLE.  If you have 'options DEVICE_POLLING' in your
20640dc18fSSepherosa Ziehaukernel config, you need to change it to IFPOLL_ENABLE.
21640dc18fSSepherosa Ziehau
22*1c297ed0SSascha WildnerAlso, the KTR_POLLING kernel option has been removed, so it must be
23*1c297ed0SSascha Wildnerremoved from kernel configs that have it.
24*1c297ed0SSascha Wildner
25640dc18fSSepherosa Ziehau+-----------------------------------------------------------------------+
261918fc5cSSascha Wildner+         UPGRADING DRAGONFLY FROM 3.2 to later versions                +
271918fc5cSSascha Wildner+-----------------------------------------------------------------------+
281918fc5cSSascha Wildner
291918fc5cSSascha WildnerSMP OPTION REMOVED
301918fc5cSSascha Wildner------------------
311918fc5cSSascha Wildner
3209ff663cSSascha WildnerThe SMP kernel option has been made a no-op. All kernels now feature SMP
3309ff663cSSascha Wildnersupport. If you have 'options SMP' in your kernel config, you can as well
3409ff663cSSascha Wildnerremove it.
351918fc5cSSascha Wildner
361918fc5cSSascha Wildner+-----------------------------------------------------------------------+
37c691bb43SSascha Wildner+         UPGRADING DRAGONFLY FROM 3.0 to later versions                +
38c691bb43SSascha Wildner+-----------------------------------------------------------------------+
39c691bb43SSascha Wildner
40c691bb43SSascha WildnerAPIC_IO OPTION REMOVED
41c691bb43SSascha Wildner----------------------
42c691bb43SSascha Wildner
43c691bb43SSascha WildnerThe APIC_IO kernel option is no longer accepted after having been without
44c691bb43SSascha Wildnereffect for a while. The hw.ioapic_enable tunable now serves its purpose.
45c691bb43SSascha WildnerIf you have 'options APIC_IO' in your kernel config, you'll have to
46c691bb43SSascha Wildnerremove it.
47c691bb43SSascha Wildner
486d488cc3SSascha WildnerWATCHDOG_ENABLE & HW_WDOG OPTIONS REMOVED
496d488cc3SSascha Wildner-----------------------------------------
50cf03d6cdSSascha Wildner
51cf03d6cdSSascha WildnerThe wdog framework is now compiled into our kernels by default, so the
526d488cc3SSascha Wildneroptions are no longer needed.
53cf03d6cdSSascha Wildner
54397ffc5cSSascha WildnerDOSCMD(1) REMOVED
55397ffc5cSSascha Wildner-----------------
56397ffc5cSSascha Wildner
57397ffc5cSSascha Wildnerdoscmd(1) has been removed. It was i386 only. The doscmd(1) specific
58397ffc5cSSascha WildnerNO_X make.conf option was removed too.
59397ffc5cSSascha Wildner
60a1404d4fSSascha WildnerGCC 4.7
61a1404d4fSSascha Wildner-------
62a1404d4fSSascha Wildner
63a1404d4fSSascha WildnerGCC 4.7 has been brought in and replaces GCC 4.1 as DragonFly's non-
64a1404d4fSSascha Wildnerdefault compiler in base (default is still GCC 4.4).
65a1404d4fSSascha Wildner
66a1404d4fSSascha WildnerUsers who wish to build only GCC 4.4 have to replace NO_GCC41 with
67a1404d4fSSascha WildnerNO_GCC47 in /etc/make.conf.
68a1404d4fSSascha Wildner
692508820fSSascha WildnerUSB4BSD
702508820fSSascha Wildner-------
712508820fSSascha Wildner
722508820fSSascha WildnerA new USB stack (from FreeBSD) has been brought in. The following
732508820fSSascha Wildnermodules have been ported so far: usb, uhci, ohci, ehci, xhci, umass,
742508820fSSascha Wildnerusfs, uether, if_axe, if_udav, ukbd, ums, uep, uhid, usb_quirk,
752508820fSSascha Wildnerand uaudio.
762508820fSSascha Wildner
772508820fSSascha WildnerIt is not yet the default. To activate it, WANT_USB4BSD=yes has to
78c7200221SSascha Wildnerbe put in make.conf and device "usb4bsd" (quotes needed) has to
79c7200221SSascha Wildnerreplace device usb in the kernel config. After that, a full
80c7200221SSascha Wildnerbuild/install/upgrade cycle is needed.
812508820fSSascha Wildner
822508820fSSascha WildnerNote that this is experimental and incomplete, but we are interested
832508820fSSascha Wildnerin hearing about issues with it, of course.
842508820fSSascha Wildner
85c691bb43SSascha Wildner+-----------------------------------------------------------------------+
8696386d4bSSascha Wildner+         UPGRADING DRAGONFLY FROM 2.10 to later versions               +
8796386d4bSSascha Wildner+-----------------------------------------------------------------------+
8896386d4bSSascha Wildner
8996386d4bSSascha WildnerSEVERAL ISA DRIVERS REMOVED
9096386d4bSSascha Wildner---------------------------
9196386d4bSSascha Wildner
9296386d4bSSascha WildnerThe following ISA only drivers have been removed along with a couple of
9396386d4bSSascha Wildnerassociated userland tools:
9496386d4bSSascha Wildner
9596386d4bSSascha Wildneraha(4)
9696386d4bSSascha Wildnerasc(4) & sasc(1)
9796386d4bSSascha Wildnerctx
9896386d4bSSascha Wildnerdgb(4)
9996386d4bSSascha Wildnerel(4)
10096386d4bSSascha Wildnergpib
10196386d4bSSascha Wildnergsc(4) & sgsc(1)
10296386d4bSSascha Wildnerie(4)
10396386d4bSSascha Wildnerlabpc(4)
10496386d4bSSascha Wildnerle(4)
10596386d4bSSascha Wildnermse(4)
10696386d4bSSascha Wildnerrc(4)
10796386d4bSSascha Wildnerrdp(4)
10896386d4bSSascha Wildnerspigot
10996386d4bSSascha Wildnertw(4) & xten(1) & xtend(8)
11096386d4bSSascha Wildnerwl(4) & wlconfig(8)
11196386d4bSSascha Wildnerwt(4)
11296386d4bSSascha Wildner
11396386d4bSSascha WildnerNote that two of these drivers (aha(4) and ie(4)) are in our GENERIC
11496386d4bSSascha Wildnerconfig and one (aha(4)) is in our X86_64_GENERIC kernel configuration
11596386d4bSSascha Wildnerfile.
11696386d4bSSascha Wildner
11796386d4bSSascha WildnerIf buildkernel complains about any of these drivers, just remove them
11896386d4bSSascha Wildnerfrom your kernel configuration.
11996386d4bSSascha Wildner
120919eb219SJohn MarinoBINUTILS 2.20
121919eb219SJohn Marino-------------
12237c5a0dbSJohn MarinoBinutils 2.20 has been removed in favor of Binutils 2.22.  The accepted
123e685772eSJohn Marinovalues of BINUTILSVERS are now binutils221 and binutils222 (default).
124919eb219SJohn Marino
12583bc1e2aSSascha WildnerBUILDWORLD/-KERNEL PARALLELIZATION WORK
12683bc1e2aSSascha Wildner---------------------------------------
12783bc1e2aSSascha WildnerDue to changes in the way we build with more than one make job, you
12883bc1e2aSSascha Wildnerwill have to update install(1) and mkdir(1) prior to buildworld if you
12983bc1e2aSSascha Wildnerwant to build with 'make -j':
13083bc1e2aSSascha Wildner
13183bc1e2aSSascha Wildnercd /usr/src/usr.bin/xinstall; make; make install; make clean
13283bc1e2aSSascha Wildnercd /usr/src/bin/mkdir; make; make install; make clean
13383bc1e2aSSascha Wildner
134eca86bd9SSascha WildnerDMA(8) UPGRADE
135eca86bd9SSascha Wildner--------------
136eca86bd9SSascha Wildnerdma(8) has been upgraded to v0.7 which no longer supports the
137eca86bd9SSascha Wildner/etc/dma/virtusertable. Some of its functionality has been replaced
138eca86bd9SSascha Wildnerwith the MASQUERADE keyword and the EMAIL environment variable (see
139eca86bd9SSascha Wildnerthe dma(8) manual page).
140eca86bd9SSascha Wildner
14196386d4bSSascha Wildner+-----------------------------------------------------------------------+
1422443e96eSJustin C. Sherrill+         UPGRADING DRAGONFLY FROM 2.8 to later versions                +
143a4a39c94SJustin C. Sherrill+-----------------------------------------------------------------------+
144a4a39c94SJustin C. Sherrill
145b1242318SSascha WildnerGCC 4.4 & BINUTILS 2.21
146b1242318SSascha Wildner-----------------------
14730c91f0cSSascha Wildner
148b1242318SSascha WildnerGCC 4.4 has been made DragonFly's default compiler and Binutils 2.21 has
149b1242318SSascha Wildnerbeen made DragonFly's default Binutils.
15030c91f0cSSascha Wildner
15130c91f0cSSascha WildnerThat means that any settings that set CCVER to 'gcc44' are not needed
15230c91f0cSSascha Wildneranymore. Instead, CCVER can be set to 'gcc41' to go back to using
15330c91f0cSSascha WildnerGCC 4.1.
15430c91f0cSSascha Wildner
155b1242318SSascha WildnerIt also means that 'binutils221' as a value for BINUTILSVER has no
156b1242318SSascha Wildnereffect anymore. 2.17 has been removed and 'binutils220' is available
157b1242318SSascha Wildneras an option.
158b1242318SSascha Wildner
1595738210dSSascha WildnerThe NO_GCC44 option has been removed and will not affect the build
16030c91f0cSSascha Wildneranymore. There is now a NO_GCC41 option that will prevent GCC 4.1 from
16130c91f0cSSascha Wildnerbuilding in a similar fashion.
16230c91f0cSSascha Wildner
16380abb3beSSascha WildnerNote that you must do a full buildworld/buildkernel for upgrading.
16430c91f0cSSascha Wildner
165a4a39c94SJustin C. Sherrillpkg_radd settings
166c983d16eSSascha Wildner-----------------
167a4a39c94SJustin C. Sherrill
168a4a39c94SJustin C. SherrillThe config file for pkg_radd has moved from /etc/settings.conf to
169a4a39c94SJustin C. Sherrill/etc/pkg_radd.conf.  Save the contents of settings.conf before upgrading
170a4a39c94SJustin C. Sherrillif this is needed.  This warning only applies if /etc/settings.conf
171a4a39c94SJustin C. Sherrillexists.  pkg_radd will continue to work with defaults.
172a4a39c94SJustin C. Sherrill
173a4a39c94SJustin C. Sherrill+-----------------------------------------------------------------------+
17472fe41d3SPeter Avalos+         20100927							+
1751bb1cc14SMatthias Schmidt+         UPGRADING DRAGONFLY FROM 2.6 to 2.8 or HEAD			+
176b79f66ddSJoe Talbott+-----------------------------------------------------------------------+
177b79f66ddSJoe Talbott
17872fe41d3SPeter AvalosOpenSSL
179c983d16eSSascha Wildner--------
18072fe41d3SPeter Avalos
18172fe41d3SPeter AvalosOpenSSL has been upgraded, and SHLIB_MAJOR was bumped for libssh and libcrypto.
18272fe41d3SPeter AvalosThis shouldn't break any 3rd-party software, but you'll need to recompile your
18372fe41d3SPeter Avalos3rd-party software if you want it to link against the new version of OpenSSL.
18472fe41d3SPeter Avalos
1858eb0b612SJustin C. SherrillLoader
186c983d16eSSascha Wildner-------
1878eb0b612SJustin C. Sherrill
188b79f66ddSJoe TalbottA new loader (dloader) has been added which better handles booting from
189b79f66ddSJoe Talbottmultiple kernel/module versions.
190b79f66ddSJoe Talbott
191b79f66ddSJoe TalbottTo upgrade (Only for this upgrade, for post 2.8 upgrades see GENERAL below)
192b79f66ddSJoe Talbott
193b79f66ddSJoe Talbott	cd /usr/src
194b79f66ddSJoe Talbott	make buildworld
195b79f66ddSJoe Talbott	make installworld
196b79f66ddSJoe Talbott	make upgrade
197b79f66ddSJoe Talbott	make buildkernel KERNCONF=<KERNELNAME>
198b79f66ddSJoe Talbott	make installkernel KERNCONF=<KERNELNAME>
199b79f66ddSJoe Talbott
200b79f66ddSJoe TalbottNote that you must installworld and run the 'upgrade' target before
201b79f66ddSJoe Talbottinstalling the new kernel.
202b79f66ddSJoe Talbott
2038eb0b612SJustin C. SherrillBIND
204c983d16eSSascha Wildner-----
2058eb0b612SJustin C. Sherrill
2068eb0b612SJustin C. SherrillBIND has been removed from the base system.  The ldns and drill tools have
2078eb0b612SJustin C. Sherrillbeen added for basic functionality.  Use 'drill' where you would normally
2088eb0b612SJustin C. Sherrilluse nslookup or dig, or install BIND from pkgsrc.  It's available as
2098eb0b612SJustin C. Sherrillnet/bind95, net/bind96, or net/bind97 as of this writing.
2108eb0b612SJustin C. Sherrill
2118eb0b612SJustin C. SherrillThis only affects older systems upgrading to 2.8.  New 2.8+ installs
2128eb0b612SJustin C. Sherrillinclude BIND as a pkgsrc package.
2138eb0b612SJustin C. Sherrill
214b79f66ddSJoe Talbott+-----------------------------------------------------------------------+
215d2a0deccSMatthew Dillon+         UPGRADING DRAGONFLY ON AN EXISTING DRAGONFLY SYSTEM		+
216d2a0deccSMatthew Dillon+				GENERAL					+
217d2a0deccSMatthew Dillon+-----------------------------------------------------------------------+
218984263bcSMatthew Dillon
219a700883cSSascha WildnerInstructions on how to obtain and maintain DragonFly source code using git
220a700883cSSascha Wildnerare in the development(7) manual page.
221d2a0deccSMatthew Dillon
222d2a0deccSMatthew DillonTo upgrade a DragonFly system from sources you run the following sequence:
223d2a0deccSMatthew Dillon
224d2a0deccSMatthew Dillon	cd /usr/src
225d2a0deccSMatthew Dillon	make buildworld
226d2a0deccSMatthew Dillon	make buildkernel KERNCONF=<KERNELNAME>
227d2a0deccSMatthew Dillon	make installkernel KERNCONF=<KERNELNAME>
228d2a0deccSMatthew Dillon	make installworld
229d2a0deccSMatthew Dillon
230d2a0deccSMatthew DillonYou will also want to run the 'upgrade' target to upgrade your /etc and the
231d2a0deccSMatthew Dillonrest of your system.  The upgrade target is aware of stale files created by
232d2a0deccSMatthew Dillonolder DragonFly installations and should delete them automatically.
233d2a0deccSMatthew Dillon
234d2a0deccSMatthew Dillon	make upgrade
235d2a0deccSMatthew Dillon
236a700883cSSascha WildnerSee the build(7) manual page for further information.
237a700883cSSascha Wildner
238d2a0deccSMatthew DillonOnce you've done a full build of the world and kernel you can do incremental
239d2a0deccSMatthew Dillonupgrades of either by using the 'quickworld' and 'quickkernel' targets
240d2a0deccSMatthew Dilloninstead of 'buildworld' and 'buildkernel'.  If you have any problems with
241a700883cSSascha Wildnerthe quick targets, try updating your repo first, and then a full buildworld
242d2a0deccSMatthew Dillonand buildkernel as shown above, before asking for help.
2434523a2c0SThomas Nikolajsen
2444523a2c0SThomas Nikolajsen+-----------------------------------------------------------------------+
2454523a2c0SThomas Nikolajsen+         UPGRADING FROM DRAGONFLY <= 2.0 TO DRAGONFLY >= 2.1		+
2464523a2c0SThomas Nikolajsen+-----------------------------------------------------------------------+
2474523a2c0SThomas Nikolajsen
2484523a2c0SThomas NikolajsenIn 2.1 kernel and modules has moved to boot directory.  For most cases
2494523a2c0SThomas Nikolajsenthis is handled automatically by 'make upgrade'.  A few cases needs manual
2504523a2c0SThomas Nikolajsenintervention:
2514523a2c0SThomas Nikolajsen
2524523a2c0SThomas Nikolajsen * When installing a kernel without first doing a make buildworld,
2534523a2c0SThomas Nikolajsen   installworld and upgrade to the same DESTDIR as kernel:
2544523a2c0SThomas Nikolajsen   make DESTDIR/boot directory and move kernel and modules into this boot
2554523a2c0SThomas Nikolajsen   directory; also move kernel.old and modules.old.
2564523a2c0SThomas Nikolajsen   Typical example is vkernel(7), use (no modules used):
2574523a2c0SThomas Nikolajsen
2584523a2c0SThomas Nikolajsen	cd /var/vkernel
2594523a2c0SThomas Nikolajsen	mkdir boot
2604523a2c0SThomas Nikolajsen	chflags noschg kernel
2614523a2c0SThomas Nikolajsen	mv kernel kernel.old boot
2624523a2c0SThomas Nikolajsen	chflags schg boot/kernel
2634523a2c0SThomas Nikolajsen
2644523a2c0SThomas Nikolajsen * When using a boot-only partition, /boot/loader.rc needs to be edited:
2654523a2c0SThomas Nikolajsen   delete occurrences of '/boot/'.
2664523a2c0SThomas Nikolajsen   These occurences can normally be deleted in any case, see loader(8).
267d2a0deccSMatthew Dillon
268d2a0deccSMatthew Dillon+-----------------------------------------------------------------------+
269d2a0deccSMatthew Dillon+         UPGRADING FROM DRAGONFLY <= 1.8 TO DRAGONFLY >= 1.9		+
270d2a0deccSMatthew Dillon+-----------------------------------------------------------------------+
271d2a0deccSMatthew Dillon
272d2a0deccSMatthew DillonIn 1.9 major changes to the disk management infrastructure have taken
273d2a0deccSMatthew Dillonplace.  make upgrade may not catch all of your disk devices in /dev,
274d2a0deccSMatthew Dillonso after upgrading be sure to cd /dev; ./MAKEDEV <blah> where <blah>
27545e80934SMatthew Dillonare all of your disk devices.  HOWEVER, from late 2.3 on we run devfs
27645e80934SMatthew Dillonand MAKEDEV no longer exists.
277d2a0deccSMatthew Dillon
278d2a0deccSMatthew DillonThe biggest changes in 1.9 are:
279d2a0deccSMatthew Dillon
280d2a0deccSMatthew Dillon(1) That whole-slice devices such as da0s1 no longer share the same device
281d2a0deccSMatthew Dillon    id as partition c devices such as da0s1c.
282d2a0deccSMatthew Dillon
283d2a0deccSMatthew Dillon(2) The whole-disk device (e.g. da0) is full raw access to the disk,
284d2a0deccSMatthew Dillon    with no snooping or reserved sectors.  Consequently you cannot run
285d2a0deccSMatthew Dillon    disklabel on this device.  Instead you must run disklabel on a
286d2a0deccSMatthew Dillon    whole-slice device.
287d2a0deccSMatthew Dillon
288d2a0deccSMatthew Dillon(3) The 'compatibility' partitions now use slice 0 in the device name,
289d2a0deccSMatthew Dillon    so instead of da0a you must specify da0s0a.  Also, as per (1) above,
290d2a0deccSMatthew Dillon    accessing the disklabel for the compatibility partitions must be
291d2a0deccSMatthew Dillon    done via slice 0 (da0s0).
292d2a0deccSMatthew Dillon
293d2a0deccSMatthew Dillon(4) Many device drivers that used to fake up labels, such as CD, ACD, VN,
294d2a0deccSMatthew Dillon    and CCD now run through the disk management layer and are assigned
295d2a0deccSMatthew Dillon    real disk management devices.   VN and CCD in particular do not usually
296d2a0deccSMatthew Dillon    use a MBR and disklabels must be accessed through the compatibility
297d2a0deccSMatthew Dillon    slice 0.  Your /etc/ccd.conf file still specifies 'ccd0', though, you
298d2a0deccSMatthew Dillon    don't name it 'ccd0s0' in the config file.
299d2a0deccSMatthew Dillon
300d2a0deccSMatthew DillonGenerally speaking, you have to get used to running fdisk and disklabel on
301d2a0deccSMatthew Dillonthe correctly specified device names.  A lot of the wiggle, such as running
302d2a0deccSMatthew Dillondisklabel on a partition, has been removed.
303d2a0deccSMatthew Dillon
304d2a0deccSMatthew Dillon+-----------------------------------------------------------------------+
305d2a0deccSMatthew Dillon+         UPGRADING FROM OLDER VERSIONS OF DRAGONFLY OR FREEBSD		+
306d2a0deccSMatthew Dillon+-----------------------------------------------------------------------+
307d2a0deccSMatthew Dillon
308d2a0deccSMatthew Dillon> Kerberos IV
309d2a0deccSMatthew Dillon-------------
310d2a0deccSMatthew Dillon
311d2a0deccSMatthew DillonKerberos IV (eBones) was removed from the tree, please consider moving to
312d2a0deccSMatthew DillonKerberos 5 (Heimdal).
313d2a0deccSMatthew Dillon
314d2a0deccSMatthew Dillon> Package Management System
315d2a0deccSMatthew Dillon---------------------------
316d2a0deccSMatthew Dillon
317d2a0deccSMatthew DillonStarting with the 1.4 release, DragonFly uses NetBSD's pkgsrc package
318d2a0deccSMatthew Dillonmanagement system.  The necessary tools to build and maintain packages
319d2a0deccSMatthew Dillonare provided in /usr/pkg/bin and /usr/pkg/sbin.  Make sure that these
320d2a0deccSMatthew Dillondirectories are in your PATH variable.
321d2a0deccSMatthew Dillon
322d2a0deccSMatthew DillonIn order to obtain a reasonably current snapshot of the pkgsrc tree, use
323d2a0deccSMatthew Dillonthe tarball from NetBSD:
324d2a0deccSMatthew Dillon
325d2a0deccSMatthew Dillon	fetch -o /tmp/pkgsrc.tar.gz ftp://ftp.NetBSD.org/pub/NetBSD/packages/pkgsrc.tar.gz
326d2a0deccSMatthew Dillon	cd /usr; tar -xzf /tmp/pkgsrc.tar.gz; chown -R root:wheel pkgsrc
327d2a0deccSMatthew Dillon
328d2a0deccSMatthew DillonThis tree can then be kept up to date with cvs update:
329d2a0deccSMatthew Dillon
330d2a0deccSMatthew Dillon	cd /usr/pkgsrc; cvs up
331d2a0deccSMatthew Dillon
332d2a0deccSMatthew DillonNOTE! If you upgraded from a pre-1.4 system to 1.4 or later, you need to
333d2a0deccSMatthew Dillonbuild and install the pkgsrc bootstrap manually:
334d2a0deccSMatthew Dillon
335d2a0deccSMatthew Dillon	cd /usr/pkgsrc/bootstrap
336d2a0deccSMatthew Dillon	./bootstrap --pkgdbdir /var/db/pkg --prefix /usr/pkg
337d2a0deccSMatthew Dillon
338d2a0deccSMatthew Dillon+-----------------------------------------------------------------------+
339d2a0deccSMatthew Dillon+         UPGRADING DRAGONFLY ON AN EXISTING DRAGONFLY SYSTEM		+
340d2a0deccSMatthew Dillon+         UPDATING FROM PRE-1.2 SYSTEMS OR FreeBSD 4.x TO               +
341d2a0deccSMatthew Dillon+         DRAGONFLY 1.3+ (EITHER PREVIEW or HEAD)                       +
342d2a0deccSMatthew Dillon+-----------------------------------------------------------------------+
34358116288SJoerg Sonnenberger
344114580acSSascha WildnerThe compatibility shims for the build environment have been removed, you
34558116288SJoerg Sonnenbergerhave to update to DragonFly 1.2 release branch first.
34658116288SJoerg Sonnenberger
3471fcc7462SJoerg SonnenbergerThe default PAM configuration has moved from /etc/pam.conf to /etc/pam.d/.
3481fcc7462SJoerg SonnenbergerThe existing configuration can be converted using /etc/pam.d/convert.sh.
3491fcc7462SJoerg SonnenbergerEntries in /etc/pam.d/ override entries in /etc/pam.conf. In addition
3501fcc7462SJoerg Sonnenbergerthe pam_skey.so module was retired, you have to remove it manually from
3511fcc7462SJoerg Sonnenbergeryour configuration, when you convert it.
35258116288SJoerg Sonnenberger
353a3107071SMatthew Dillon> Required user and group IDs when upgrading from either FreeBSD or DragonFly
354a3107071SMatthew Dillon---------------------
355a3107071SMatthew Dillon
356a3107071SMatthew DillonThe following users may be missing from your password file.  Use vipw and
357a3107071SMatthew Dillonadd any that are missing:
358a3107071SMatthew Dillon
359a3107071SMatthew Dillonsmmsp:*:25:25::0:0:Sendmail Submission User:/var/spool/clientmqueue:/sbin/nologin
360dcf85892SJoerg Sonnenberger_pflogd:*:64:64::0:0:pflogd privsep user:/var/empty:/sbin/nologin
361a3107071SMatthew Dillon
362a3107071SMatthew DillonThe following groups may be missing from your group file.  Use vi /etc/group
363a3107071SMatthew Dillonand add any that are missing:
364a3107071SMatthew Dillon
365a3107071SMatthew Dillonsmmsp:*:25:
366a3107071SMatthew Dillonauthpf:*:63:
367dcf85892SJoerg Sonnenberger_pflogd:*:64:
368a3107071SMatthew Dillon
369a3107071SMatthew Dillon
370f419dacaSMatthew Dillon> Upgrading to DragonFly from FreeBSD
371984263bcSMatthew Dillon---------------------
372984263bcSMatthew Dillon
373f419dacaSMatthew DillonYou can build the DragonFly world and DragonFly kernels on a FreeBSD-4.x or
374f419dacaSMatthew DillonFreeBSD-5.x machine and then install DragonFly over FreeBSD, replacing
375f419dacaSMatthew DillonFreeBSD.  Note that the DragonFly buildworld target does not try to reuse
376f419dacaSMatthew Dillonmake depend information, it starts from scratch, so no pre-cleaning of the
377f419dacaSMatthew Dillonobject hierarchy is necessary.
378984263bcSMatthew Dillon
379466bbc10SHiten Pandya	# get the CVS repository (it is placed in /home/dcvs, 500MB).
380f419dacaSMatthew Dillon	# Please use the -h option and a mirror site to pull the
381f419dacaSMatthew Dillon	# initial repository, but feel free to use the main repository
382f419dacaSMatthew Dillon	# machine to pull updates.
3835010eeb3SSascha Wildner	cvsup /usr/share/examples/cvsup/DragonFly-cvs-supfile
384f419dacaSMatthew Dillon	# install the source from the CVS hierarchy (remove preexisting
385f419dacaSMatthew Dillon	# FreeBSD src first) (500MB)
386f419dacaSMatthew Dillon	cd /usr
387f419dacaSMatthew Dillon	rm -rf src
38850172b1cSDavid Rhodus	cvs -R -d /home/dcvs checkout -P src
389984263bcSMatthew Dillon
390f419dacaSMatthew Dillon	# build it (500MB used in /usr/obj)
391f419dacaSMatthew Dillon	#
392fb12f484SMatthew Dillon	cd /usr/src
393fb12f484SMatthew Dillon	make buildworld
394f419dacaSMatthew Dillon	make buildkernel KERNCONF=<KERNELNAME>
395f419dacaSMatthew Dillon
396f419dacaSMatthew DillonOnce you have built DragonFly you have to install it over FreeBSD.  Since
397f419dacaSMatthew DillonDragonFly does not track changes made by FreeBSD to its include file
398f419dacaSMatthew Dillonhierarchy and include file pollution can cause all sorts of unexpected
399f419dacaSMatthew Dilloncompilation issues to come up, it is best to wipe your include hierarchy
400f419dacaSMatthew Dillonprior to installing DragonFly.  Note that you should not wipe any installed
401f419dacaSMatthew DillonFreeBSD header files or binaries until after you have successfully completed
402f419dacaSMatthew Dillonthe build steps above.
403f419dacaSMatthew Dillon
404f419dacaSMatthew Dillon	rm -rf /usr/include
405f419dacaSMatthew Dillon	mkdir /usr/include
406f419dacaSMatthew Dillon	make installkernel KERNCONF=<KERNELNAME>
407fb12f484SMatthew Dillon	make installworld
408fb12f484SMatthew Dillon
409b8cbf045SSascha WildnerThen you need to upgrade your system.  DragonFly's 'make upgrade' target
410f419dacaSMatthew Dillonwill unconditionally upgrade the /etc files that sysops do not usually
411b8cbf045SSascha Wildnermess around with, such as the files in /etc/rc.d.  It will also remove any
412b8cbf045SSascha Wildnerobsolete files such as utilities and manpages that have been removed from
413b8cbf045SSascha Wildnerthe system since the version you're coming from.  If you are unsure we
414b8cbf045SSascha Wildnerrecommend that you make a backup of at least your /etc before applying
415b8cbf045SSascha Wildnerthis step.  Note that DragonFly's RC system is basically RCNG from
416b8cbf045SSascha WildnerFreeBSD-5, but there are some differences in the contents of the RC files.
417f419dacaSMatthew Dillon
418f419dacaSMatthew Dillon	make upgrade
419f419dacaSMatthew Dillon
420b8cbf045SSascha WildnerNOTE! Never do a 'make upgrade' before 'make installworld' has been run.
421b8cbf045SSascha WildnerDoing so might leave your system in an unusable state.
422b8cbf045SSascha Wildner
423f419dacaSMatthew DillonFinally we recommend that you do an 'ls -lta BLAH' for /bin, /sbin, /usr/bin,
424b8cbf045SSascha Wildner/usr/bin, and /usr/lib, and remove any stale files that you find.  Please
425b8cbf045SSascha Wildnerreport these files to the DragonFly developers so that they can be added to
426b8cbf045SSascha Wildnerthe 'upgrade' target.
427f419dacaSMatthew Dillon
428