UPDATING revision 81485
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
8This is for the 4.3 release branch.  All entries since 4.3 are an
9itemized list of commits to this branch, numbered from the beginning.
10By this count, we're at 4.3.0p9
11
1220010709:
13	The PAM libraries have had an API upgrade that is beyond
14	the ability of the shared library major number to handle.
15	It is manifested by PAM-using ports dumping core. The
16	solution is to rebuild those ports.
17
1820010628:
19	The kernel compile module has moved from src/sys/compile/FOO
20	to src/sys/${MACHINE}/compile/FOO.
21
2220010625:
23	The pccard modem issue has been corrected.  OLDCARD support is
24	still a little weak in -current.  slot 1 is known not to work
25	on some TI based cardbus bridges.  Some cardbus bridges do not
26	properly detect insert/removal events.  IRQ configuration needs
27	more safety belts.
28
2920010617:
30	Softupdates problems have been corrected.
31
3220010614:
33	Peter ripped out the linkerset support.  You must, as always,
34	rerun config after you cvsup if you are using the traditional
35	kernel building methods.
36
3720010613:
38	pccard modems may not work with current after 20010604 date.  Some
39	do, others result in panics.  *MAKE*SURE* that you update your
40	config and /etc/rc.conf ala the 20010604 entry, or you will have
41	problems (this issue will be fixed, it just hasn't been yet).
42
4320010613:
44	SOFTUPDATES seem to be broken since the middle of May or so.  Do not
45	use them in current.  You can disable softupdates on all mounted
46	partitions, or remove SOFTUPDATES the kernel config file.
47
4820010612:
49	After Peter's commits to the hints code, people have been noticing
50	that certain devices are attached (or try to) twice.  This is due
51	to having both static hints as well as a /boot/device.hints.  To
52	work around this issue, please use only one or the other mechanism
53	until this bug is fixed.
54
55	Please note that a feature of config is that if you have config
56	file FOO and FOO.hints, it automatically adds FOO.hints to the
57	hints.c file, wheather you want it to or not.
58
5920010610:
60	Locale names have changed to match other systems better.
61
6220010604:
63	pccard support for pci cards has been committed.  You must change
64	your /etc/pccard.conf irq lines.  It must match the irq used by
65	pcic device.  Interrupt storms may result if you fail to do this.
66	Interrupt storms look a lot like a hang.
67
68	You must also install a new pccardd, otherwise you will get an
69	interrupt storm at card reset time (just after it tells you what
70	it is).
71
72	pccardd_flags="-I" is necessary for the time being.  It tells pccardd
73	not to ask the kernel if the interrupt is really free or not before
74	using it.  You can either change the /etc/pccard.conf irq lines to
75	match pcic, or add "-i X" to the pccardd_flags.
76
7720010530:
78	INSTALL=install -C is being deprecated.  If you want to do this,
79	use COPY=-C instead.  The former method will be supported for only
80	a limited time.  If you see
81
82install: warning: the -d and -C options may not be specified together
83
84	in your makeworld, then you need to migrate towards using
85	COPY=-C.
86
8720010525:
88	It appears that vm is now stable enough to use again.  However,
89	there may be other problems, so caution is still urged.  alpha
90	definitely is in bad shape.
91
9220010521:
93	Minor repo damanged has happened.  This may cause problems
94	with cvsup of ports.  If you get errors, please see
95	http://www.FreeBSD.org/cgi/query-pr.cgi?pr=27495
96	at the bottom for details on a workaround.  The error message
97	is
98Updater failed: Cannot delete "/usr/ports/www/jakarta-tomcat/files": Directory not empty
99
10020010520:
101	Vm and/or swapping are busted on -current.  Please be patient.
102
10320010519:
104	pccard has had much reorganizational work done to it over
105	the past few days.  Everything should still work, but if
106	not, please contact imp@freebsd.org.
107
10820010517:
109	ata ioctl changed.  Make sure to recompile both kernel and
110	userland at the same time.
111
11220010517:
113	New ncurses imported.
114
11520010512:
116	DEVFS is now opt out, not opt in.  Barring major problems, this
117	will be the only way to go starting July 1.
118
11920010502:
120	Perl breakage in 20010501 was corrected at 14:18:33 PDT.
121
12220010501:
123	Building perl was broken at 02:25:25 PDT.
124
12520010430:
126	The bug in 20010429 was corrected at 07:35:37 PDT.  It is safe to
127	go back in the water.
128
12920010429:
130	A bad bug was committed at 04:48:42 PDT.  Don't use kernels after
131	this date, but before the correction date.
132
13320010423:
134	old fsck and new kernel interactions appear to have been fixed.
135
13620010411:
137	fsck and the kernel were changed to handle some optimizations
138	to directory layout.  This breaks backward compatibility.
139	Update only if you understand that you must not use the old
140	fsck with the new kernel ever.
141
14220010330:
143	fsck has changed the meaning of the pass column in /etc/fstab.
144	Please see the cvs commit to fsck.8 or the fsck.8 man page for
145	details.  It is unclear if changes to /etc/fstab are necessary.
146
14720010319:
148	portmap had changed name to rpcbind for maximum POLA in your
149	current world.  /etc/hosts.{allow,deny} needs changes.  nfs and
150	other rpc based programs that rely on portmapper will not work
151	without updates to /etc/hosts.{allow,deny} and /etc/netconfig.
152
15320010315:
154	ata subsystem changes.  ATA_ENABLE_ATAPI_DMA, ATA_ENABLE_WC
155	and ATA_ENABEL_TAGS are no longer kernel options.  They have
156	been replaced by tunables.  See ata.4 for details.
157
15820010312:
159	The fxp driver was converted to use miibus.  If you compile
160	fxp into your kernel statically, you will need to add miibus.
161
16220010312:
163	The wi device now defaults to BSS (infrastructure) mode
164	instead of ad-hoc.
165
16620010310:
167	/dev/urandom should be a symbolic link to /dev/random now.
168	Users of current not using DEVFS need to run MAKEDEV std.
169	ssh might not work if you don't.
170
17120010303:
172	The ed driver has been updated.  It now allows mii attachments,
173	which means that you must include the miibus in your kernel if
174	you use the ed driver.
175
17620010220:
177	The problems with libc have been corrected.  It is now mostly
178	safe to go back into the water.
179
18020010211:
181	The size of FILE was changed.  This breaks upgrading.  If
182	you must upgrade, be prepared for pain.  It also breaks almost
183	all binaries that you've compiled on -current.  You are warned
184	that before upgrading would be a good time to do a level 0
185	dump of your system.  No, really, I mean it this time.
186
187	To get to the new system, you'll need to use the following
188	workaround.  Hopefully this can be sorted out so that we
189	don't have to move this to the updating section.
190
191	To get around the installworld problem, do:
192		# cd /usr/src/usr.bin/sed
193		# make install
194		# cd /usr/src
195		# make installworld
196	If that doesn't work, then try:
197		# make -k installworld
198		# make installworld
199
20020010207:
201	DEVFS is now the default.  If you use vinum, make sure that you
202	do not include devfs in your kernel as problems result.
203
20420010205:
205	FFS_ROOT and CD9660_ROOT have been removed or deprecated.
206	Remove them from your config.
207
20820010122:
209	****************************** WARNING ******************************
210			buildkernel has been changed slightly
211	****************************** WARNING ******************************
212	KERNCONF replaces the variable KERNEL for buildkernel.  You
213	should update your scripts and make.conf accordingly.
214
21520010119:
216	config has changed to allow DEV_FOO as a replacement for NFOO.
217	This requires a new config to build correctly.
218
21920010116:
220	The kerrnel option I386_CPU is now mutually exclusive with the
221	other cpu types. If you have an i386 system, be sure that it
222	only had this line.  Remove it for all other configurations.
223
22420010110:
225	Changes to the kernel require it and burncd be in sync.
226
22720010102:
228	Everyone who has hw.sndunit set to something in
229	/etc/sysctl.conf, it is now hw.snd.unit.
230
23120010101:
232	ex and vi were broken by some changes to sys/queue.h.  If you
233	have a bad vi, you will see make buildworld fail with a core
234	dump while building termcap.  You can work around this problem
235	by adding -k to your make buildworld.  This will cause the
236	build to complete and install a new vi.  Once that's done, you
237	can rebuild again without the -k to pick up anything that
238	might have been ignored by the -k option.
239
240	Others have suggested that you can just rebuild libc if your
241	vi/ex is dynamically linked, but I've not received any reports
242	of this working.
243
24420001228:
245	There have been some changes to libcrypt in -current.  The
246	libscrypt/libdescrypt symlink sillyness is gone and the installed
247	libcrypt is fully functional.  Be aware of this.
248
24920001218:
250	Linksys Fast Ethernet PCCARD cards supported by the ed driver
251	now require the addition of flag 0x80000 to their config line
252	in pccard.conf(5).  This flag is not optional.  These Linksys
253	cards will not be recognized without it.
254
25520001205:
256	Important new FreeBSD-version stuff: PAM support has been worked
257	in, partially from the "Unix" OpenSSH version.  This requires
258	adding the following in pam.conf:
259  
260	sshd    auth    sufficient      pam_skey.so
261	sshd    auth    required        pam_unix.so         try_first_pass
262	sshd    session required        pam_permit.so
263
26420001031:
265	cvs updated to 1.11.
266
26720001020:
268	The random device needs more entropy, so you need to make sure
269	that you've run mergemaster to get a /etc/rc which will seed
270	/dev/random.  If you don't and the system hangs after ldconfig,
271	then banging on the keyboard randomly until it unhangs is one
272	workaround.
273
27420001010:
275	****************************** WARNING ******************************
276				Sendmail has been updated.
277	****************************** WARNING ******************************
278	o mail.local(8) is no longer installed as a set-user-id binary.
279	o sendmail(8) is now built with STARTTLS support unless NO_OPENSSL
280	  is set.
281	o The default /etc/mail/sendmail.cf disables the SMTP EXPN and VRFY
282	  commands.
283	o Now using sendmail's version of vacation(1).
284	o The sendmail cf building tools (contrib/sendmail/cf) are installed
285	  in /usr/share/sendmail/cf.
286	o sendmail.cw changed to local-host-names
287
288	More details can be found at
289		http://people.freebsd.org/~imp/UPDATING/sendmail-20001010
290
29120001009:
292	The ports tree's new layout is in place.  Be sure to update
293	your entire ports tree, or you will have problems.
294
29520001006:
296	The perl build procedure no longer installs miniperl, nor uses
297	the installed miniperl.  It is recommended that you delete
298	/usr/bin/miniperl.
299
30020001005:
301	This weekend the ports tree will be updated to a new layout.
302	It will be in an inconsistent state until noted in the UPDATING
303	file, or with asami-san's message to the relevant mailing
304	lists.  With this new layout, you'll need to update the whole
305	tree for anything to work.
306
30720000928:
308	There was a change in the passwd format.  Need more information.
309
31020000916:
311	/boot/kernel/kernel.ko -> /boot/kernel/kernel change has taken
312	place.  Please update boot loader (not the boot blocks) at the
313	same time as your kernel.
314
31520000914:
316	The new pmtimer device is necessary for laptops.  Failure to
317	include the device will cause suspended laptops losing time
318	when they resume.  Include
319		device		pmtimer
320	in your config file and
321		hint.pmtimer.0.at="isa"
322	to your /boot/device.hints file.
323
32420000911:
325	The random device has been turned into a (pseudo-)device,
326	rather than an option. The supplied kernel config files have
327	been updated. You will need to do something similar in your
328	own kernel config file.
329	Remove:
330		options		RANDOMDEV
331	Add:
332		device		random
333	If you prefer to load the loadable module, you need to do
334	nothing.
335
33620000909:
337	The random device module has been renamed from randomdev.ko to
338	random.ko. You will need to edit your /boot/loader.conf to
339	reflect this if you load this module at boot time.
340	The line should read:
341		random_load="YES"
342
34320000907:
344	The SMPNG commit has happened.  It should work, but if it
345	doesn't, fallback to the PRE_SMPNG CVS tag.  There are likely
346	to be a variety of minor issues.  Please see 20000905 to make
347	sure you don't have model loading problems which might at
348	first blush appear related to SMP.
349
35020000906:
351	nsswitch has been imported from NetBSD.  Among other things,
352	this means that /etc/host.conf is no longer used.  See
353	nsswitch.conf(5) instead.  Note that at boot time rc.network
354	will attempt to produce a new nsswitch.conf file for you if you
355	don't have one, and you have host.conf.
356
35720000905:
358	The ucred structure changed size.  This breaks the interface
359	that mountd uses.  Trying to use an older mountd with a newer
360	kernel guarantees a panic.  This means that you need to use
361	kernels newer than today only with matching mountd, but you
362	needed to do that anyway with the boot loader changes.
363
36420000905:
365	The boot loader has been updated.  The new default kernel is
366	now /boot/kernel/kernel.ko.  The new default module location
367	is /boot/kernel.
368
369	You *MUST* upgrade your boot loader and kernel at the same time.
370	The easiest way to do this is to do the buildworld/buildkernel/
371	installkernel/installworld dance.
372
373	Furthermore, you are urged to delete your old /modules directory
374	before booting the new kernel, since kldload will find stale
375	modules in that directory instead of finding them in the correct
376	path, /boot/kernel.  The most common complaint that this cures
377	is that the linux module crashes your machine after the update.
378
379	if [ ! -d /boot/kernel.old ]; then
380		mv /modules.old /boot/kernel.old
381		chflags noschg /kernel.old
382		mv /kernel.old /boot/kernel.old/kernel.ko
383		chflags schg /boot/kernel.old/kernel.ko
384	fi
385
38620000904:
387	A new issue with the sendmail upgrade has come to light.
388	/etc/aliases has moved to /etc/mail/aliases.  Mergemaster will 
389	incorrectly install the default aliases in /etc/mail rather than
390	move the old one from /etc.  So you'll need to manually move the
391	file, create a symbolic link, remove the old /etc/aliases.db and
392	run newaliases.  For safety sake, you should stop sendmail
393	while doing this and run the upgrade when locally sourced email
394	is not likely to be generated.
395
39620000825:
397	/boot/device.hints is now required for installkernel to
398	succeed.  You should copy GENERIC.hints for your architecture
399	into /boot/device.hints.  If and only if you compile hints
400	into your kernel, then this file may be empty.  Please note,
401	if you have an empty or missing /boot/device.hints file and
402	you neglected to compile hints into your kernel, no boot
403	messages will appear after the boot loader tries to start the
404	kernel.
405
40620000821:
407	If you do NOT have ``options RANDOMDEV'' in your kernel and
408	you DO want the random device then add randomdev_load="YES" to
409	/boot/loader.conf.
410
41120000812:
412	suidperl is now always built and installed on the system, but
413	with permissions of 511.  If you have applications that use
414	this program, you are now required to add ENABLE_SUIDPERL=true
415	to /etc/make.conf.  If you forget to do this,
416		chmod 4511 /usr/bin/suidperl
417	will fix this until the next build.
418
41920000812:
420	sendmail has been updated from 8.9.3 to 8.11.0.  Some of the more
421	visible changes that may immediately affect your configuration
422	include:
423	- New default file locations from src/contrib/sendmail/cf/README
424	- newaliases limited to root and trusted users
425	- MSA port (587) turned on by default
426	- New queue file naming system so can't go from 8.11 -> 8.9
427	- FEATURE(`rbl') renamed to FEATURE(`dnsbl')
428	- FEATURE(`nullclient') is more full featured
429	- FEATURE(`nouucp') requires an argument: `reject' or `nospecial'
430	- mail.local FreeBSD-only -b option changed to -B
431	- See src/contrib/sendmail/RELEASE_NOTES for more info
432
43320000810:
434	suidperl (aka sperl) is no longer build by default.  You must
435	specifically define BUILD_SUIDPERL to "true" for it to be build.
436	Furthermore, we recommend that you remove /usr/bin/sperl* and
437	/usr/bin/suidperl files from your system unless you have a
438	specific use for it.
439
44020000729:
441	Networking defaults have been tightened.  Anybody upgrading
442	/etc/defaults/rc.conf needs to add the following lines to
443	/etc/rc.conf if they want to have the same setup
444	afterwards (unless the variables already are set, of course):
445		# Enable network daemons for user convenience.
446		inetd_enable="YES"
447		portmap_enable="YES"
448		sendmail_enable="YES"
449
45020000728:
451	If you have null_load="YES" in your /boot/loader.conf, you
452	will need to change that to nullfs_load="YES".
453
45420000728:
455	The "installkernel" target has changed slightly. Now even if
456	you override KERNEL e.g. 'make installkernel KERNEL=MYKERNEL'
457	it will install the MYKERNEL file (built with the buildkernel
458	target) as /kernel rather than /MYKERNEL. Those who have
459	updated their /boot/loader.conf files to point to /MYKERNEL
460	should remove that entry or perform manual rename of /kernel
461	to /MYKERNEL.
462
46320000711:
464	If you use CVSUP or CTM to get CVS trees, AND you used to get 
465	the old crypto files from internat.freebsd.org AND you check
466	out files from the CVS tree with the cvs command, please read
467		http://people.freebsd.org/~imp/internat.txt
468	for details on potential problems that you might have and how
469	to get around them.
470
471	If you are merely a mirror, or don't answer yes to each of the
472	clauses above, you needn't worry.
473
47420000711:
475	/etc/security has been updated to print the inode number of
476	setuid programs that have changed.  You will see a large spike
477	in the number of changed programs the first time when you run
478	mergemaster to get a new /etc/security.
479
48020000710:
481	/dev/random now has good entropy collection (from the keyboard
482	and sysmouse drivers). Please ensure that either `options
483	RANDOMDEV' is present in your kernel config file or that
484	`randomdev_load="YES"' is in your /boot/loader.conf. If you do
485	not have the /dev/random driver, OpenSSL (and consequently
486	lots of crypto tools (like SSH)) will fail with strange
487	errors. (see below, 20000624).
488
489	FreeBSD-current is safe again to run Crypto.
490
49120000709:
492	phk made the malloc default options AJ.  This may slow things
493	down and uncover other latent bugs in the code.  If you need to
494	run at full speed, you can disable this by doing the following:
495		ln -s aj /etc/malloc.conf
496
49720000706:
498	libftpio's version was accidentally bumped a few days ago.  This
499	has been corrected.  You may need to remove /usr/lib/libftpio.so.6
500	before doing your next buildworld/installworld pair.  It certainly
501	won't hurt to remove it before the update procedure.  It will
502	break fetch until a new one is built, but ftp can be used in the
503	interim if needed.
504
50520000705:
506	The crypto packages have changed for the cvsup.  This has been done
507	in a backward compatible way, but the old packages will go away at
508	some point in the future.  Look at /usr/share/examples/cvsup for
509	details.
510
51120000704:
512	With the new sys/modules/sound/drivers/*, you will need to
513	set SYSDIR until you do an installworld after July 7th.
514
51520000704:
516	rc.shutdown and rc will now call the rc.d scripts with start
517	or stop.  This may cause some harmless warnings from older
518	rc.d scripts that haven't been updated.
519
52020000630:
521	The libfetch based version of fetch has gone into the tree.
522	Minor problems may result on some of the less popular sites,
523	which should be reported to des@freebsd.org.
524
52520000625:
526	From approximately this date forward, one must have the crypto
527	system installed in order to build the system and kernel.
528	While not technically strictly true, one should treat it as
529	required and grab the crypto bits.  If you are grabbing CVS
530	trees, src-all and cvs-crypto should be treated as if they
531	were required.  You should check with the latest collections
532	to make sure that these haven't changed.
533
53420000624:
535	Mark Murray just committed the first parts of a cleanup of
536	/dev/zero, et al.  This is also cleaning up /dev/random.
537	The entropy is disconnected, so DO NOT USE VERSIONS OF FREEBSD
538	-CURRENT FROM THIS POINT FORWARD for cryptographic services
539	until Mark can merge in the fixes to this work in progress.
540	openssh and openssl should not be used to generate keys from this
541	date to the completion of the work.
542
543	If you must operate at this reduced level of security, add '
544	options RANDOMDEV' to your kernel or modload the randomdev
545	module.  You may also need to copy a new MAKEDEV to /dev and
546	recreate the random and urandom devices.
547
54820000622:
549	The license on the softupdates is now a standard 2 clause
550	BSD license.  You may need to remove your symbolic links
551	that used to be required when updating.
552
55320000621:
554	Scott Flatman <sf@aracnet.com> sent in a decent write-up on
555	the config file update procedure.
556		http://people.freebsd.org/~imp/config-upd.html
557	NOTE: LINT is gone.  It has been replaced with NOTES.  NOTES
558	isn't buildable.  However, you can generate a LINT file.
559
56020000620:
561	Binutils 2.10 have hit the tree, or will shortly.  As soon
562	as they do, the problem noted in 20000522 will be resolved and
563	that workaround will no longer be required.
564
56520000615:
566	phk removed the compatibility creation of wd devices in the
567	ad driver.  If you haven't done so already, you must update
568	your fstab, etc to use the ad devices instead of the wd
569	devices.
570
571	In addition, you'll need to update your boot blocks to a
572	more modern version, if you haven't already done so.  Modern
573	here means 4.0 release or newer (although older releases
574	may work).
575
57620000612:
577	Peter took an axe to config(8).  Be sure that you read his mail
578	on the topic before even thinking about updating.  You will
579	need to create a /boot/device.hints or add a hints directive
580	to your config file to compile them in statically.  The format
581	of the config file has changed as well.  Please see GENERIC or
582	NEWCARD for examples of the new format.
583
58420000522:
585	A new set of binutils went into the tree today.  Anybody
586	building a kernel after this point is advised that they need
587	to rebuild their binutils (or better yet do a
588	buildworld/installworld) before building a new kernel.
589
590	Due to bugs in binutils, using malloc options (eg /etc/malloc.conf
591	or MALLOC_OPTIONS env var) J will cause ld to dump core.  It
592	is recommended that you don't set this option until the problem
593	is resolved.
594
59520000513:
596	The ethernet drivers were all updated to clean up the BPF handling.
597
59820000510:
599	The problems with boot blocks on the alphas have been corrected.
600	This will require some care in updating alphas.  A new libstand
601	is requires for the boot blocks to build properly.
602
60320000503:
604	Recompile all kld modules.  Proper version dependency info
605	is now available.
606
60720000502:
608	Modules have been disconnected from the buildworld tree and 
609	connected to the kernel building instead.
610
61120000427:
612	You may need to build gperf
613		cd /usr/src/gnu/usr.bin/gperf && make depend all install
614	when upgrading from 4.0 -> current.  The build system now uses
615	an option only in -current.
616
61720000417:
618	The method that we brand ELF binaries has changed to be more
619	acceptable to the binutils maintainers.  You will need to
620	rebrand your ELF binaries that aren't native.  One problem
621	binary is the Linux ldconfig.  After your make world, but
622	before you reboot, you'll need to issue:
623		brandelf -t Linux /compat/linux/sbin/ldconfig
624	if you have Linux compatibility enabled on your machine.
625
62620000320:
627	If you have really bad/marginal IDE drives, you may find they
628	don't work well.  Use pio mode instead.  The easiest way to
629	cope if you have a problem combination is to add:
630		/sbin/sysctl -w hw.atamodes=pio,pio,pio,pio
631	to the start of /etc/rc.conf.
632
63320000319:
634	The ISA and PCI compatibility shims have been connected to the
635	options COMPAT_OLDISA and COMPAT_OLDPCI.  If you are using old
636	style PCI or ISA drivers (i.e. tx, voxware, etc.) you must
637	include the appropriate option in your kernel config.  Drivers
638	using the shims should be updated or they won't ship with
639	5.0-RELEASE, targeted for 2001.
640
64120000318:
642	We've entered the traditional post release dumping party.
643	Large kernel changes are being committed and are in the
644	works.  It is important to keep the systems' klds and kernel
645	in sync as kernel interfaces and structures are changing.
646	Before reporting kernel panics, make sure that all modules
647	that you are loading are up to date.
648
64920000315:
650	If you are upgrading from an older version of FreeBSD, you
651	need to update your boot blocks as well.  'disklabel -B ad0'
652	will do the trick.  This isn't critical until you remove your
653	wd device entries in /dev, at which point your system will not
654	boot.
655
65620000315:
657	4.0 RELEASE shipped.  Please see the 4.0 UPDATING file for how
658	to upgrade to 4.0 from 3.x.
659
660COMMON ITEMS:
661
662	General Notes
663	-------------
664	Avoid using make -j when upgrading.  From time to time in the
665	past there have been problems using -j with buildworld and/or
666	installworld.  This is especially true when upgrading between
667	"distant" versions (eg one that cross a major release boundary
668	or several minor releases, or when several months have passed
669	on the -current branch).
670
671	To build a kernel
672	-----------------
673	If you are updating from a prior version of FreeBSD (even one just
674	a few days old), you should follow this procedure. With a
675	/usr/obj tree with a fresh buildworld,
676	make buildkernel KERNCONF=YOUR_KERNEL_HERE
677	make installkernel KERNCONF=YOUR_KERNEL_HERE
678
679	To just build a kernel when you know that it won't mess you up
680	--------------------------------------------------------------
681	cd src/sys/{i386,alpha}/conf
682	config KERNEL_NAME_HERE			[1]
683	cd ../../compile/KERNEL_NAME_HERE
684	make depend
685	make
686	make install	
687	
688	[1] If in doubt, -r might help here.
689
690	If this fails, go to the "To build a kernel" section.
691
692	To rebuild everything and install it on the current system.
693	-----------------------------------------------------------
694	make world
695	Build a new kernel, see above.
696
697	To upgrade from 4.x-stable to current
698	-------------------------------------
699	make buildworld
700	make buildkernel KERNCONF=YOUR_KERNEL_HERE
701	cp src/sys/${MACHINE_ARCH}/conf/GENERIC.hints /boot/device.hints [2]
702	make installkernel KERNCONF=YOUR_KERNEL_HERE
703	reboot in single user [3]
704	make installworld
705	mergemaster
706	[1]
707	<reboot>
708
709	Make sure that you've read the UPDATING file to understand the
710	tweaks to various things you need.  At this point in the life
711	cycle of current, things change often and you are on your own
712	to cope.  The defaults can also change, so please read ALL of
713	the UPDATING entries.
714
715	Also, if you are tracking -current, you must be subscribed to
716	freebsd-current@freebsd.org.  Make sure that before you update
717	your sources that you have read and understood all the recent
718	messages there.  If in doubt, please track -stable which has
719	much fewer pitfalls.
720
721	[1] If you have third party modules, such as vmware, you
722	should disable them at this point so they don't crash your
723	system on reboot.
724
725	[2] If you have legacy ISA devices, you may need to create
726	your own device.hints to reflect your unique hardware
727	configuration.
728
729	[3] From the bootblocks, boot -s, and then do
730		fsck -p
731		mount -u /
732		mount -a
733		cd /usr/src
734		adjkerntz -i		# if COMS is wall time
735
736FORMAT:
737
738This file contains a list, in reverse chronological order, of major
739breakages in tracking -current.  Not all things will be listed here,
740and it only starts on March 15, 2000.  Updating files can found in
741previous releases if your system is older than this.
742
743Please filter your entries through Warner Losh (imp@village.org) so
744that the style, formatting, etc of this file can be maintained.
745
746Copyright information:
747
748Copyright 1998, 2001 M. Warner Losh.  All Rights Reserved.
749
750Redistribution, translation and use, with or without modification, in
751full or in part, are permitted provided that the above copyright
752notice is retained.
753
754THIS DOCUMENT IS PROVIDED BY WARNER LOSH ``AS IS'' AND ANY EXPRESS OR
755IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
756WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
757DISCLAIMED.  IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT,
758INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
759(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
760SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
761HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
762STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
763IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
764POSSIBILITY OF SUCH DAMAGE.
765
766If you find this document useful, and you want to, you may buy the
767author a beer.
768
769$FreeBSD: head/UPDATING 81485 2001-08-10 21:32:53Z imp $
770