]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - UPDATING
Make pthread_kill() know about temporary signal handlers installed
[FreeBSD/FreeBSD.git] / UPDATING
1 Updating Information for FreeBSD current users
2
3 This file is maintained by imp@village.org.  Please send new entries
4 directly to him.  See end of file for further details.  For commonly
5 done items, please see the end of the file.  Search for 'COMMON
6 ITEMS:'
7
8 20001009:
9         The ports tree's new layout is in place.  Be sure to update
10         your entire ports tree, or you will have problems.
11
12 20001006:
13         The perl build proceedure no longer installs miniperl, nor uses
14         the installed miniperl.  It is recommended that you delete
15         /usr/bin/miniperl.
16
17 20001005:
18         This weekend the ports tree will be updated to a new layout.
19         It will be in an inconsistant state until noted in the UPDATING
20         file, or with asami-san's message to the relevant mailing
21         lists.  With this new layout, you'll need to update the whole
22         tree for anything to work.
23
24 20000916:
25         /boot/kernel/kernel.ko -> /boot/kernel/kernel change has taken
26         place.  Please update boot loader (not the boot blocks) at the
27         same time as your kernel.
28
29 20000914:
30         The new pmtimer device is necessary for laptops.  Failure to
31         include the device will cause suspended laptops losing time
32         when they resume.  Include
33                 device          pmtimer
34         in your config file and
35                 hint.pmtimer.0.at="isa"
36         to your /boot/device.hints file.
37
38 20000911:
39         The random device has been turned into a (pseudo-)device,
40         rather than an option. The supplied kernel config files have
41         been updated. You will need to do something similar in your
42         own kernel config file.
43         Remove:
44                 options         RANDOMDEV
45         Add:
46                 device          random
47         If you prefer to load the loadable module, you need to do
48         nothing.
49
50 20000909:
51         The random device module has been renamed from randomdev.ko to
52         random.ko. You will need to edit your /boot/loader.conf to
53         reflect this if you load this module at boot time.
54         The line should read:
55                 random_load="YES"
56
57 20000907:
58         The SMPNG commit has happened.  It should work, but if it
59         doesn't, fallback to the PRE_SMPNG CVS tag.  There are likely
60         to be a variety of minor issues.  Please see 20000905 to make
61         sure you don't have model loading problems which might at
62         first blush appear related to SMP.
63
64 20000906:
65         nsswitch has been imported from NetBSD.  Among other things,
66         this means that /etc/host.conf is no longer used.  See
67         nsswitch.conf(5) instead.  Note that at boot time rc.network
68         will attempt to produce a new nsswitch.conf file for you if you
69         don't have one, and you have host.conf.
70
71 20000905:
72         The ucred structure changed size.  This breaks the interface
73         that mountd uses.  Trying to use an older mountd with a newer
74         kernel guarantees a panic.  This means that you need to use
75         kernels newer than today only with matching mountd, but you
76         needed to do that anyway with the boot loader changes.
77
78 20000905:
79         The boot loader has been updated.  The new default kernel is
80         now /boot/kernel/kernel.ko.  The new default module location
81         is /boot/kernel.
82
83         You *MUST* upgrade your boot loader and kernel at the same time.
84         The easiest way to do this is to do the buildworld/buildkernel/
85         installkernel/installworld dance.
86
87         Furthermore, you are urged to delete your old /modules directory
88         before booting the new kernel, since kldload will find stale
89         modules in that directory instead of finding them in the correct
90         path, /boot/kernel.  The most common complaint that this cures
91         is that the linux module crashes your machine after the update.
92
93         if [ ! -d /boot/kernel.old ]; then
94                 mv /modules.old /boot/kernel.old
95                 chflags noschg /kernel.old
96                 mv /kernel.old /boot/kernel.old/kernel.ko
97                 chflags schg /boot/kernel.old/kernel.ko
98         fi
99
100 20000904:
101         A new issue with the sendmail upgrade has come to light.
102         /etc/aliases has moved to /etc/mail/aliases.  Mergemaster will 
103         incorrectly install the default aliases in /etc/mail rather than
104         move the old one from /etc.  So you'll need to manually move the
105         file, create a symbolic link, remove the old /etc/aliases.db and
106         run newaliases.  For safety sake, you should stop sendmail
107         while doing this and run the upgrade when locally sourced email
108         is not likely to be generated.
109
110 20000825:
111         /boot/device.hints is now required for installkernel to
112         succeed.  You should copy GENERIC.hints for your architecture
113         into /boot/device.hints.  If and only if you compile hints
114         into your kernel, then this file may be empty.  Please note,
115         if you have an empty or missing /boot/device.hints file and
116         you neglected to compile hints into your kernel, no boot
117         messages will appear after the boot loader tries to start the
118         kernel.
119
120 20000821:
121         If you do NOT have ``options RANDOMDEV'' in your kernel and
122         you DO want the random device then add randomdev_load="YES" to
123         /boot/loader.conf.
124
125 20000812:
126         suidperl is now always built and installed on the system, but
127         with permissions of 511.  If you have applications that use
128         this program, you are now required to add ENABLE_SUIDPERL=true
129         to /etc/make.conf.  If you forget to do this,
130                 chmod 4511 /usr/bin/suidperl
131         will fix this until the next build.
132
133 20000812:
134         sendmail has been updated from 8.9.3 to 8.11.0.  Some of the more
135         visible changes that may immediately affect your configuration
136         include:
137         - New default file locations from src/contrib/sendmail/cf/README
138         - newaliases limited to root and trusted users
139         - MSA port (587) turned on by default
140         - New queue file naming system so can't go from 8.11 -> 8.9
141         - FEATURE(`rbl') renamed to FEATURE(`dnsbl')
142         - FEATURE(`nullclient') is more full featured
143         - FEATURE(`nouucp') requires an argument: `reject' or `nospecial'
144         - mail.local FreeBSD-only -b option changed to -B
145         - See src/contrib/sendmail/RELEASE_NOTES for more info
146
147 20000810:
148         suidperl (aka sperl) is no longer build by default.  You must
149         specifically define BUILD_SUIDPERL to "true" for it to be build.
150         Furthermore, we recommend that you remove /usr/bin/sperl* and
151         /usr/bin/suidperl files from your system unless you have a
152         specific use for it.
153
154 20000729:
155         Networking defaults have been tightened.  Anybody upgrading
156         /etc/defaults/rc.conf needs to add the following lines to
157         /etc/rc.conf if they want to have the same setup
158         afterwards (unless the variables already are set, of course):
159                 # Enable network daemons for user convenience.
160                 inetd_enable="YES"
161                 portmap_enable="YES"
162                 sendmail_enable="YES"
163
164 20000728:
165         If you have null_load="YES" in your /boot/loader.conf, you
166         will need to change that to nullfs_load="YES".
167
168 20000728:
169         The "installkernel" target has changed slightly. Now even if
170         you override KERNEL e.g. 'make installkernel KERNEL=MYKERNEL'
171         it will install the MYKERNEL file (built with the buildkernel
172         target) as /kernel rather than /MYKERNEL. Those who have
173         updated their /boot/loader.conf files to point to /MYKERNEL
174         should remove that entry or perform manual rename of /kernel
175         to /MYKERNEL.
176
177 20000711:
178         If you use CVSUP or CTM to get CVS trees, AND you used to get 
179         the old crypto files from internat.freebsd.org AND you check
180         out files from the CVS tree with the cvs command, please read
181                 http://people.freebsd.org/~imp/internat.txt
182         for details on potential problems that you might have and how
183         to get around them.
184
185         If you are merely a mirror, or don't answer yes to each of the
186         clauses above, you needn't worry.
187
188 20000711:
189         /etc/security has been updated to print the inode number of
190         setuid programs that have changed.  You will see a large spike
191         in the number of changed programs the first time when you run
192         mergemaster to get a new /etc/security.
193
194 20000710:
195         /dev/random now has good entropy collection (from the keyboard
196         and sysmouse drivers). Please ensure that either `options
197         RANDOMDEV' is present in your kernel config file or that
198         `randomdev_load="YES"' is in your /boot/loader.conf. If you do
199         not have the /dev/random driver, OpenSSL (and consequently
200         lots of crypto tools (like SSH)) will fail with strange
201         errors. (see below, 20000624).
202
203         FreeBSD-current is safe again to run Crypto.
204
205 20000709:
206         phk made the malloc default options AJ.  This may slow things
207         down and uncover other latent bugs in the code.  If you need to
208         run at full speed, you can disable this by doing the following:
209                 ln -s aj /etc/malloc.conf
210
211 20000706:
212         libftpio's version was accidentally bumped a few days ago.  This
213         has been corrected.  You may need to remove /usr/lib/libftpio.so.6
214         before doing your next buildworld/installworld pair.  It certainly
215         won't hurt to remove it before the update procedure.  It will
216         break fetch until a new one is built, but ftp can be used in the
217         interim if needed.
218
219 20000705:
220         The crypto packages have changed for the cvsup.  This has been done
221         in a backward compatible way, but the old packages will go away at
222         some point in the future.  Look at /usr/share/examples/cvsup for
223         details.
224
225 20000704:
226         With the new sys/modules/sound/drivers/*, you will need to
227         set SYSDIR until you do an installworld after July 7th.
228
229 20000704:
230         rc.shutdown and rc will now call the rc.d scripts with start
231         or stop.  This may cause some harmless warnings from older
232         rc.d scripts that haven't been updated.
233
234 20000630:
235         The libfetch based version of fetch has gone into the tree.
236         Minor problems may result on some of the less popular sites,
237         which should be reported to des@freebsd.org.
238
239 20000625:
240         From approximately this date forward, one must have the crypto
241         system installed in order to build the system and kernel.
242         While not technically strictly true, one should treat it as
243         required and grab the crypto bits.  If you are grabbing CVS
244         trees, src-all and cvs-crypto should be treated as if they
245         were required.  You should check with the latest collections
246         to make sure that these haven't changed.
247
248 20000624:
249         Mark Murray just committed the first parts of a cleanup of
250         /dev/zero, et al.  This is also cleaning up /dev/random.
251         The entropy is disconnected, so DO NOT USE VERSIONS OF FREEBSD
252         -CURRENT FROM THIS POINT FORWARD for cryptographic services
253         until Mark can merge in the fixes to this work in progress.
254         openssh and openssl should not be used to generate keys from this
255         date to the completion of the work.
256
257         If you must operate at this reduced level of security, add '
258         options RANDOMDEV' to your kernel or modload the randomdev
259         module.  You may also need to copy a new MAKEDEV to /dev and
260         recreate the random and urandom devices.
261
262 20000622:
263         The license on the softupdates is now a standard 2 clause
264         BSD license.  You may need to remove your symbolic links
265         that used to be required when updating.
266
267 20000621:
268         Scott Flatman <sf@aracnet.com> sent in a decent write-up on
269         the config file update procedure.
270                 http://people.freebsd.org/~imp/config-upd.html
271         NOTE: LINT is gone.  It has been replaced with NOTES.  NOTES
272         isn't buildable.  However, you can generate a LINT file.
273
274 20000620:
275         Binutils 2.10 have hit the tree, or will shortly.  As soon
276         as they do, the problem noted in 20000522 will be resolved and
277         that workaround will no longer be required.
278
279 20000615:
280         phk removed the compatibility creation of wd devices in the
281         ad driver.  If you haven't done so already, you must update
282         your fstab, etc to use the ad devices instead of the wd
283         devices.
284
285         In addition, you'll need to update your boot blocks to a
286         more modern version, if you haven't already done so.  Modern
287         here means 4.0 release or newer (although older releases
288         may work).
289
290 20000612:
291         Peter took an axe to config(8).  Be sure that you read his mail
292         on the topic before even thinking about updating.  You will
293         need to create a /boot/device.hints or add a hints directive
294         to your config file to compile them in statically.  The format
295         of the config file has changed as well.  Please see GENERIC or
296         NEWCARD for examples of the new format.
297
298 20000522:
299         A new set of binutils went into the tree today.  Anybody
300         building a kernel after this point is advised that they need
301         to rebuild their binutils (or better yet do a
302         buildworld/installworld) before building a new kernel.
303
304         Due to bugs in binutils, using malloc options (eg /etc/malloc.conf
305         or MALLOC_OPTIONS env var) J will cause ld to dump core.  It
306         is recommended that you don't set this option until the problem
307         is resolved.
308
309 20000513:
310         The ethernet drivers were all updated to clean up the BPF handling.
311
312 20000510:
313         The problems with boot blocks on the alphas have been corrected.
314         This will require some care in updating alphas.  A new libstand
315         is requires for the boot blocks to build properly.
316
317 20000503:
318         Recompile all kld modules.  Proper version dependency info
319         is now available.
320
321 20000502:
322         Modules have been disconnected from the buildworld tree and 
323         connected to the kernel building instead.
324
325 2000427:
326         You may need to build gperf
327                 cd /usr/src/gnu/usr.bin/gperf && make depend all install
328         when upgrading from 4.0 -> current.  The build system now uses
329         an option only in -current.
330
331 20000417:
332         The method that we brand ELF binaries has changed to be more
333         acceptable to the binutils maintainers.  You will need to
334         rebrand your ELF binaries that aren't native.  One problem
335         binary is the Linux ldconfig.  After your make world, but
336         before you reboot, you'll need to issue:
337                 brandelf -t Linux /compat/linux/sbin/ldconfig
338         if you have Linux compatibility enabled on your machine.
339
340 20000320:
341         If you have really bad/marginal IDE drives, you may find they
342         don't work well.  Use pio mode instead.  The easiest way to
343         cope if you have a problem combination is to add:
344                 /sbin/sysctl -w hw.atamodes=pio,pio,pio,pio
345         to the start of /etc/rc.conf.
346
347 20000319:
348         The ISA and PCI compatibility shims have been connected to the
349         options COMPAT_OLDISA and COMPAT_OLDPCI.  If you are using old
350         style PCI or ISA drivers (i.e. tx, voxware, etc.) you must
351         include the appropriate option in your kernel config.  Drivers
352         using the shims should be updated or they won't ship with
353         5.0-RELEASE, targeted for 2001.
354
355 20000318:
356         We've entered the traditional post release dumping party.
357         Large kernel changes are being committed and are in the
358         works.  It is important to keep the systems' klds and kernel
359         in sync as kernel interfaces and structures are changing.
360         Before reporting kernel panics, make sure that all modules
361         that you are loading are up to date.
362
363 20000315:
364         If you are upgrading from an older version of FreeBSD, you
365         need to update your boot blocks as well.  'disklabel -B ad0'
366         will do the trick.  This isn't critical until you remove your
367         wd device entries in /dev, at which point your system will not
368         boot.
369
370 20000315:
371         4.0 RELEASE shipped.  Please see the 4.0 UPDATING file for how
372         to upgrade to 4.0 from 3.x.
373
374 COMMON ITEMS:
375
376         General Notes
377         -------------
378         Avoid using make -j when upgrading.  From time to time in the
379         past there have been problems using -j with buildworld and/or
380         installworld.  This is especially true when upgrading between
381         "distant" versions (eg one that cross a major release boundary
382         or several minor releases, or when several months have passed
383         on the -current branch).
384
385         To build a kernel
386         -----------------
387         If you are updating from a prior version of FreeBSD (even one just
388         a few days old), you should follow this procedure. With a
389         /usr/obj tree with a fresh buildworld,
390         make buildkernel KERNEL=YOUR_KERNEL_HERE
391         make installkernel KERNEL=YOUR_KERNEL_HERE
392
393         To just build a kernel when you know that it won't mess you up
394         --------------------------------------------------------------
395         cd src/sys/{i386,alpha}/conf
396         config KERNEL_NAME_HERE                 [1]
397         cd ../../compile/KERNEL_NAME_HERE
398         make depend
399         make
400         make install    
401         
402         [1] If in doubt, -r might help here.
403
404         If this fails, go to the "To build a kernel" section.
405
406         To rebuild everything and install it on the current system.
407         -----------------------------------------------------------
408         make world
409         Build a new kernel, see above.
410
411         To upgrade from 4.x-stable to current
412         -------------------------------------
413         make buildworld
414         make buildkernel KERNEL=YOUR_KERNEL_HERE
415         cp src/sys/${MACHINE_ARCH}/GENERIC.hints /boot/device.hints [2]
416         make installkernel KERNEL=YOUR_KERNEL_HERE
417         make installworld
418         [1]
419         <reboot>
420
421         Make sure that you've read the UPDATING file to understand the
422         tweaks to various things you need.  At this point in the life
423         cycle of current, things change often and you are on your own
424         to cope.  The defaults can also change, so please read ALL of
425         the UPDATING entries.
426
427         Also, if you are tracking -current, you must be subscribed to
428         freebsd-current@freebsd.org.  Make sure that before you update
429         your sources that you have read and understood all the recent
430         messages there.  If in doubt, please track -stable which has
431         much fewer pitfalls.
432
433         [1] If you have third party modules, such as vmware, you
434         should disable them at this point so they don't crash your
435         system on reboot.
436
437         [2] If you have legacy ISA devices, you may need to create
438         your own device.hints to reflect your unique hardware
439         configuration.
440
441 FORMAT:
442
443 This file contains a list, in reverse chronological order, of major
444 breakages in tracking -current.  Not all things will be listed here,
445 and it only starts on March 15, 2000.  Updating files can found in
446 previous releases if your system is older than this.
447
448 Please filter your entries through Warner Losh (imp@village.org) so
449 that the style, formatting, etc of this file can be maintained.
450
451 $FreeBSD$