| Commit | Line | Data |
|---|---|---|
| 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 MD |
10 | |
| 11 | +-----------------------------------------------------------------------+ | |
| 96386d4b SW |
12 | + UPGRADING DRAGONFLY FROM 2.10 to later versions + |
| 13 | +-----------------------------------------------------------------------+ | |
| 14 | ||
| 15 | SEVERAL ISA DRIVERS REMOVED | |
| 16 | --------------------------- | |
| 17 | ||
| 18 | The following ISA only drivers have been removed along with a couple of | |
| 19 | associated userland tools: | |
| 20 | ||
| 21 | aha(4) | |
| 22 | asc(4) & sasc(1) | |
| 23 | ctx | |
| 24 | dgb(4) | |
| 25 | el(4) | |
| 26 | gpib | |
| 27 | gsc(4) & sgsc(1) | |
| 28 | ie(4) | |
| 29 | labpc(4) | |
| 30 | le(4) | |
| 31 | mse(4) | |
| 32 | rc(4) | |
| 33 | rdp(4) | |
| 34 | spigot | |
| 35 | tw(4) & xten(1) & xtend(8) | |
| 36 | wl(4) & wlconfig(8) | |
| 37 | wt(4) | |
| 38 | ||
| 39 | Note that two of these drivers (aha(4) and ie(4)) are in our GENERIC | |
| 40 | config and one (aha(4)) is in our X86_64_GENERIC kernel configuration | |
| 41 | file. | |
| 42 | ||
| 43 | If buildkernel complains about any of these drivers, just remove them | |
| 44 | from your kernel configuration. | |
| 45 | ||
| 46 | +-----------------------------------------------------------------------+ | |
| 2443e96e | 47 | + UPGRADING DRAGONFLY FROM 2.8 to later versions + |
| a4a39c94 JS |
48 | +-----------------------------------------------------------------------+ |
| 49 | ||
| b1242318 SW |
50 | GCC 4.4 & BINUTILS 2.21 |
| 51 | ----------------------- | |
| 30c91f0c | 52 | |
| b1242318 SW |
53 | GCC 4.4 has been made DragonFly's default compiler and Binutils 2.21 has |
| 54 | been made DragonFly's default Binutils. | |
| 30c91f0c SW |
55 | |
| 56 | That means that any settings that set CCVER to 'gcc44' are not needed | |
| 57 | anymore. Instead, CCVER can be set to 'gcc41' to go back to using | |
| 58 | GCC 4.1. | |
| 59 | ||
| b1242318 SW |
60 | It also means that 'binutils221' as a value for BINUTILSVER has no |
| 61 | effect anymore. 2.17 has been removed and 'binutils220' is available | |
| 62 | as an option. | |
| 63 | ||
| 5738210d | 64 | The NO_GCC44 option has been removed and will not affect the build |
| 30c91f0c SW |
65 | anymore. There is now a NO_GCC41 option that will prevent GCC 4.1 from |
| 66 | building in a similar fashion. | |
| 67 | ||
| 80abb3be | 68 | Note that you must do a full buildworld/buildkernel for upgrading. |
| 30c91f0c | 69 | |
| a4a39c94 | 70 | pkg_radd settings |
| c983d16e | 71 | ----------------- |
| a4a39c94 JS |
72 | |
| 73 | The config file for pkg_radd has moved from /etc/settings.conf to | |
| 74 | /etc/pkg_radd.conf. Save the contents of settings.conf before upgrading | |
| 75 | if this is needed. This warning only applies if /etc/settings.conf | |
| 76 | exists. pkg_radd will continue to work with defaults. | |
| 77 | ||
| 78 | +-----------------------------------------------------------------------+ | |
| 72fe41d3 | 79 | + 20100927 + |
| 1bb1cc14 | 80 | + UPGRADING DRAGONFLY FROM 2.6 to 2.8 or HEAD + |
| b79f66dd JT |
81 | +-----------------------------------------------------------------------+ |
| 82 | ||
| 72fe41d3 | 83 | OpenSSL |
| c983d16e | 84 | -------- |
| 72fe41d3 PA |
85 | |
| 86 | OpenSSL has been upgraded, and SHLIB_MAJOR was bumped for libssh and libcrypto. | |
| 87 | This shouldn't break any 3rd-party software, but you'll need to recompile your | |
| 88 | 3rd-party software if you want it to link against the new version of OpenSSL. | |
| 89 | ||
| 8eb0b612 | 90 | Loader |
| c983d16e | 91 | ------- |
| 8eb0b612 | 92 | |
| b79f66dd JT |
93 | A new loader (dloader) has been added which better handles booting from |
| 94 | multiple kernel/module versions. | |
| 95 | ||
| 96 | To upgrade (Only for this upgrade, for post 2.8 upgrades see GENERAL below) | |
| 97 | ||
| 98 | cd /usr/src | |
| 99 | make buildworld | |
| 100 | make installworld | |
| 101 | make upgrade | |
| 102 | make buildkernel KERNCONF=<KERNELNAME> | |
| 103 | make installkernel KERNCONF=<KERNELNAME> | |
| 104 | ||
| 105 | Note that you must installworld and run the 'upgrade' target before | |
| 106 | installing the new kernel. | |
| 107 | ||
| 8eb0b612 | 108 | BIND |
| c983d16e | 109 | ----- |
| 8eb0b612 JS |
110 | |
| 111 | BIND has been removed from the base system. The ldns and drill tools have | |
| 112 | been added for basic functionality. Use 'drill' where you would normally | |
| 113 | use nslookup or dig, or install BIND from pkgsrc. It's available as | |
| 114 | net/bind95, net/bind96, or net/bind97 as of this writing. | |
| 115 | ||
| 116 | This only affects older systems upgrading to 2.8. New 2.8+ installs | |
| 117 | include BIND as a pkgsrc package. | |
| 118 | ||
| b79f66dd | 119 | +-----------------------------------------------------------------------+ |
| d2a0decc MD |
120 | + UPGRADING DRAGONFLY ON AN EXISTING DRAGONFLY SYSTEM + |
| 121 | + GENERAL + | |
| 122 | +-----------------------------------------------------------------------+ | |
| 984263bc | 123 | |
| a700883c SW |
124 | Instructions on how to obtain and maintain DragonFly source code using git |
| 125 | are in the development(7) manual page. | |
| d2a0decc MD |
126 | |
| 127 | To upgrade a DragonFly system from sources you run the following sequence: | |
| 128 | ||
| 129 | cd /usr/src | |
| 130 | make buildworld | |
| 131 | make buildkernel KERNCONF=<KERNELNAME> | |
| 132 | make installkernel KERNCONF=<KERNELNAME> | |
| 133 | make installworld | |
| 134 | ||
| 135 | You will also want to run the 'upgrade' target to upgrade your /etc and the | |
| 136 | rest of your system. The upgrade target is aware of stale files created by | |
| 137 | older DragonFly installations and should delete them automatically. | |
| 138 | ||
| 139 | make upgrade | |
| 140 | ||
| a700883c SW |
141 | See the build(7) manual page for further information. |
| 142 | ||
| d2a0decc MD |
143 | Once you've done a full build of the world and kernel you can do incremental |
| 144 | upgrades of either by using the 'quickworld' and 'quickkernel' targets | |
| 145 | instead of 'buildworld' and 'buildkernel'. If you have any problems with | |
| a700883c | 146 | the quick targets, try updating your repo first, and then a full buildworld |
| d2a0decc | 147 | and buildkernel as shown above, before asking for help. |
| 4523a2c0 TN |
148 | |
| 149 | +-----------------------------------------------------------------------+ | |
| 150 | + UPGRADING FROM DRAGONFLY <= 2.0 TO DRAGONFLY >= 2.1 + | |
| 151 | +-----------------------------------------------------------------------+ | |
| 152 | ||
| 153 | In 2.1 kernel and modules has moved to boot directory. For most cases | |
| 154 | this is handled automatically by 'make upgrade'. A few cases needs manual | |
| 155 | intervention: | |
| 156 | ||
| 157 | * When installing a kernel without first doing a make buildworld, | |
| 158 | installworld and upgrade to the same DESTDIR as kernel: | |
| 159 | make DESTDIR/boot directory and move kernel and modules into this boot | |
| 160 | directory; also move kernel.old and modules.old. | |
| 161 | Typical example is vkernel(7), use (no modules used): | |
| 162 | ||
| 163 | cd /var/vkernel | |
| 164 | mkdir boot | |
| 165 | chflags noschg kernel | |
| 166 | mv kernel kernel.old boot | |
| 167 | chflags schg boot/kernel | |
| 168 | ||
| 169 | * When using a boot-only partition, /boot/loader.rc needs to be edited: | |
| 170 | delete occurrences of '/boot/'. | |
| 171 | These occurences can normally be deleted in any case, see loader(8). | |
| d2a0decc MD |
172 | |
| 173 | +-----------------------------------------------------------------------+ | |
| 174 | + UPGRADING FROM DRAGONFLY <= 1.8 TO DRAGONFLY >= 1.9 + | |
| 175 | +-----------------------------------------------------------------------+ | |
| 176 | ||
| 177 | In 1.9 major changes to the disk management infrastructure have taken | |
| 178 | place. make upgrade may not catch all of your disk devices in /dev, | |
| 179 | so after upgrading be sure to cd /dev; ./MAKEDEV <blah> where <blah> | |
| 45e80934 MD |
180 | are all of your disk devices. HOWEVER, from late 2.3 on we run devfs |
| 181 | and MAKEDEV no longer exists. | |
| d2a0decc MD |
182 | |
| 183 | The biggest changes in 1.9 are: | |
| 184 | ||
| 185 | (1) That whole-slice devices such as da0s1 no longer share the same device | |
| 186 | id as partition c devices such as da0s1c. | |
| 187 | ||
| 188 | (2) The whole-disk device (e.g. da0) is full raw access to the disk, | |
| 189 | with no snooping or reserved sectors. Consequently you cannot run | |
| 190 | disklabel on this device. Instead you must run disklabel on a | |
| 191 | whole-slice device. | |
| 192 | ||
| 193 | (3) The 'compatibility' partitions now use slice 0 in the device name, | |
| 194 | so instead of da0a you must specify da0s0a. Also, as per (1) above, | |
| 195 | accessing the disklabel for the compatibility partitions must be | |
| 196 | done via slice 0 (da0s0). | |
| 197 | ||
| 198 | (4) Many device drivers that used to fake up labels, such as CD, ACD, VN, | |
| 199 | and CCD now run through the disk management layer and are assigned | |
| 200 | real disk management devices. VN and CCD in particular do not usually | |
| 201 | use a MBR and disklabels must be accessed through the compatibility | |
| 202 | slice 0. Your /etc/ccd.conf file still specifies 'ccd0', though, you | |
| 203 | don't name it 'ccd0s0' in the config file. | |
| 204 | ||
| 205 | Generally speaking, you have to get used to running fdisk and disklabel on | |
| 206 | the correctly specified device names. A lot of the wiggle, such as running | |
| 207 | disklabel on a partition, has been removed. | |
| 208 | ||
| 209 | +-----------------------------------------------------------------------+ | |
| 210 | + UPGRADING FROM OLDER VERSIONS OF DRAGONFLY OR FREEBSD + | |
| 211 | +-----------------------------------------------------------------------+ | |
| 212 | ||
| 213 | > Kerberos IV | |
| 214 | ------------- | |
| 215 | ||
| 216 | Kerberos IV (eBones) was removed from the tree, please consider moving to | |
| 217 | Kerberos 5 (Heimdal). | |
| 218 | ||
| 219 | > Package Management System | |
| 220 | --------------------------- | |
| 221 | ||
| 222 | Starting with the 1.4 release, DragonFly uses NetBSD's pkgsrc package | |
| 223 | management system. The necessary tools to build and maintain packages | |
| 224 | are provided in /usr/pkg/bin and /usr/pkg/sbin. Make sure that these | |
| 225 | directories are in your PATH variable. | |
| 226 | ||
| 227 | In order to obtain a reasonably current snapshot of the pkgsrc tree, use | |
| 228 | the tarball from NetBSD: | |
| 229 | ||
| 230 | fetch -o /tmp/pkgsrc.tar.gz ftp://ftp.NetBSD.org/pub/NetBSD/packages/pkgsrc.tar.gz | |
| 231 | cd /usr; tar -xzf /tmp/pkgsrc.tar.gz; chown -R root:wheel pkgsrc | |
| 232 | ||
| 233 | This tree can then be kept up to date with cvs update: | |
| 234 | ||
| 235 | cd /usr/pkgsrc; cvs up | |
| 236 | ||
| 237 | NOTE! If you upgraded from a pre-1.4 system to 1.4 or later, you need to | |
| 238 | build and install the pkgsrc bootstrap manually: | |
| 239 | ||
| 240 | cd /usr/pkgsrc/bootstrap | |
| 241 | ./bootstrap --pkgdbdir /var/db/pkg --prefix /usr/pkg | |
| 242 | ||
| 243 | +-----------------------------------------------------------------------+ | |
| 244 | + UPGRADING DRAGONFLY ON AN EXISTING DRAGONFLY SYSTEM + | |
| 245 | + UPDATING FROM PRE-1.2 SYSTEMS OR FreeBSD 4.x TO + | |
| 246 | + DRAGONFLY 1.3+ (EITHER PREVIEW or HEAD) + | |
| 247 | +-----------------------------------------------------------------------+ | |
| 58116288 | 248 | |
| 114580ac | 249 | The compatibility shims for the build environment have been removed, you |
| 58116288 JS |
250 | have to update to DragonFly 1.2 release branch first. |
| 251 | ||
| 1fcc7462 JS |
252 | The default PAM configuration has moved from /etc/pam.conf to /etc/pam.d/. |
| 253 | The existing configuration can be converted using /etc/pam.d/convert.sh. | |
| 254 | Entries in /etc/pam.d/ override entries in /etc/pam.conf. In addition | |
| 255 | the pam_skey.so module was retired, you have to remove it manually from | |
| 256 | your configuration, when you convert it. | |
| 58116288 | 257 | |
| a3107071 MD |
258 | > Required user and group IDs when upgrading from either FreeBSD or DragonFly |
| 259 | --------------------- | |
| 260 | ||
| 261 | The following users may be missing from your password file. Use vipw and | |
| 262 | add any that are missing: | |
| 263 | ||
| 264 | smmsp:*:25:25::0:0:Sendmail Submission User:/var/spool/clientmqueue:/sbin/nologin | |
| dcf85892 | 265 | _pflogd:*:64:64::0:0:pflogd privsep user:/var/empty:/sbin/nologin |
| a3107071 MD |
266 | |
| 267 | The following groups may be missing from your group file. Use vi /etc/group | |
| 268 | and add any that are missing: | |
| 269 | ||
| 270 | smmsp:*:25: | |
| 271 | authpf:*:63: | |
| dcf85892 | 272 | _pflogd:*:64: |
| a3107071 MD |
273 | |
| 274 | ||
| f419daca | 275 | > Upgrading to DragonFly from FreeBSD |
| 5e0ae0d4 | 276 | --------------------- |
| 984263bc | 277 | |
| f419daca MD |
278 | You can build the DragonFly world and DragonFly kernels on a FreeBSD-4.x or |
| 279 | FreeBSD-5.x machine and then install DragonFly over FreeBSD, replacing | |
| 280 | FreeBSD. Note that the DragonFly buildworld target does not try to reuse | |
| 281 | make depend information, it starts from scratch, so no pre-cleaning of the | |
| 282 | object hierarchy is necessary. | |
| 283 | ||
| 466bbc10 | 284 | # get the CVS repository (it is placed in /home/dcvs, 500MB). |
| f419daca MD |
285 | # Please use the -h option and a mirror site to pull the |
| 286 | # initial repository, but feel free to use the main repository | |
| 287 | # machine to pull updates. | |
| 5010eeb3 | 288 | cvsup /usr/share/examples/cvsup/DragonFly-cvs-supfile |
| f419daca MD |
289 | # install the source from the CVS hierarchy (remove preexisting |
| 290 | # FreeBSD src first) (500MB) | |
| 291 | cd /usr | |
| 292 | rm -rf src | |
| 50172b1c | 293 | cvs -R -d /home/dcvs checkout -P src |
| f419daca MD |
294 | |
| 295 | # build it (500MB used in /usr/obj) | |
| 296 | # | |
| 297 | cd /usr/src | |
| 298 | make buildworld | |
| 299 | make buildkernel KERNCONF=<KERNELNAME> | |
| 984263bc | 300 | |
| f419daca MD |
301 | Once you have built DragonFly you have to install it over FreeBSD. Since |
| 302 | DragonFly does not track changes made by FreeBSD to its include file | |
| 303 | hierarchy and include file pollution can cause all sorts of unexpected | |
| 304 | compilation issues to come up, it is best to wipe your include hierarchy | |
| 305 | prior to installing DragonFly. Note that you should not wipe any installed | |
| 306 | FreeBSD header files or binaries until after you have successfully completed | |
| 307 | the build steps above. | |
| fb12f484 | 308 | |
| f419daca MD |
309 | rm -rf /usr/include |
| 310 | mkdir /usr/include | |
| 311 | make installkernel KERNCONF=<KERNELNAME> | |
| 312 | make installworld | |
| fb12f484 | 313 | |
| b8cbf045 | 314 | Then you need to upgrade your system. DragonFly's 'make upgrade' target |
| f419daca | 315 | will unconditionally upgrade the /etc files that sysops do not usually |
| b8cbf045 SW |
316 | mess around with, such as the files in /etc/rc.d. It will also remove any |
| 317 | obsolete files such as utilities and manpages that have been removed from | |
| 318 | the system since the version you're coming from. If you are unsure we | |
| 319 | recommend that you make a backup of at least your /etc before applying | |
| 320 | this step. Note that DragonFly's RC system is basically RCNG from | |
| 321 | FreeBSD-5, but there are some differences in the contents of the RC files. | |
| f419daca MD |
322 | |
| 323 | make upgrade | |
| 324 | ||
| b8cbf045 SW |
325 | NOTE! Never do a 'make upgrade' before 'make installworld' has been run. |
| 326 | Doing so might leave your system in an unusable state. | |
| 327 | ||
| f419daca | 328 | Finally we recommend that you do an 'ls -lta BLAH' for /bin, /sbin, /usr/bin, |
| b8cbf045 SW |
329 | /usr/bin, and /usr/lib, and remove any stale files that you find. Please |
| 330 | report these files to the DragonFly developers so that they can be added to | |
| 331 | the 'upgrade' target. | |
| f419daca | 332 |