UPDATING revision 84244
1Updating Information for FreeBSD current users
2
3This file is maintained and copyrighted by M. Warner Losh
4<imp@village.org>.  Please send new entries directly to him.  See end
5of file for further details.  For commonly done items, please see the
6COMMON ITEMS: section later in the file.
7
820010929:
9	When crossbuilding, please set TARGET_ARCH rather than
10	MACHINE_ARCH to indicate the target.  In the future, one will
11	set TARGET_MACHINE where you set MACHINE now.  At the moment,
12	setting MACHINE alone for same MACHINE_ARCH machines works
13	(eg, you can build pc98 on a i386 machine and vice versa).
14
1520010927:
16	Some weird problems result from using ACPI on some machines.
17	To disable ACPI you can add
18		hint.acpi.0.disable="1"
19	to /boot/loader.conf (or by putting set X=Y at the boot
20	loader "ok" prompt).
21
22	Alternatively, you can remove it from /boot/kernel/acpi.ko
23	or use the MODULES_OVERRIDE function in your kernel config
24	file and not list acpi in that list.
25
2620010924:
27	The buildworld has been fixed.  You may need to install
28	the 4.x compatibility libraries for some old binaries
29	to work.
30		cd src/lib/compat/compat4x.i386
31		make all install
32
3320010919:
34	There's a bug in the world build process.  The cross-tools
35	are build with the NEW headers, but the OLD libc.a.  This
36	leads to all kinds of problems with the new libc.  A temporary
37	workaround is to add
38		CFLAGS="-O -pipe -D_OLD_STDIO"
39	before building world when upgrading from 4.x to current.  This
40	can be removed afterwards.
41
42	A proper fix to the buildworld target is needed.
43
4420010918:
45	Peter has committed his new kthread nfs client/server code.
46	NFS may be unstable after this date.
47
4820010912:
49	KSE has hit the tree.  Lots of things are now different in
50	the kernel.  While a few problems were introduced in the
51	initial commit, most of the major ones have been found and
52	corrected.
53
5420010901:
55	In OLDCARD, CardBus bridges appear to be stable.  The work
56	arounds described in the 20010604 entry are now no longer
57	necessary and will be ignored.  Most insert/remove problems
58	have been rectified around this date.
59
6020010823:
61 	named now runs as user bind and group bind rather than as 
62 	root.  If named_enable is set to YES in /etc/rc.conf, ensure 
63 	that user bind is available in /etc/passwd (using vipw(8)) 
64 	and that group bind is available in /etc/group.  Also make 
65 	sure that user or group bind has read (and not write) 
66 	permission for your name server configuration and that it 
67 	has read and write permission for your slave zone files and 
68 	directory.
69 
70 	If you wish to continue to run named as root (a less secure 
71 	alternative), add a line to /etc/rc.conf saying
72 
73 		named_flags=
74
7520010709:
76	The PAM libraries have had an API upgrade that is beyond
77	the ability of the shared library major number to handle.
78	It is manifested by PAM-using ports dumping core. The
79	solution is to rebuild those ports.
80
8120010628:
82	The kernel compile module has moved from src/sys/compile/FOO
83	to src/sys/${MACHINE}/compile/FOO.
84
8520010625:
86	The pccard modem issue from 20010613 has been corrected.
87	OLDCARD support is still a little weak in -current.  slot 1 is
88	known not to work on some TI based cardbus bridges.  Some
89	cardbus bridges do not properly detect insert/removal events.
90	IRQ configuration needs more safety belts.
91
9220010617:
93	Softupdates problems have been corrected.
94
9520010614:
96	Peter ripped out the linkerset support.  You must, as always,
97	rerun config after you cvsup if you are using the traditional
98	kernel building methods.
99
10020010613:
101	pccard modems may not work with current after 20010604 date.  Some
102	do, others result in panics.  *MAKE*SURE* that you update your
103	config and /etc/rc.conf ala the 20010604 entry, or you will have
104	problems (this issue will be fixed, it just hasn't been yet).
105
10620010613:
107	SOFTUPDATES seem to be broken since the middle of May or so.  Do not
108	use them in current.  You can disable softupdates on all mounted
109	partitions, or remove SOFTUPDATES the kernel config file.
110
11120010612:
112	After Peter's commits to the hints code, people have been noticing
113	that certain devices are attached (or try to) twice.  This is due
114	to having both static hints as well as a /boot/device.hints.  To
115	work around this issue, please use only one or the other mechanism
116	until this bug is fixed.
117
118	Please note that a feature of config is that if you have config
119	file FOO and FOO.hints, it automatically adds FOO.hints to the
120	hints.c file, wheather you want it to or not.
121
12220010610:
123	Locale names have changed to match other systems better.
124
12520010604:
126	pccard support for pci cards has been committed.  You must change
127	your /etc/pccard.conf irq lines.  It must match the irq used by
128	pcic device.  Interrupt storms may result if you fail to do this.
129	Interrupt storms look a lot like a hang.
130
131	You must also install a new pccardd, otherwise you will get an
132	interrupt storm at card reset time (just after it tells you what
133	it is).
134
135	pccardd_flags="-I" is necessary for the time being.  It tells pccardd
136	not to ask the kernel if the interrupt is really free or not before
137	using it.  You can either change the /etc/pccard.conf irq lines to
138	match pcic, or add "-i X" to the pccardd_flags.
139
14020010530:
141	INSTALL=install -C is being deprecated.  If you want to do this,
142	use COPY=-C instead.  The former method will be supported for only
143	a limited time.  If you see
144
145install: warning: the -d and -C options may not be specified together
146
147	in your makeworld, then you need to migrate towards using
148	COPY=-C.
149
15020010525:
151	It appears that vm is now stable enough to use again.  However,
152	there may be other problems, so caution is still urged.  alpha
153	definitely is in bad shape.
154
15520010521:
156	Minor repo damange has happened.  This may cause problems
157	with cvsup of ports.  If you get errors, please see
158	http://www.FreeBSD.org/cgi/query-pr.cgi?pr=27495
159	at the bottom for details on a workaround.  The error message
160	is
161Updater failed: Cannot delete "/usr/ports/www/jakarta-tomcat/files": Directory not empty
162
16320010520:
164	Vm and/or swapping are busted on -current.  Please be patient.
165
16620010519:
167	pccard has had much reorganizational work done to it over
168	the past few days.  Everything should still work, but if
169	not, please contact imp@freebsd.org.
170
17120010517:
172	ata ioctl changed.  Make sure to recompile both kernel and
173	userland at the same time.
174
17520010517:
176	New ncurses imported.
177
17820010512:
179	DEVFS is now opt out, not opt in.  Barring major problems, this
180	will be the only way to go starting July 1.
181
18220010502:
183	Perl breakage in 20010501 was corrected at 14:18:33 PDT.
184
18520010501:
186	Building perl was broken at 02:25:25 PDT.
187
18820010430:
189	The bug in 20010429 was corrected at 07:35:37 PDT.  It is safe to
190	go back in the water.
191
19220010429:
193	A bad bug was committed at 04:48:42 PDT.  Don't use kernels after
194	this date, but before the correction date.
195
19620010423:
197	old fsck and new kernel interactions appear to have been fixed.
198
19920010411:
200	fsck and the kernel were changed to handle some optimizations
201	to directory layout.  This breaks backward compatibility.
202	Update only if you understand that you must not use the old
203	fsck with the new kernel ever.
204
20520010330:
206	fsck has changed the meaning of the pass column in /etc/fstab.
207	Please see the cvs commit to fsck.8 or the fsck.8 man page for
208	details.  It is unclear if changes to /etc/fstab are necessary.
209
21020010319:
211	portmap had changed name to rpcbind for maximum POLA in your
212	current world.  /etc/hosts.{allow,deny} needs changes.  nfs and
213	other rpc based programs that rely on portmapper will not work
214	without updates to /etc/hosts.{allow,deny} and /etc/netconfig.
215
21620010315:
217	ata subsystem changes.  ATA_ENABLE_ATAPI_DMA, ATA_ENABLE_WC
218	and ATA_ENABEL_TAGS are no longer kernel options.  They have
219	been replaced by tunables.  See ata.4 for details.
220
22120010312:
222	The fxp driver was converted to use miibus.  If you compile
223	fxp into your kernel statically, you will need to add miibus.
224
22520010312:
226	The wi device now defaults to BSS (infrastructure) mode
227	instead of ad-hoc.
228
22920010310:
230	/dev/urandom should be a symbolic link to /dev/random now.
231	Users of current not using DEVFS need to run MAKEDEV std.
232	ssh might not work if you don't.
233
23420010303:
235	The ed driver has been updated.  It now allows mii attachments,
236	which means that you must include the miibus in your kernel if
237	you use the ed driver.
238
23920010220:
240	The problems with libc have been corrected.  It is now mostly
241	safe to go back into the water.
242
24320010211:
244	The size of FILE was changed.  This breaks upgrading.  If
245	you must upgrade, be prepared for pain.  It also breaks almost
246	all binaries that you've compiled on -current.  You are warned
247	that before upgrading would be a good time to do a level 0
248	dump of your system.  No, really, I mean it this time.
249
250	To get to the new system, you'll need to use the following
251	workaround.  Hopefully this can be sorted out so that we
252	don't have to move this to the updating section.
253
254	To get around the installworld problem, do:
255		# cd /usr/src/usr.bin/sed
256		# make install
257		# cd /usr/src
258		# make installworld
259	If that doesn't work, then try:
260		# make -k installworld
261		# make installworld
262
26320010207:
264	DEVFS is now the default.  If you use vinum, make sure that you
265	do not include devfs in your kernel as problems result.
266
26720010205:
268	FFS_ROOT and CD9660_ROOT have been removed or deprecated.
269	Remove them from your config.
270
27120010122:
272	****************************** WARNING ******************************
273			buildkernel has been changed slightly
274	****************************** WARNING ******************************
275	KERNCONF replaces the variable KERNEL for buildkernel.  You
276	should update your scripts and make.conf accordingly.
277
27820010119:
279	config has changed to allow DEV_FOO as a replacement for NFOO.
280	This requires a new config to build correctly.
281
28220010116:
283	The kerrnel option I386_CPU is now mutually exclusive with the
284	other cpu types. If you have an i386 system, be sure that it
285	only had this line.  Remove it for all other configurations.
286
28720010110:
288	Changes to the kernel require it and burncd be in sync.
289
29020010102:
291	Everyone who has hw.sndunit set to something in
292	/etc/sysctl.conf, it is now hw.snd.unit.
293
29420010101:
295	ex and vi were broken by some changes to sys/queue.h.  If you
296	have a bad vi, you will see make buildworld fail with a core
297	dump while building termcap.  You can work around this problem
298	by adding -k to your make buildworld.  This will cause the
299	build to complete and install a new vi.  Once that's done, you
300	can rebuild again without the -k to pick up anything that
301	might have been ignored by the -k option.
302
303	Others have suggested that you can just rebuild libc if your
304	vi/ex is dynamically linked, but I've not received any reports
305	of this working.
306
30720001228:
308	There have been some changes to libcrypt in -current.  The
309	libscrypt/libdescrypt symlink sillyness is gone and the installed
310	libcrypt is fully functional.  Be aware of this.
311
31220001218:
313	Linksys Fast Ethernet PCCARD cards supported by the ed driver
314	now require the addition of flag 0x80000 to their config line
315	in pccard.conf(5).  This flag is not optional.  These Linksys
316	cards will not be recognized without it.
317
31820001205:
319	Important new FreeBSD-version stuff: PAM support has been worked
320	in, partially from the "Unix" OpenSSH version.  This requires
321	adding the following in pam.conf:
322  
323	sshd    auth    sufficient      pam_skey.so
324	sshd    auth    required        pam_unix.so         try_first_pass
325	sshd    session required        pam_permit.so
326
32720001031:
328	cvs updated to 1.11.
329
33020001020:
331	The random device needs more entropy, so you need to make sure
332	that you've run mergemaster to get a /etc/rc which will seed
333	/dev/random.  If you don't and the system hangs after ldconfig,
334	then banging on the keyboard randomly until it unhangs is one
335	workaround.
336
33720001010:
338	****************************** WARNING ******************************
339				Sendmail has been updated.
340	****************************** WARNING ******************************
341	o mail.local(8) is no longer installed as a set-user-id binary.
342	o sendmail(8) is now built with STARTTLS support unless NO_OPENSSL
343	  is set.
344	o The default /etc/mail/sendmail.cf disables the SMTP EXPN and VRFY
345	  commands.
346	o Now using sendmail's version of vacation(1).
347	o The sendmail cf building tools (contrib/sendmail/cf) are installed
348	  in /usr/share/sendmail/cf.
349	o sendmail.cw changed to local-host-names
350
351	More details can be found at
352		http://people.freebsd.org/~imp/UPDATING/sendmail-20001010
353
35420001009:
355	The ports tree's new layout is in place.  Be sure to update
356	your entire ports tree, or you will have problems.
357
35820001006:
359	The perl build procedure no longer installs miniperl, nor uses
360	the installed miniperl.  It is recommended that you delete
361	/usr/bin/miniperl.
362
36320001005:
364	This weekend the ports tree will be updated to a new layout.
365	It will be in an inconsistent state until noted in the UPDATING
366	file, or with asami-san's message to the relevant mailing
367	lists.  With this new layout, you'll need to update the whole
368	tree for anything to work.
369
37020000928:
371	There was a change in the passwd format.  Need more information.
372
37320000916:
374	/boot/kernel/kernel.ko -> /boot/kernel/kernel change has taken
375	place.  Please update boot loader (not the boot blocks) at the
376	same time as your kernel.
377
37820000914:
379	The new pmtimer device is necessary for laptops.  Failure to
380	include the device will cause suspended laptops losing time
381	when they resume.  Include
382		device		pmtimer
383	in your config file and
384		hint.pmtimer.0.at="isa"
385	to your /boot/device.hints file.
386
38720000911:
388	The random device has been turned into a (pseudo-)device,
389	rather than an option. The supplied kernel config files have
390	been updated. You will need to do something similar in your
391	own kernel config file.
392	Remove:
393		options		RANDOMDEV
394	Add:
395		device		random
396	If you prefer to load the loadable module, you need to do
397	nothing.
398
39920000909:
400	The random device module has been renamed from randomdev.ko to
401	random.ko. You will need to edit your /boot/loader.conf to
402	reflect this if you load this module at boot time.
403	The line should read:
404		random_load="YES"
405
40620000907:
407	The SMPNG commit has happened.  It should work, but if it
408	doesn't, fallback to the PRE_SMPNG CVS tag.  There are likely
409	to be a variety of minor issues.  Please see 20000905 to make
410	sure you don't have model loading problems which might at
411	first blush appear related to SMP.
412
41320000906:
414	nsswitch has been imported from NetBSD.  Among other things,
415	this means that /etc/host.conf is no longer used.  See
416	nsswitch.conf(5) instead.  Note that at boot time rc.network
417	will attempt to produce a new nsswitch.conf file for you if you
418	don't have one, and you have host.conf.
419
42020000905:
421	The ucred structure changed size.  This breaks the interface
422	that mountd uses.  Trying to use an older mountd with a newer
423	kernel guarantees a panic.  This means that you need to use
424	kernels newer than today only with matching mountd, but you
425	needed to do that anyway with the boot loader changes.
426
42720000905:
428	The boot loader has been updated.  The new default kernel is
429	now /boot/kernel/kernel.ko.  The new default module location
430	is /boot/kernel.
431
432	You *MUST* upgrade your boot loader and kernel at the same time.
433	The easiest way to do this is to do the buildworld/buildkernel/
434	installkernel/installworld dance.
435
436	Furthermore, you are urged to delete your old /modules directory
437	before booting the new kernel, since kldload will find stale
438	modules in that directory instead of finding them in the correct
439	path, /boot/kernel.  The most common complaint that this cures
440	is that the linux module crashes your machine after the update.
441
442	if [ ! -d /boot/kernel.old ]; then
443		mv /modules.old /boot/kernel.old
444		chflags noschg /kernel.old
445		mv /kernel.old /boot/kernel.old/kernel.ko
446		chflags schg /boot/kernel.old/kernel.ko
447	fi
448
44920000904:
450	A new issue with the sendmail upgrade has come to light.
451	/etc/aliases has moved to /etc/mail/aliases.  Mergemaster will 
452	incorrectly install the default aliases in /etc/mail rather than
453	move the old one from /etc.  So you'll need to manually move the
454	file, create a symbolic link, remove the old /etc/aliases.db and
455	run newaliases.  For safety sake, you should stop sendmail
456	while doing this and run the upgrade when locally sourced email
457	is not likely to be generated.
458
45920000825:
460	/boot/device.hints is now required for installkernel to
461	succeed.  You should copy GENERIC.hints for your architecture
462	into /boot/device.hints.  If and only if you compile hints
463	into your kernel, then this file may be empty.  Please note,
464	if you have an empty or missing /boot/device.hints file and
465	you neglected to compile hints into your kernel, no boot
466	messages will appear after the boot loader tries to start the
467	kernel.
468
46920000821:
470	If you do NOT have ``options RANDOMDEV'' in your kernel and
471	you DO want the random device then add randomdev_load="YES" to
472	/boot/loader.conf.
473
47420000812:
475	suidperl is now always built and installed on the system, but
476	with permissions of 511.  If you have applications that use
477	this program, you are now required to add ENABLE_SUIDPERL=true
478	to /etc/make.conf.  If you forget to do this,
479		chmod 4511 /usr/bin/suidperl
480	will fix this until the next build.
481
48220000812:
483	sendmail has been updated from 8.9.3 to 8.11.0.  Some of the more
484	visible changes that may immediately affect your configuration
485	include:
486	- New default file locations from src/contrib/sendmail/cf/README
487	- newaliases limited to root and trusted users
488	- MSA port (587) turned on by default
489	- New queue file naming system so can't go from 8.11 -> 8.9
490	- FEATURE(`rbl') renamed to FEATURE(`dnsbl')
491	- FEATURE(`nullclient') is more full featured
492	- FEATURE(`nouucp') requires an argument: `reject' or `nospecial'
493	- mail.local FreeBSD-only -b option changed to -B
494	- See src/contrib/sendmail/RELEASE_NOTES for more info
495
49620000810:
497	suidperl (aka sperl) is no longer build by default.  You must
498	specifically define BUILD_SUIDPERL to "true" for it to be build.
499	Furthermore, we recommend that you remove /usr/bin/sperl* and
500	/usr/bin/suidperl files from your system unless you have a
501	specific use for it.
502
50320000729:
504	Networking defaults have been tightened.  Anybody upgrading
505	/etc/defaults/rc.conf needs to add the following lines to
506	/etc/rc.conf if they want to have the same setup
507	afterwards (unless the variables already are set, of course):
508		# Enable network daemons for user convenience.
509		inetd_enable="YES"
510		portmap_enable="YES"
511		sendmail_enable="YES"
512
51320000728:
514	If you have null_load="YES" in your /boot/loader.conf, you
515	will need to change that to nullfs_load="YES".
516
51720000728:
518	The "installkernel" target has changed slightly. Now even if
519	you override KERNEL e.g. 'make installkernel KERNEL=MYKERNEL'
520	it will install the MYKERNEL file (built with the buildkernel
521	target) as /kernel rather than /MYKERNEL. Those who have
522	updated their /boot/loader.conf files to point to /MYKERNEL
523	should remove that entry or perform manual rename of /kernel
524	to /MYKERNEL.
525
52620000711:
527	If you use CVSUP or CTM to get CVS trees, AND you used to get 
528	the old crypto files from internat.freebsd.org AND you check
529	out files from the CVS tree with the cvs command, please read
530		http://people.freebsd.org/~imp/internat.txt
531	for details on potential problems that you might have and how
532	to get around them.
533
534	If you are merely a mirror, or don't answer yes to each of the
535	clauses above, you needn't worry.
536
53720000711:
538	/etc/security has been updated to print the inode number of
539	setuid programs that have changed.  You will see a large spike
540	in the number of changed programs the first time when you run
541	mergemaster to get a new /etc/security.
542
54320000710:
544	/dev/random now has good entropy collection (from the keyboard
545	and sysmouse drivers). Please ensure that either `options
546	RANDOMDEV' is present in your kernel config file or that
547	`randomdev_load="YES"' is in your /boot/loader.conf. If you do
548	not have the /dev/random driver, OpenSSL (and consequently
549	lots of crypto tools (like SSH)) will fail with strange
550	errors. (see below, 20000624).
551
552	FreeBSD-current is safe again to run Crypto.
553
55420000709:
555	phk made the malloc default options AJ.  This may slow things
556	down and uncover other latent bugs in the code.  If you need to
557	run at full speed, you can disable this by doing the following:
558		ln -s aj /etc/malloc.conf
559
56020000706:
561	libftpio's version was accidentally bumped a few days ago.  This
562	has been corrected.  You may need to remove /usr/lib/libftpio.so.6
563	before doing your next buildworld/installworld pair.  It certainly
564	won't hurt to remove it before the update procedure.  It will
565	break fetch until a new one is built, but ftp can be used in the
566	interim if needed.
567
56820000705:
569	The crypto packages have changed for the cvsup.  This has been done
570	in a backward compatible way, but the old packages will go away at
571	some point in the future.  Look at /usr/share/examples/cvsup for
572	details.
573
57420000704:
575	With the new sys/modules/sound/drivers/*, you will need to
576	set SYSDIR until you do an installworld after July 7th.
577
57820000704:
579	rc.shutdown and rc will now call the rc.d scripts with start
580	or stop.  This may cause some harmless warnings from older
581	rc.d scripts that haven't been updated.
582
58320000630:
584	The libfetch based version of fetch has gone into the tree.
585	Minor problems may result on some of the less popular sites,
586	which should be reported to des@freebsd.org.
587
58820000625:
589	From approximately this date forward, one must have the crypto
590	system installed in order to build the system and kernel.
591	While not technically strictly true, one should treat it as
592	required and grab the crypto bits.  If you are grabbing CVS
593	trees, src-all and cvs-crypto should be treated as if they
594	were required.  You should check with the latest collections
595	to make sure that these haven't changed.
596
59720000624:
598	Mark Murray just committed the first parts of a cleanup of
599	/dev/zero, et al.  This is also cleaning up /dev/random.
600	The entropy is disconnected, so DO NOT USE VERSIONS OF FREEBSD
601	-CURRENT FROM THIS POINT FORWARD for cryptographic services
602	until Mark can merge in the fixes to this work in progress.
603	openssh and openssl should not be used to generate keys from this
604	date to the completion of the work.
605
606	If you must operate at this reduced level of security, add '
607	options RANDOMDEV' to your kernel or modload the randomdev
608	module.  You may also need to copy a new MAKEDEV to /dev and
609	recreate the random and urandom devices.
610
61120000622:
612	The license on the softupdates is now a standard 2 clause
613	BSD license.  You may need to remove your symbolic links
614	that used to be required when updating.
615
61620000621:
617	Scott Flatman <sf@aracnet.com> sent in a decent write-up on
618	the config file update procedure.
619		http://people.freebsd.org/~imp/config-upd.html
620	NOTE: LINT is gone.  It has been replaced with NOTES.  NOTES
621	isn't buildable.  However, you can generate a LINT file.
622
62320000620:
624	Binutils 2.10 have hit the tree, or will shortly.  As soon
625	as they do, the problem noted in 20000522 will be resolved and
626	that workaround will no longer be required.
627
62820000615:
629	phk removed the compatibility creation of wd devices in the
630	ad driver.  If you haven't done so already, you must update
631	your fstab, etc to use the ad devices instead of the wd
632	devices.
633
634	In addition, you'll need to update your boot blocks to a
635	more modern version, if you haven't already done so.  Modern
636	here means 4.0 release or newer (although older releases
637	may work).
638
63920000612:
640	Peter took an axe to config(8).  Be sure that you read his mail
641	on the topic before even thinking about updating.  You will
642	need to create a /boot/device.hints or add a hints directive
643	to your config file to compile them in statically.  The format
644	of the config file has changed as well.  Please see GENERIC or
645	NEWCARD for examples of the new format.
646
64720000522:
648	A new set of binutils went into the tree today.  Anybody
649	building a kernel after this point is advised that they need
650	to rebuild their binutils (or better yet do a
651	buildworld/installworld) before building a new kernel.
652
653	Due to bugs in binutils, using malloc options (eg /etc/malloc.conf
654	or MALLOC_OPTIONS env var) J will cause ld to dump core.  It
655	is recommended that you don't set this option until the problem
656	is resolved.
657
65820000513:
659	The ethernet drivers were all updated to clean up the BPF handling.
660
66120000510:
662	The problems with boot blocks on the alphas have been corrected.
663	This will require some care in updating alphas.  A new libstand
664	is requires for the boot blocks to build properly.
665
66620000503:
667	Recompile all kld modules.  Proper version dependency info
668	is now available.
669
67020000502:
671	Modules have been disconnected from the buildworld tree and 
672	connected to the kernel building instead.
673
67420000427:
675	You may need to build gperf
676		cd /usr/src/gnu/usr.bin/gperf && make depend all install
677	when upgrading from 4.0 -> current.  The build system now uses
678	an option only in -current.
679
68020000417:
681	The method that we brand ELF binaries has changed to be more
682	acceptable to the binutils maintainers.  You will need to
683	rebrand your ELF binaries that aren't native.  One problem
684	binary is the Linux ldconfig.  After your make world, but
685	before you reboot, you'll need to issue:
686		brandelf -t Linux /compat/linux/sbin/ldconfig
687	if you have Linux compatibility enabled on your machine.
688
68920000320:
690	If you have really bad/marginal IDE drives, you may find they
691	don't work well.  Use pio mode instead.  The easiest way to
692	cope if you have a problem combination is to add:
693		/sbin/sysctl -w hw.atamodes=pio,pio,pio,pio
694	to the start of /etc/rc.conf.
695
69620000319:
697	The ISA and PCI compatibility shims have been connected to the
698	options COMPAT_OLDISA and COMPAT_OLDPCI.  If you are using old
699	style PCI or ISA drivers (i.e. tx, voxware, etc.) you must
700	include the appropriate option in your kernel config.  Drivers
701	using the shims should be updated or they won't ship with
702	5.0-RELEASE, targeted for 2001.
703
70420000318:
705	We've entered the traditional post release dumping party.
706	Large kernel changes are being committed and are in the
707	works.  It is important to keep the systems' klds and kernel
708	in sync as kernel interfaces and structures are changing.
709	Before reporting kernel panics, make sure that all modules
710	that you are loading are up to date.
711
71220000315:
713	If you are upgrading from an older version of FreeBSD, you
714	need to update your boot blocks as well.  'disklabel -B ad0'
715	will do the trick.  This isn't critical until you remove your
716	wd device entries in /dev, at which point your system will not
717	boot.
718
71920000315:
720	4.0 RELEASE shipped.  Please see the 4.0 UPDATING file for how
721	to upgrade to 4.0 from 3.x.
722
723COMMON ITEMS:
724
725	General Notes
726	-------------
727	Avoid using make -j when upgrading.  From time to time in the
728	past there have been problems using -j with buildworld and/or
729	installworld.  This is especially true when upgrading between
730	"distant" versions (eg one that cross a major release boundary
731	or several minor releases, or when several months have passed
732	on the -current branch).
733
734	To build a kernel
735	-----------------
736	If you are updating from a prior version of FreeBSD (even one just
737	a few days old), you should follow this procedure. With a
738	/usr/obj tree with a fresh buildworld,
739	make buildkernel KERNCONF=YOUR_KERNEL_HERE
740	make installkernel KERNCONF=YOUR_KERNEL_HERE
741
742	To just build a kernel when you know that it won't mess you up
743	--------------------------------------------------------------
744	cd src/sys/{i386,alpha}/conf
745	config KERNEL_NAME_HERE			[1]
746	cd ../../compile/KERNEL_NAME_HERE
747	make depend
748	make
749	make install	
750	
751	[1] If in doubt, -r might help here.
752
753	If this fails, go to the "To build a kernel" section.
754
755	To rebuild everything and install it on the current system.
756	-----------------------------------------------------------
757	make world
758	Build a new kernel, see above.
759
760	To upgrade from 4.x-stable to current
761	-------------------------------------
762	make buildworld
763	make buildkernel KERNCONF=YOUR_KERNEL_HERE
764	cp src/sys/${MACHINE_ARCH}/conf/GENERIC.hints /boot/device.hints [2]
765	make installkernel KERNCONF=YOUR_KERNEL_HERE
766	reboot in single user [3]
767	make installworld
768	mergemaster		[4]
769	[1]
770	<reboot>
771
772	Make sure that you've read the UPDATING file to understand the
773	tweaks to various things you need.  At this point in the life
774	cycle of current, things change often and you are on your own
775	to cope.  The defaults can also change, so please read ALL of
776	the UPDATING entries.
777
778	Also, if you are tracking -current, you must be subscribed to
779	freebsd-current@freebsd.org.  Make sure that before you update
780	your sources that you have read and understood all the recent
781	messages there.  If in doubt, please track -stable which has
782	much fewer pitfalls.
783
784	[1] If you have third party modules, such as vmware, you
785	should disable them at this point so they don't crash your
786	system on reboot.
787
788	[2] If you have legacy ISA devices, you may need to create
789	your own device.hints to reflect your unique hardware
790	configuration.
791
792	[3] From the bootblocks, boot -s, and then do
793		fsck -p
794		mount -u /
795		mount -a
796		cd /usr/src
797		adjkerntz -i		# if COMS is wall time
798
799	[4] Note: This step is non-optional.  Failure to do this step
800	can result in a significant reduction in the functionality of the
801	system.  Attempting to do it by hand is not recommended and those
802	that pursue this avenue should read this file carefully, as well
803	as the archives of freebsd-current and freebsd-hackers mailing lists
804	for potential gotchas.
805
806FORMAT:
807
808This file contains a list, in reverse chronological order, of major
809breakages in tracking -current.  Not all things will be listed here,
810and it only starts on March 15, 2000.  Updating files can found in
811previous releases if your system is older than this.
812
813Please filter your entries through Warner Losh (imp@village.org) so
814that the style, formatting, etc of this file can be maintained.
815
816Copyright information:
817
818Copyright 1998, 2001 M. Warner Losh.  All Rights Reserved.
819
820Redistribution, publication, translation and use, with or without
821modification, in full or in part, in any form or format of this
822document are permitted.
823
824THIS DOCUMENT IS PROVIDED BY WARNER LOSH ``AS IS'' AND ANY EXPRESS OR
825IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
826WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
827DISCLAIMED.  IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT,
828INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
829(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
830SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
831HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
832STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
833IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
834POSSIBILITY OF SUCH DAMAGE.
835
836If you find this document useful, and you want to, you may buy the
837author a beer.
838
839Contact Warner Losh if you have any questions about your use of
840this document.
841
842$FreeBSD: head/UPDATING 84244 2001-10-01 03:59:13Z imp $
843