Remove three empty directories from BSD.usr.dist
[dragonfly.git] / UPDATING
CommitLineData
d2a0decc
MD
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.
d2a0decc 10
2a617999
SW
11+-----------------------------------------------------------------------+
12+ UPGRADING DRAGONFLY FROM 4.0 TO LATER VERSIONS +
13+-----------------------------------------------------------------------+
14
a7ac1ee9
SW
15_KPOSIX_VERSION and P1003_1B OPTIONS REMOVED
16--------------------------------------------
17
18The _KPOSIX_VERSION and P1003_1B kernel options have been changed to
19no-ops. They can be removed from custom kernel configurations.
20
aa7c3d6b
FT
21SOUND SYSTEM UPDATED FROM FreeBSD 11-CURRENT
22--------------------------------------------
23
24Many more sound devices may be detected.
25
26If the default device choosen isn't to your liking, setting the sysctl
27hw.snd.default_unit to a different number will change it.
28
60a260ad
SW
29SCTP SUPPORT DROPPED
30--------------------
31
32Support for the SCTP protocol has been removed.
33
2a617999
SW
34OLD USB DRIVERS REMOVED
35-----------------------
36
37The old USB stack, along with the kernel config option "device oldusb"
38and the make.conf variable "WANT_OLDUSB" have been removed. This means
39that for custom kernel configuration files which were derived from a
40GENERIC or X86_64_GENERIC file prior to making the usb4bsd stack default,
41various (old USB stack specific) devices will now complain about being
42unknown:
43
44 * oldusb (obviously)
45 * natausb (not yet ported to usb4bsd)
46 * rue (not yet ported to usb4bsd)
47 * ugen (no longer needed in usb4bsd)
48 * urio (not yet ported to usb4bsd)
49 * uscanner (no longer needed in usb4bsd)
50
51They should be removed or commented out in such custom kernel configs.
52
e9b676f1
JM
53GCC 5.0
54-------
55
56The GCC 4.4 compiler has been retired. It has been replaced by a
57[prerelease] version of GCC 5.0. The following make.conf variables no
58longer work: NO_GCC44, NO_OBJC, and NO_CXX. The latter was never
59documented and the latest versions of GCC are partially written in C++
60so a C++ compiler is no longer optional. In practical terms it has not
61been optional for many years as other base components are also written in
62C++. The resource savings by avoiding building Objective-C compiler is
63so small, the complexity added by NO_OBJC internally was deemed a bad
64tradeoff so that is the reason for its removal. Also note that no "info"
65pages are installed with GCC 5.0. This is intentional; they are available
66via the internet if desired over the installed man pages.
67
68Currently, GCC 4.7 is still designated as the primary compiler. After
69GCC 5.0 is released, this may change and these update notes will be
70revised accordingly. DPorts will use GCC 5.0 on this release regardless.
71If GCC 5.0 is unwanted, the make.conf variable NO_GCC50 will block its
72building and installation.
73
74To use GCC 5.0 to build world and kernel, set WORLD_CCVER=gcc50 in
75make.conf before building those targets.
76
0055c35b
SW
77+-----------------------------------------------------------------------+
78+ UPGRADING DRAGONFLY FROM 3.8 TO LATER VERSIONS +
79+-----------------------------------------------------------------------+
80
2a617999 81SMP AND DEVICE_POLLING OPTIONS MADE UNKNOWN
39b3e0a1
SW
82-------------------------------------------
83
84DEVICE_POLLING was replaced by IFPOLL_ENABLE and the former SMP code is
85the default now (even on single-core systems), both for, like, 21 months.
86We kept the options around as no-ops as a convenience, to allow people
87using the same config for the then current release and the then current
88master. That period is now over, so any configs still having those
89options have to be adjusted.
90
10ceb702
SW
91SYSVIPC SYSCALLS MADE NON-OPTIONAL
92----------------------------------
93
94The code related to the SYSVMSG, SYSVSEM and SYSVSHM kernel options is
95now compiled in by default. The options are no-ops for now.
96
79a3e83f
SW
97DEFAULT DRIVER CHANGED FOR LSI "THUNDERBOLT" SERIES RAID CONTROLLERS
98--------------------------------------------------------------------
99
100The default driver for those controllers is now mrsas(4) due to reports
101of file system corruption using the mfi(4) driver. The whole issue (and
102how to deal with potential problems when switching) was explained here:
103
104http://lists.dragonflybsd.org/pipermail/users/2014-July/128703.html
105
106A tunable is provided for letting those controllers still attach via
107the mfi(4) driver, hw.mrsas.mfi_enable (see mrsas(4) manual page).
108
0055c35b
SW
109OLDER NETWORK DRIVERS MOVED TO I386 ONLY
110----------------------------------------
111
112The following drivers have been made i386 only: ed(4), sr(4), ng_sync_ar
113and ng_sync_sr. ed(4) used to be in X86_64_GENERIC, so it has to be
114removed in kernel configs derived from X86_64_GENERIC.
115
e19e3c77 116+-----------------------------------------------------------------------+
62d4130d 117+ UPGRADING DRAGONFLY FROM 3.6 TO LATER VERSIONS +
e19e3c77
SW
118+-----------------------------------------------------------------------+
119
a6a7c140
JS
120UPDATE FROM MOST RECENT 3.6
121---------------------------
122
123Versions of 3.6 built before June 25th have a bug where installworld might
124crash during installation of the new initrd. Upgrade to the latest version
125of 3.6 before updating to 3.8 or later.
126
7c87aae6
SW
127ATM, IPX, NCP AND NWFS SUPPORT DROPPED
128--------------------------------------
6f25d555
SW
129
130Support for the IPX and NCP network protocols and for mouting NetWare
7c87aae6 131file systems has been dropped. Dito for ATM protocol support.
6f25d555
SW
132
133INITRD IMAGES NOW INSTALLED BY DEFAULT
134--------------------------------------
135
136An initial ramdisk image is now installed in /boot/kernel/initrd.img.gz
137
138Older images installed under the file name of initrd.img will be removed
139automatically by the make upgrade process.
140
f0478b8b
SW
141USB4BSD IS NOW THE DEFAULT USB STACK
142------------------------------------
143
144To get back to the old stack, put "WANT_OLDUSB=yes" in /etc/make.conf and
145replace "device usb" with "device oldusb" in the kernel configuration.
146
e19e3c77
SW
147MORE ISA SUPPORT DROPPED
148------------------------
149
150ISA support has been dropped from the following drivers: adv(4), an(4),
151ar(4), cs(4), digi(4), ed(4), ep(4), ex(4), fe(4), lnc(4), sbni(4),
152si(4), sn(4), and stg(4).
153
9332798a 154+-----------------------------------------------------------------------+
62d4130d 155+ UPGRADING DRAGONFLY FROM 3.4 TO LATER VERSIONS +
9332798a
SW
156+-----------------------------------------------------------------------+
157
c04df145
JS
158ABI CHANGE
159----------
160
161Installed third-party software (dports) will have to be rebuilt after upgrade,
162or reinstalled from binary packages.
163
2b455b95
JS
164UPDATING FROM 3.4 TO 3.6
165------------------------
166
167This only applies for this specific upgrade due to locale changes; it is
168not needed for upgrades after 3.6. Please update in this order:
169
170make buildworld
171make buildkernel
172make installworld
173make installkernel
174*reboot*
175make upgrade
176
177See this mailing list post for details:
178http://lists.dragonflybsd.org/pipermail/users/2013-September/090163.html
179
9332798a
SW
180CYRIX OPTIONS REMOVED
181---------------------
182
183The following Cyrix related options have been removed: CPU_BTB_EN,
184CPU_CYRIX_NO_LOCK, CPU_DIRECT_MAPPED_CACHE, CPU_DISABLE_5X86_LSSER,
185CPU_FASTER_5X86_FPU, CPU_IORT, CPU_LOOP_EN, CPU_RSTK_EN, CPU_SUSP_HLT,
186CYRIX_CACHE_WORKS, and CYRIX_CACHE_REALLY_WORKS
187
188ISA SUPPORT REMOVED FROM RP(4)
189------------------------------
190
191ISA support has been removed from the rp(4) driver. It is now PCI only.
192
64aeb497 193+-----------------------------------------------------------------------+
62d4130d 194+ UPGRADING DRAGONFLY FROM 3.2 TO LATER VERSIONS +
64aeb497
SW
195+-----------------------------------------------------------------------+
196
d88b9605
SW
197COMPAT_SUNOS OPTION REMOVED
198---------------------------
199
200The COMPAT_SUNOS option has been removed. It was meant to provide binary
201compatibility with SunOS 4.x for the sparc32 port of 4.4BSD.
202
43f215d7
SW
203ISA SOUND CARD SUPPORT REMOVED
204------------------------------
205
206The following modules have been removed (all for ISA sound cards):
207snd_ad1816.ko, snd_ess.ko, snd_mss.ko, snd_sb8.ko, snd_sb16.ko, snd_sbc.ko
208
6100d1de
JM
209GCC 4.7
210-------
211
212DragonFly has switched base compilers. GCC 4.7 is now the default
213compiler and GCC 4.4 is the alternative compiler. The "NO_GCC47" make
214variable ceases to work now.
215
216Users who wish to build only GCC 4.7 have to use NO_GCC44 in the
217/etc/make.conf to prohibit GCC 4.4 from building. However, using it is
218highly discouraged. There are a few packages in pkgsrc that do not build
219with GCC 4.7 and the new "DPorts" system uses GCC 4.4 by default. At
220this time, it is recommended to keep both compilers on the base system.
221
2089bb7c
SW
222SMP OPTION REMOVED
223------------------
224
225The SMP kernel option has been made a no-op. All kernels now feature SMP
226support. If you have 'options SMP' in your kernel config, you can as well
227remove it.
228
1c297ed0
SW
229DEVICE_POLLING OPTION REPLACED BY IFPOLL_ENABLE OPTION, KTR_POLLING REMOVED
230---------------------------------------------------------------------------
640dc18f
SZ
231
232The DEVICE_POLLING kernel option has been made a no-op and it has been
233replaced by IFPOLL_ENABLE. If you have 'options DEVICE_POLLING' in your
234kernel config, you need to change it to IFPOLL_ENABLE.
235
1c297ed0
SW
236Also, the KTR_POLLING kernel option has been removed, so it must be
237removed from kernel configs that have it.
238
558b0a0b
SW
239BUSLOGIC, CYCLADES AND STALLION ISA SUPPORT REMOVED
240---------------------------------------------------
850c4634
SW
241
242The bt(4) driver for Buslogic SCSI adapters has been made PCI only. ISA
243cards will no longer be detected.
244
e6f626a1
SW
245The same has been done for Stallion multiport serial controllers. stli(4)
246has been completely removed (along with the stlload(8) and stlstty(8)
558b0a0b
SW
247utilities) and stl(4) was changed to support only PCI cards. Similarly,
248ISA support was removed from cy(4) too. All these drivers are i386 only.
e6f626a1 249
e98bcb27
SW
250COMPAT_OLDISA OPTION GONE
251-------------------------
252
253The i386 specific COMPAT_OLDISA kernel option has been removed, since
254nothing needs it anymore.
255
c691bb43 256+-----------------------------------------------------------------------+
62d4130d 257+ UPGRADING DRAGONFLY FROM 3.0 TO LATER VERSIONS +
c691bb43
SW
258+-----------------------------------------------------------------------+
259
260APIC_IO OPTION REMOVED
261----------------------
262
263The APIC_IO kernel option is no longer accepted after having been without
264effect for a while. The hw.ioapic_enable tunable now serves its purpose.
265If you have 'options APIC_IO' in your kernel config, you'll have to
266remove it.
267
6d488cc3
SW
268WATCHDOG_ENABLE & HW_WDOG OPTIONS REMOVED
269-----------------------------------------
cf03d6cd
SW
270
271The wdog framework is now compiled into our kernels by default, so the
6d488cc3 272options are no longer needed.
cf03d6cd 273
397ffc5c
SW
274DOSCMD(1) REMOVED
275-----------------
276
277doscmd(1) has been removed. It was i386 only. The doscmd(1) specific
278NO_X make.conf option was removed too.
279
a1404d4f
SW
280GCC 4.7
281-------
282
283GCC 4.7 has been brought in and replaces GCC 4.1 as DragonFly's non-
284default compiler in base (default is still GCC 4.4).
285
286Users who wish to build only GCC 4.4 have to replace NO_GCC41 with
287NO_GCC47 in /etc/make.conf.
288
2508820f
SW
289USB4BSD
290-------
291
292A new USB stack (from FreeBSD) has been brought in. The following
293modules have been ported so far: usb, uhci, ohci, ehci, xhci, umass,
294usfs, uether, if_axe, if_udav, ukbd, ums, uep, uhid, usb_quirk,
295and uaudio.
296
297It is not yet the default. To activate it, WANT_USB4BSD=yes has to
c7200221
SW
298be put in make.conf and device "usb4bsd" (quotes needed) has to
299replace device usb in the kernel config. After that, a full
300build/install/upgrade cycle is needed.
2508820f
SW
301
302Note that this is experimental and incomplete, but we are interested
303in hearing about issues with it, of course.
304
ae0870a3
SW
305ISA SUPPORT REMOVED FROM AIC-6260/6360 DRIVER
306---------------------------------------------
307
308ISA adapter support was dropped from the aic(4) driver.
309
96386d4b 310+-----------------------------------------------------------------------+
62d4130d 311+ UPGRADING DRAGONFLY FROM 2.10 TO LATER VERSIONS +
96386d4b
SW
312+-----------------------------------------------------------------------+
313
314SEVERAL ISA DRIVERS REMOVED
315---------------------------
316
317The following ISA only drivers have been removed along with a couple of
318associated userland tools:
319
320aha(4)
321asc(4) & sasc(1)
322ctx
323dgb(4)
324el(4)
325gpib
326gsc(4) & sgsc(1)
327ie(4)
328labpc(4)
329le(4)
330mse(4)
331rc(4)
332rdp(4)
333spigot
334tw(4) & xten(1) & xtend(8)
335wl(4) & wlconfig(8)
336wt(4)
337
338Note that two of these drivers (aha(4) and ie(4)) are in our GENERIC
339config and one (aha(4)) is in our X86_64_GENERIC kernel configuration
340file.
341
342If buildkernel complains about any of these drivers, just remove them
343from your kernel configuration.
344
919eb219
JM
345BINUTILS 2.20
346-------------
37c5a0db 347Binutils 2.20 has been removed in favor of Binutils 2.22. The accepted
e685772e 348values of BINUTILSVERS are now binutils221 and binutils222 (default).
919eb219 349
83bc1e2a
SW
350BUILDWORLD/-KERNEL PARALLELIZATION WORK
351---------------------------------------
352Due to changes in the way we build with more than one make job, you
353will have to update install(1) and mkdir(1) prior to buildworld if you
354want to build with 'make -j':
355
356cd /usr/src/usr.bin/xinstall; make; make install; make clean
357cd /usr/src/bin/mkdir; make; make install; make clean
358
eca86bd9
SW
359DMA(8) UPGRADE
360--------------
361dma(8) has been upgraded to v0.7 which no longer supports the
362/etc/dma/virtusertable. Some of its functionality has been replaced
363with the MASQUERADE keyword and the EMAIL environment variable (see
364the dma(8) manual page).
365
a4a39c94 366+-----------------------------------------------------------------------+
62d4130d 367+ UPGRADING DRAGONFLY FROM 2.8 TO LATER VERSIONS +
a4a39c94
JS
368+-----------------------------------------------------------------------+
369
b1242318
SW
370GCC 4.4 & BINUTILS 2.21
371-----------------------
30c91f0c 372
b1242318
SW
373GCC 4.4 has been made DragonFly's default compiler and Binutils 2.21 has
374been made DragonFly's default Binutils.
30c91f0c
SW
375
376That means that any settings that set CCVER to 'gcc44' are not needed
377anymore. Instead, CCVER can be set to 'gcc41' to go back to using
378GCC 4.1.
379
b1242318
SW
380It also means that 'binutils221' as a value for BINUTILSVER has no
381effect anymore. 2.17 has been removed and 'binutils220' is available
382as an option.
383
5738210d 384The NO_GCC44 option has been removed and will not affect the build
30c91f0c
SW
385anymore. There is now a NO_GCC41 option that will prevent GCC 4.1 from
386building in a similar fashion.
387
80abb3be 388Note that you must do a full buildworld/buildkernel for upgrading.
30c91f0c 389
a4a39c94 390pkg_radd settings
c983d16e 391-----------------
a4a39c94
JS
392
393The config file for pkg_radd has moved from /etc/settings.conf to
394/etc/pkg_radd.conf. Save the contents of settings.conf before upgrading
395if this is needed. This warning only applies if /etc/settings.conf
396exists. pkg_radd will continue to work with defaults.
397
b79f66dd 398+-----------------------------------------------------------------------+
72fe41d3 399+ 20100927 +
1bb1cc14 400+ UPGRADING DRAGONFLY FROM 2.6 to 2.8 or HEAD +
b79f66dd
JT
401+-----------------------------------------------------------------------+
402
72fe41d3 403OpenSSL
c983d16e 404--------
72fe41d3
PA
405
406OpenSSL has been upgraded, and SHLIB_MAJOR was bumped for libssh and libcrypto.
407This shouldn't break any 3rd-party software, but you'll need to recompile your
4083rd-party software if you want it to link against the new version of OpenSSL.
409
8eb0b612 410Loader
c983d16e 411-------
8eb0b612 412
b79f66dd
JT
413A new loader (dloader) has been added which better handles booting from
414multiple kernel/module versions.
415
416To upgrade (Only for this upgrade, for post 2.8 upgrades see GENERAL below)
417
418 cd /usr/src
419 make buildworld
420 make installworld
421 make upgrade
422 make buildkernel KERNCONF=<KERNELNAME>
423 make installkernel KERNCONF=<KERNELNAME>
424
425Note that you must installworld and run the 'upgrade' target before
426installing the new kernel.
427
8eb0b612 428BIND
c983d16e 429-----
8eb0b612
JS
430
431BIND has been removed from the base system. The ldns and drill tools have
432been added for basic functionality. Use 'drill' where you would normally
433use nslookup or dig, or install BIND from pkgsrc. It's available as
434net/bind95, net/bind96, or net/bind97 as of this writing.
435
436This only affects older systems upgrading to 2.8. New 2.8+ installs
437include BIND as a pkgsrc package.
438
d2a0decc
MD
439+-----------------------------------------------------------------------+
440+ UPGRADING DRAGONFLY ON AN EXISTING DRAGONFLY SYSTEM +
441+ GENERAL +
442+-----------------------------------------------------------------------+
984263bc 443
a700883c
SW
444Instructions on how to obtain and maintain DragonFly source code using git
445are in the development(7) manual page.
d2a0decc
MD
446
447To upgrade a DragonFly system from sources you run the following sequence:
448
449 cd /usr/src
450 make buildworld
451 make buildkernel KERNCONF=<KERNELNAME>
452 make installkernel KERNCONF=<KERNELNAME>
453 make installworld
454
455You will also want to run the 'upgrade' target to upgrade your /etc and the
456rest of your system. The upgrade target is aware of stale files created by
457older DragonFly installations and should delete them automatically.
458
459 make upgrade
460
a700883c
SW
461See the build(7) manual page for further information.
462
d2a0decc
MD
463Once you've done a full build of the world and kernel you can do incremental
464upgrades of either by using the 'quickworld' and 'quickkernel' targets
465instead of 'buildworld' and 'buildkernel'. If you have any problems with
a700883c 466the quick targets, try updating your repo first, and then a full buildworld
d2a0decc 467and buildkernel as shown above, before asking for help.
4523a2c0
TN
468
469+-----------------------------------------------------------------------+
470+ UPGRADING FROM DRAGONFLY <= 2.0 TO DRAGONFLY >= 2.1 +
471+-----------------------------------------------------------------------+
472
473In 2.1 kernel and modules has moved to boot directory. For most cases
474this is handled automatically by 'make upgrade'. A few cases needs manual
475intervention:
476
477 * When installing a kernel without first doing a make buildworld,
478 installworld and upgrade to the same DESTDIR as kernel:
479 make DESTDIR/boot directory and move kernel and modules into this boot
480 directory; also move kernel.old and modules.old.
481 Typical example is vkernel(7), use (no modules used):
482
483 cd /var/vkernel
484 mkdir boot
485 chflags noschg kernel
486 mv kernel kernel.old boot
487 chflags schg boot/kernel
488
489 * When using a boot-only partition, /boot/loader.rc needs to be edited:
490 delete occurrences of '/boot/'.
491 These occurences can normally be deleted in any case, see loader(8).
d2a0decc
MD
492
493+-----------------------------------------------------------------------+
494+ UPGRADING FROM DRAGONFLY <= 1.8 TO DRAGONFLY >= 1.9 +
495+-----------------------------------------------------------------------+
496
497In 1.9 major changes to the disk management infrastructure have taken
498place. make upgrade may not catch all of your disk devices in /dev,
499so after upgrading be sure to cd /dev; ./MAKEDEV <blah> where <blah>
45e80934
MD
500are all of your disk devices. HOWEVER, from late 2.3 on we run devfs
501and MAKEDEV no longer exists.
d2a0decc
MD
502
503The biggest changes in 1.9 are:
504
505(1) That whole-slice devices such as da0s1 no longer share the same device
506 id as partition c devices such as da0s1c.
507
508(2) The whole-disk device (e.g. da0) is full raw access to the disk,
509 with no snooping or reserved sectors. Consequently you cannot run
510 disklabel on this device. Instead you must run disklabel on a
511 whole-slice device.
512
513(3) The 'compatibility' partitions now use slice 0 in the device name,
514 so instead of da0a you must specify da0s0a. Also, as per (1) above,
515 accessing the disklabel for the compatibility partitions must be
516 done via slice 0 (da0s0).
517
518(4) Many device drivers that used to fake up labels, such as CD, ACD, VN,
519 and CCD now run through the disk management layer and are assigned
520 real disk management devices. VN and CCD in particular do not usually
521 use a MBR and disklabels must be accessed through the compatibility
522 slice 0. Your /etc/ccd.conf file still specifies 'ccd0', though, you
523 don't name it 'ccd0s0' in the config file.
524
525Generally speaking, you have to get used to running fdisk and disklabel on
526the correctly specified device names. A lot of the wiggle, such as running
527disklabel on a partition, has been removed.
528
529+-----------------------------------------------------------------------+
530+ UPGRADING FROM OLDER VERSIONS OF DRAGONFLY OR FREEBSD +
531+-----------------------------------------------------------------------+
532
533> Kerberos IV
534-------------
535
536Kerberos IV (eBones) was removed from the tree, please consider moving to
537Kerberos 5 (Heimdal).
538
539> Package Management System
540---------------------------
541
542Starting with the 1.4 release, DragonFly uses NetBSD's pkgsrc package
543management system. The necessary tools to build and maintain packages
544are provided in /usr/pkg/bin and /usr/pkg/sbin. Make sure that these
545directories are in your PATH variable.
546
547In order to obtain a reasonably current snapshot of the pkgsrc tree, use
548the tarball from NetBSD:
549
550 fetch -o /tmp/pkgsrc.tar.gz ftp://ftp.NetBSD.org/pub/NetBSD/packages/pkgsrc.tar.gz
551 cd /usr; tar -xzf /tmp/pkgsrc.tar.gz; chown -R root:wheel pkgsrc
552
553This tree can then be kept up to date with cvs update:
554
555 cd /usr/pkgsrc; cvs up
556
557NOTE! If you upgraded from a pre-1.4 system to 1.4 or later, you need to
558build and install the pkgsrc bootstrap manually:
559
560 cd /usr/pkgsrc/bootstrap
561 ./bootstrap --pkgdbdir /var/db/pkg --prefix /usr/pkg
562
563+-----------------------------------------------------------------------+
564+ UPGRADING DRAGONFLY ON AN EXISTING DRAGONFLY SYSTEM +
565+ UPDATING FROM PRE-1.2 SYSTEMS OR FreeBSD 4.x TO +
566+ DRAGONFLY 1.3+ (EITHER PREVIEW or HEAD) +
567+-----------------------------------------------------------------------+
58116288 568
114580ac 569The compatibility shims for the build environment have been removed, you
58116288
JS
570have to update to DragonFly 1.2 release branch first.
571
1fcc7462
JS
572The default PAM configuration has moved from /etc/pam.conf to /etc/pam.d/.
573The existing configuration can be converted using /etc/pam.d/convert.sh.
574Entries in /etc/pam.d/ override entries in /etc/pam.conf. In addition
575the pam_skey.so module was retired, you have to remove it manually from
576your configuration, when you convert it.
58116288 577
a3107071
MD
578> Required user and group IDs when upgrading from either FreeBSD or DragonFly
579---------------------
580
581The following users may be missing from your password file. Use vipw and
582add any that are missing:
583
584smmsp:*:25:25::0:0:Sendmail Submission User:/var/spool/clientmqueue:/sbin/nologin
dcf85892 585_pflogd:*:64:64::0:0:pflogd privsep user:/var/empty:/sbin/nologin
a3107071
MD
586
587The following groups may be missing from your group file. Use vi /etc/group
588and add any that are missing:
589
590smmsp:*:25:
591authpf:*:63:
dcf85892 592_pflogd:*:64:
a3107071
MD
593
594
f419daca 595> Upgrading to DragonFly from FreeBSD
5e0ae0d4 596---------------------
984263bc 597
f419daca
MD
598You can build the DragonFly world and DragonFly kernels on a FreeBSD-4.x or
599FreeBSD-5.x machine and then install DragonFly over FreeBSD, replacing
600FreeBSD. Note that the DragonFly buildworld target does not try to reuse
601make depend information, it starts from scratch, so no pre-cleaning of the
602object hierarchy is necessary.
603
466bbc10 604 # get the CVS repository (it is placed in /home/dcvs, 500MB).
f419daca
MD
605 # Please use the -h option and a mirror site to pull the
606 # initial repository, but feel free to use the main repository
607 # machine to pull updates.
5010eeb3 608 cvsup /usr/share/examples/cvsup/DragonFly-cvs-supfile
f419daca
MD
609 # install the source from the CVS hierarchy (remove preexisting
610 # FreeBSD src first) (500MB)
611 cd /usr
612 rm -rf src
50172b1c 613 cvs -R -d /home/dcvs checkout -P src
f419daca
MD
614
615 # build it (500MB used in /usr/obj)
616 #
617 cd /usr/src
618 make buildworld
619 make buildkernel KERNCONF=<KERNELNAME>
984263bc 620
f419daca
MD
621Once you have built DragonFly you have to install it over FreeBSD. Since
622DragonFly does not track changes made by FreeBSD to its include file
623hierarchy and include file pollution can cause all sorts of unexpected
624compilation issues to come up, it is best to wipe your include hierarchy
625prior to installing DragonFly. Note that you should not wipe any installed
626FreeBSD header files or binaries until after you have successfully completed
627the build steps above.
fb12f484 628
f419daca
MD
629 rm -rf /usr/include
630 mkdir /usr/include
631 make installkernel KERNCONF=<KERNELNAME>
632 make installworld
fb12f484 633
b8cbf045 634Then you need to upgrade your system. DragonFly's 'make upgrade' target
f419daca 635will unconditionally upgrade the /etc files that sysops do not usually
b8cbf045
SW
636mess around with, such as the files in /etc/rc.d. It will also remove any
637obsolete files such as utilities and manpages that have been removed from
638the system since the version you're coming from. If you are unsure we
639recommend that you make a backup of at least your /etc before applying
640this step. Note that DragonFly's RC system is basically RCNG from
641FreeBSD-5, but there are some differences in the contents of the RC files.
f419daca
MD
642
643 make upgrade
644
b8cbf045
SW
645NOTE! Never do a 'make upgrade' before 'make installworld' has been run.
646Doing so might leave your system in an unusable state.
647
f419daca 648Finally we recommend that you do an 'ls -lta BLAH' for /bin, /sbin, /usr/bin,
b8cbf045
SW
649/usr/bin, and /usr/lib, and remove any stale files that you find. Please
650report these files to the DragonFly developers so that they can be added to
651the 'upgrade' target.
f419daca 652