xref: /freebsd/UPDATING (revision 01b9a4342fda0bbb788eebb0194129c76a25d148)
157199806SWarner LoshUpdating Information for FreeBSD current users
253dfde79SWarner Losh
3f8c77507SWarner LoshThis file is maintained by imp@village.org.  Please send new entries
4dc0dbf5cSWarner Loshdirectly to him.  See end of file for further details.  For commonly
516de1a07SWarner Loshdone items, please see the end of the file.  Search for 'COMMON
616de1a07SWarner LoshITEMS:'
716de1a07SWarner Losh
876ec9675SWarner Losh20000914:
976ec9675SWarner Losh	The new pmtimer device is necessary for laptops.  Failure to
1076ec9675SWarner Losh	include the device will cause suspended laptops losing time
1176ec9675SWarner Losh	when they resume.  Include
1276ec9675SWarner Losh		device		pmtimer
1376ec9675SWarner Losh	in your config file and
14*01b9a434SWarner Losh		hint.pmtimer.0.at="isa"
1576ec9675SWarner Losh	to your /boot/device.hints file.
1676ec9675SWarner Losh
17f4865386SMark Murray20000911:
18f4865386SMark Murray	The random device has been turned into a (pseudo-)device,
19f4865386SMark Murray	rather than an option. The supplied kernel config files have
20f4865386SMark Murray	been updated. You will need to do something similar in your
21f4865386SMark Murray	own kernel config file.
22f4865386SMark Murray	Remove:
23f4865386SMark Murray		options		RANDOMDEV
24f4865386SMark Murray	Add:
25f4865386SMark Murray		device		random
26f4865386SMark Murray	If you prefer to load the loadable module, you need to do
27f4865386SMark Murray	nothing.
28f4865386SMark Murray
29d594498fSWarner Losh20000909:
30d594498fSWarner Losh	The random device module has been renamed from randomdev.ko to
31d594498fSWarner Losh	random.ko. You will need to edit your /boot/loader.conf to
32d594498fSWarner Losh	reflect this if you load this module at boot time.
33d594498fSWarner Losh	The line should read:
34d594498fSWarner Losh		random_load="YES"
35d594498fSWarner Losh
360deb7ddcSWarner Losh20000907:
370deb7ddcSWarner Losh	The SMPNG commit has happened.  It should work, but if it
3816eb772dSWarner Losh	doesn't, fallback to the PRE_SMPNG CVS tag.  There are likely
3916eb772dSWarner Losh	to be a variety of minor issues.  Please see 20000905 to make
4016eb772dSWarner Losh	sure you don't have model loading problems which might at
4116eb772dSWarner Losh	first blush appear related to SMP.
4252bf24e7SWarner Losh
435a01880bSWarner Losh20000906:
445a01880bSWarner Losh	nsswitch has been imported from NetBSD.  Among other things,
455a01880bSWarner Losh	this means that /etc/host.conf is no longer used.  See
465a01880bSWarner Losh	nsswitch.conf(5) instead.  Note that at boot time rc.network
475a01880bSWarner Losh	will attempt to produce a new nsswitch.conf file for you if you
485a01880bSWarner Losh	don't have one, and you have host.conf.
495a01880bSWarner Losh
502b41163cSWarner Losh20000905:
5138d6ecd2SWarner Losh	The ucred structure changed size.  This breaks the interface
5238d6ecd2SWarner Losh	that mountd uses.  Trying to use an older mountd with a newer
5338d6ecd2SWarner Losh	kernel guarantees a panic.  This means that you need to use
5438d6ecd2SWarner Losh	kernels newer than today only with matching mountd, but you
5538d6ecd2SWarner Losh	needed to do that anyway with the boot loader changes.
5638d6ecd2SWarner Losh
5738d6ecd2SWarner Losh20000905:
588aab4bc7SWarner Losh	The boot loader has been updated.  The new default kernel is
598aab4bc7SWarner Losh	now /boot/kernel/kernel.ko.  The new default module location
608aab4bc7SWarner Losh	is /boot/kernel.
618aab4bc7SWarner Losh
628aab4bc7SWarner Losh	You *MUST* upgrade your boot loader and kernel at the same time.
6338d6ecd2SWarner Losh	The easiest way to do this is to do the buildworld/buildkernel/
6438d6ecd2SWarner Losh	installkernel/installworld dance.
652b41163cSWarner Losh
66d594498fSWarner Losh	Furthermore, you are urged to delete your old /modules directory
67d594498fSWarner Losh	before booting the new kernel, since kldload will find stale
68d594498fSWarner Losh	modules in that directory instead of finding them in the correct
69d594498fSWarner Losh	path, /boot/kernel.  The most common complaint that this cures
70d594498fSWarner Losh	is that the linux module crashes your machine after the update.
71d594498fSWarner Losh
72d594498fSWarner Losh	if [ ! -d /boot/kernel.old ]; then
73d594498fSWarner Losh		mv /modules.old /boot/kernel.old
74d594498fSWarner Losh		chflags noschg /kernel.old
75d594498fSWarner Losh		mv /kernel.old /boot/kernel.old/kernel.ko
76d594498fSWarner Losh		chflags schg /boot/kernel.old/kernel.ko
77d594498fSWarner Losh	fi
78d594498fSWarner Losh
79c22a309cSWarner Losh20000904:
80c22a309cSWarner Losh	A new issue with the sendmail upgrade has come to light.
81c22a309cSWarner Losh	/etc/aliases has moved to /etc/mail/aliases.  Mergemaster will
82c22a309cSWarner Losh	incorrectly install the default aliases in /etc/mail rather than
83c22a309cSWarner Losh	move the old one from /etc.  So you'll need to manually move the
84c22a309cSWarner Losh	file, create a symbolic link, remove the old /etc/aliases.db and
85c22a309cSWarner Losh	run newaliases.  For safety sake, you should stop sendmail
86c22a309cSWarner Losh	while doing this and run the upgrade when locally sourced email
87c22a309cSWarner Losh	is not likely to be generated.
88c22a309cSWarner Losh
89fdb9f54dSWarner Losh20000825:
90fdb9f54dSWarner Losh	/boot/device.hints is now required for installkernel to
919c1a7444SWarner Losh	succeed.  You should copy GENERIC.hints for your architecture
929c1a7444SWarner Losh	into /boot/device.hints.  If and only if you compile hints
939c1a7444SWarner Losh	into your kernel, then this file may be empty.  Please note,
949c1a7444SWarner Losh	if you have an empty or missing /boot/device.hints file and
959c1a7444SWarner Losh	you neglected to compile hints into your kernel, no boot
969c1a7444SWarner Losh	messages will appear after the boot loader tries to start the
979c1a7444SWarner Losh	kernel.
989c1a7444SWarner Losh
999c1a7444SWarner Losh20000821:
1009c1a7444SWarner Losh	If you do NOT have ``options RANDOMDEV'' in your kernel and
1019c1a7444SWarner Losh	you DO want the random device then add randomdev_load="YES" to
1029c1a7444SWarner Losh	/boot/loader.conf.
103fdb9f54dSWarner Losh
1048f250aa7SWarner Losh20000812:
1055da0d091SWarner Losh	suidperl is now always built and installed on the system, but
1065da0d091SWarner Losh	with permissions of 511.  If you have applications that use
1075da0d091SWarner Losh	this program, you are now required to add ENABLE_SUIDPERL=true
1085da0d091SWarner Losh	to /etc/make.conf.  If you forget to do this,
1095da0d091SWarner Losh		chmod 4511 /usr/bin/suidperl
1105da0d091SWarner Losh	will fix this until the next build.
1115da0d091SWarner Losh
1125da0d091SWarner Losh20000812:
1138f250aa7SWarner Losh	sendmail has been updated from 8.9.3 to 8.11.0.  Some of the more
1148f250aa7SWarner Losh	visible changes that may immediately affect your configuration
1158f250aa7SWarner Losh	include:
1168f250aa7SWarner Losh	- New default file locations from src/contrib/sendmail/cf/README
1178f250aa7SWarner Losh	- newaliases limited to root and trusted users
1188f250aa7SWarner Losh	- MSA port (587) turned on by default
1198f250aa7SWarner Losh	- New queue file naming system so can't go from 8.11 -> 8.9
1208f250aa7SWarner Losh	- FEATURE(`rbl') renamed to FEATURE(`dnsbl')
1218f250aa7SWarner Losh	- FEATURE(`nullclient') is more full featured
1228f250aa7SWarner Losh	- FEATURE(`nouucp') requires an argument: `reject' or `nospecial'
1238f250aa7SWarner Losh	- mail.local FreeBSD-only -b option changed to -B
1248f250aa7SWarner Losh	- See src/contrib/sendmail/RELEASE_NOTES for more info
1258f250aa7SWarner Losh
12671c38472SWarner Losh20000810:
12771c38472SWarner Losh	suidperl (aka sperl) is no longer build by default.  You must
12871c38472SWarner Losh	specifically define BUILD_SUIDPERL to "true" for it to be build.
12971c38472SWarner Losh	Furthermore, we recommend that you remove /usr/bin/sperl* and
13071c38472SWarner Losh	/usr/bin/suidperl files from your system unless you have a
13171c38472SWarner Losh	specific use for it.
13271c38472SWarner Losh
13371c38472SWarner Losh20000729:
13471c38472SWarner Losh	Networking defaults have been tightened.  Anybody upgrading
13571c38472SWarner Losh	/etc/defaults/rc.conf needs to add the following lines to
13671c38472SWarner Losh	/etc/rc.conf if they want to have the same setup
13771c38472SWarner Losh	afterwards (unless the variables already are set, of course):
13871c38472SWarner Losh		# Enable network daemons for user convenience.
13971c38472SWarner Losh		inetd_enable="YES"
14071c38472SWarner Losh		portmap_enable="YES"
14171c38472SWarner Losh		sendmail_enable="YES"
14271c38472SWarner Losh
14371c38472SWarner Losh20000728:
14471c38472SWarner Losh	If you have null_load="YES" in your /boot/loader.conf, you
14571c38472SWarner Losh	will need to change that to nullfs_load="YES".
14671c38472SWarner Losh
1471dece4a9SWarner Losh20000728:
1481dece4a9SWarner Losh	The "installkernel" target has changed slightly. Now even if
1491dece4a9SWarner Losh	you override KERNEL e.g. 'make installkernel KERNEL=MYKERNEL'
1501dece4a9SWarner Losh	it will install the MYKERNEL file (built with the buildkernel
1511dece4a9SWarner Losh	target) as /kernel rather than /MYKERNEL. Those who have
1521dece4a9SWarner Losh	updated their /boot/loader.conf files to point to /MYKERNEL
1531dece4a9SWarner Losh	should remove that entry or perform manual rename of /kernel
1541dece4a9SWarner Losh	to /MYKERNEL.
1551dece4a9SWarner Losh
156409e887cSWarner Losh20000711:
157409e887cSWarner Losh	If you use CVSUP or CTM to get CVS trees, AND you used to get
158409e887cSWarner Losh	the old crypto files from internat.freebsd.org AND you check
159409e887cSWarner Losh	out files from the CVS tree with the cvs command, please read
160409e887cSWarner Losh		http://people.freebsd.org/~imp/internat.txt
161409e887cSWarner Losh	for details on potential problems that you might have and how
162409e887cSWarner Losh	to get around them.
163409e887cSWarner Losh
164409e887cSWarner Losh	If you are merely a mirror, or don't answer yes to each of the
165409e887cSWarner Losh	clauses above, you needn't worry.
166409e887cSWarner Losh
167409e887cSWarner Losh20000711:
168409e887cSWarner Losh	/etc/security has been updated to print the inode number of
169409e887cSWarner Losh	setuid programs that have changed.  You will see a large spike
170409e887cSWarner Losh	in the number of changed programs the first time when you run
171409e887cSWarner Losh	mergemaster to get a new /etc/security.
172409e887cSWarner Losh
173673d13f2SWarner Losh20000710:
174673d13f2SWarner Losh	/dev/random now has good entropy collection (from the keyboard
175673d13f2SWarner Losh	and sysmouse drivers). Please ensure that either `options
176673d13f2SWarner Losh	RANDOMDEV' is present in your kernel config file or that
177673d13f2SWarner Losh	`randomdev_load="YES"' is in your /boot/loader.conf. If you do
178673d13f2SWarner Losh	not have the /dev/random driver, OpenSSL (and consequently
179673d13f2SWarner Losh	lots of crypto tools (like SSH)) will fail with strange
180673d13f2SWarner Losh	errors. (see below, 20000624).
181673d13f2SWarner Losh
182bed5c5ffSWarner Losh	FreeBSD-current is safe again to run Crypto.
1831dece4a9SWarner Losh
184673d13f2SWarner Losh20000709:
185c6dd1430SWarner Losh	phk made the malloc default options AJ.  This may slow things
186c6dd1430SWarner Losh	down and uncover other latent bugs in the code.  If you need to
187c6dd1430SWarner Losh	run at full speed, you can disable this by doing the following:
188673d13f2SWarner Losh		ln -s aj /etc/malloc.conf
189673d13f2SWarner Losh
190e98e26cdSWarner Losh20000706:
191e98e26cdSWarner Losh	libftpio's version was accidentally bumped a few days ago.  This
192e98e26cdSWarner Losh	has been corrected.  You may need to remove /usr/lib/libftpio.so.6
193e98e26cdSWarner Losh	before doing your next buildworld/installworld pair.  It certainly
194f699bbbbSMark Ovens	won't hurt to remove it before the update procedure.  It will
195e98e26cdSWarner Losh	break fetch until a new one is built, but ftp can be used in the
1962c021c6cSMark Ovens	interim if needed.
197e98e26cdSWarner Losh
198e98e26cdSWarner Losh20000705:
199e98e26cdSWarner Losh	The crypto packages have changed for the cvsup.  This has been done
200e98e26cdSWarner Losh	in a backward compatible way, but the old packages will go away at
201e98e26cdSWarner Losh	some point in the future.  Look at /usr/share/examples/cvsup for
202e98e26cdSWarner Losh	details.
203e98e26cdSWarner Losh
204c373950eSWarner Losh20000704:
2052f961bc8SWarner Losh	With the new sys/modules/sound/drivers/*, you will need to
2062f961bc8SWarner Losh	set SYSDIR until you do an installworld after July 7th.
2072f961bc8SWarner Losh
2082f961bc8SWarner Losh20000704:
209c373950eSWarner Losh	rc.shutdown and rc will now call the rc.d scripts with start
210c373950eSWarner Losh	or stop.  This may cause some harmless warnings from older
211c373950eSWarner Losh	rc.d scripts that haven't been updated.
212c373950eSWarner Losh
21327dc3a2bSWarner Losh20000630:
21427dc3a2bSWarner Losh	The libfetch based version of fetch has gone into the tree.
21527dc3a2bSWarner Losh	Minor problems may result on some of the less popular sites,
21627dc3a2bSWarner Losh	which should be reported to des@freebsd.org.
21727dc3a2bSWarner Losh
218b8c215acSWarner Losh20000625:
219b8c215acSWarner Losh	From approximately this date forward, one must have the crypto
22027dc3a2bSWarner Losh	system installed in order to build the system and kernel.
22127dc3a2bSWarner Losh	While not technically strictly true, one should treat it as
22227dc3a2bSWarner Losh	required and grab the crypto bits.  If you are grabbing CVS
22327dc3a2bSWarner Losh	trees, src-all and cvs-crypto should be treated as if they
22427dc3a2bSWarner Losh	were required.  You should check with the latest collections
22527dc3a2bSWarner Losh	to make sure that these haven't changed.
226b8c215acSWarner Losh
2277b990719SWarner Losh20000624:
2287b990719SWarner Losh	Mark Murray just committed the first parts of a cleanup of
2297b990719SWarner Losh	/dev/zero, et al.  This is also cleaning up /dev/random.
2307b990719SWarner Losh	The entropy is disconnected, so DO NOT USE VERSIONS OF FREEBSD
2317b990719SWarner Losh	-CURRENT FROM THIS POINT FORWARD for cryptographic services
2327b990719SWarner Losh	until Mark can merge in the fixes to this work in progress.
2337b990719SWarner Losh	openssh and openssl should not be used to generate keys from this
2347b990719SWarner Losh	date to the completion of the work.
2357b990719SWarner Losh
23627dc3a2bSWarner Losh	If you must operate at this reduced level of security, add '
23727dc3a2bSWarner Losh	options RANDOMDEV' to your kernel or modload the randomdev
23827dc3a2bSWarner Losh	module.  You may also need to copy a new MAKEDEV to /dev and
23927dc3a2bSWarner Losh	recreate the random and urandom devices.
24027dc3a2bSWarner Losh
24181e54c50SWarner Losh20000622:
24281e54c50SWarner Losh	The license on the softupdates is now a standard 2 clause
24381e54c50SWarner Losh	BSD license.  You may need to remove your symbolic links
24481e54c50SWarner Losh	that used to be required when updating.
24581e54c50SWarner Losh
24639943833SWarner Losh20000621:
2472c021c6cSMark Ovens	Scott Flatman <sf@aracnet.com> sent in a decent write-up on
2482a2f33fbSDaniel Baker	the config file update procedure.
2492a2f33fbSDaniel Baker		http://people.freebsd.org/~imp/config-upd.html
250c373950eSWarner Losh	NOTE: LINT is gone.  It has been replaced with NOTES.  NOTES
251a24eff53SWarner Losh	isn't buildable.  However, you can generate a LINT file.
25239943833SWarner Losh
253290f9ad8SWarner Losh20000620:
254290f9ad8SWarner Losh	Binutils 2.10 have hit the tree, or will shortly.  As soon
255290f9ad8SWarner Losh	as they do, the problem noted in 20000522 will be resolved and
256290f9ad8SWarner Losh	that workaround will no longer be required.
257290f9ad8SWarner Losh
25890fb6346SWarner Losh20000615:
25990fb6346SWarner Losh	phk removed the compatibility creation of wd devices in the
26090fb6346SWarner Losh	ad driver.  If you haven't done so already, you must update
26190fb6346SWarner Losh	your fstab, etc to use the ad devices instead of the wd
26290fb6346SWarner Losh	devices.
26390fb6346SWarner Losh
264f75f65bbSWarner Losh	In addition, you'll need to update your boot blocks to a
265f75f65bbSWarner Losh	more modern version, if you haven't already done so.  Modern
266f75f65bbSWarner Losh	here means 4.0 release or newer (although older releases
267f75f65bbSWarner Losh	may work).
268f75f65bbSWarner Losh
269ba26da8eSWarner Losh20000612:
270ba26da8eSWarner Losh	Peter took an axe to config(8).  Be sure that you read his mail
271290f9ad8SWarner Losh	on the topic before even thinking about updating.  You will
272c6dd1430SWarner Losh	need to create a /boot/device.hints or add a hints directive
273290f9ad8SWarner Losh	to your config file to compile them in statically.  The format
274f54a3542SWarner Losh	of the config file has changed as well.  Please see GENERIC or
275f54a3542SWarner Losh	NEWCARD for examples of the new format.
276290f9ad8SWarner Losh
277d65850ebSWarner Losh20000522:
278ba26da8eSWarner Losh	A new set of binutils went into the tree today.  Anybody
279d65850ebSWarner Losh	building a kernel after this point is advised that they need
280d65850ebSWarner Losh	to rebuild their binutils (or better yet do a
281d65850ebSWarner Losh	buildworld/installworld) before building a new kernel.
282d65850ebSWarner Losh
283d9583a00SWarner Losh	Due to bugs in binutils, using malloc options (eg /etc/malloc.conf
284d9583a00SWarner Losh	or MALLOC_OPTIONS env var) J will cause ld to dump core.  It
285d9583a00SWarner Losh	is recommended that you don't set this option until the problem
286d9583a00SWarner Losh	is resolved.
287d9583a00SWarner Losh
2888039cedeSWarner Losh20000513:
2898039cedeSWarner Losh	The ethernet drivers were all updated to clean up the BPF handling.
2908039cedeSWarner Losh
291d65850ebSWarner Losh20000510:
2928039cedeSWarner Losh	The problems with boot blocks on the alphas have been corrected.
2938039cedeSWarner Losh	This will require some care in updating alphas.  A new libstand
2948039cedeSWarner Losh	is requires for the boot blocks to build properly.
2958039cedeSWarner Losh
2968039cedeSWarner Losh20000503:
2978039cedeSWarner Losh	Recompile all kld modules.  Proper version dependency info
2988039cedeSWarner Losh	is now available.
2998039cedeSWarner Losh
300d65850ebSWarner Losh20000502:
301d65850ebSWarner Losh	Modules have been disconnected from the buildworld tree and
302d65850ebSWarner Losh	connected to the kernel building instead.
303d65850ebSWarner Losh
3048039cedeSWarner Losh2000427:
3058039cedeSWarner Losh	You may need to build gperf
3068039cedeSWarner Losh		cd /usr/src/gnu/usr.bin/gperf && make depend all install
3078039cedeSWarner Losh	when upgrading from 4.0 -> current.  The build system now uses
3088039cedeSWarner Losh	an option only in -current.
3098039cedeSWarner Losh
3102b8dd5f4SWarner Losh20000417:
3112b8dd5f4SWarner Losh	The method that we brand ELF binaries has changed to be more
312f699bbbbSMark Ovens	acceptable to the binutils maintainers.  You will need to
3132b8dd5f4SWarner Losh	rebrand your ELF binaries that aren't native.  One problem
3142b8dd5f4SWarner Losh	binary is the Linux ldconfig.  After your make world, but
3152c021c6cSMark Ovens	before you reboot, you'll need to issue:
3162b8dd5f4SWarner Losh		brandelf -t Linux /compat/linux/sbin/ldconfig
3172b8dd5f4SWarner Losh	if you have Linux compatibility enabled on your machine.
3182b8dd5f4SWarner Losh
3198d9f1945SWarner Losh20000320:
3202b8dd5f4SWarner Losh	If you have really bad/marginal IDE drives, you may find they
3212b8dd5f4SWarner Losh	don't work well.  Use pio mode instead.  The easiest way to
3222b8dd5f4SWarner Losh	cope if you have a problem combination is to add:
3238d9f1945SWarner Losh		/sbin/sysctl -w hw.atamodes=pio,pio,pio,pio
3242b8dd5f4SWarner Losh	to the start of /etc/rc.conf.
3258d9f1945SWarner Losh
326f8ab1dd6SWarner Losh20000319:
327f699bbbbSMark Ovens	The ISA and PCI compatibility shims have been connected to the
328f8ab1dd6SWarner Losh	options COMPAT_OLDISA and COMPAT_OLDPCI.  If you are using old
329f8ab1dd6SWarner Losh	style PCI or ISA drivers (i.e. tx, voxware, etc.) you must
330f8ab1dd6SWarner Losh	include the appropriate option in your kernel config.  Drivers
331f8ab1dd6SWarner Losh	using the shims should be updated or they won't ship with
332f8ab1dd6SWarner Losh	5.0-RELEASE, targeted for 2001.
333f8ab1dd6SWarner Losh
33419cada77SWarner Losh20000318:
335f699bbbbSMark Ovens	We've entered the traditional post release dumping party.
33619cada77SWarner Losh	Large kernel changes are being committed and are in the
33719cada77SWarner Losh	works.  It is important to keep the systems' klds and kernel
33819cada77SWarner Losh	in sync as kernel interfaces and structures are changing.
33919cada77SWarner Losh	Before reporting kernel panics, make sure that all modules
34019cada77SWarner Losh	that you are loading are up to date.
341ba228352SWarner Losh
34219cada77SWarner Losh20000315:
3436d23c382SWarner Losh	If you are upgrading from an older version of FreeBSD, you
3446d23c382SWarner Losh	need to update your boot blocks as well.  'disklabel -B ad0'
3456d23c382SWarner Losh	will do the trick.  This isn't critical until you remove your
3466d23c382SWarner Losh	wd device entries in /dev, at which point your system will not
3476d23c382SWarner Losh	boot.
3486d23c382SWarner Losh
3496d23c382SWarner Losh20000315:
35019cada77SWarner Losh	4.0 RELEASE shipped.  Please see the 4.0 UPDATING file for how
35119cada77SWarner Losh	to upgrade to 4.0 from 3.x.
35257199806SWarner Losh
353dc0dbf5cSWarner LoshCOMMON ITEMS:
354dc0dbf5cSWarner Losh
355a24eff53SWarner Losh	General Notes
356a24eff53SWarner Losh	-------------
357a24eff53SWarner Losh	Avoid using make -j when upgrading.  From time to time in the
358a24eff53SWarner Losh	past there have been problems using -j with buildworld and/or
359a24eff53SWarner Losh	installworld.  This is especially true when upgrading between
360a24eff53SWarner Losh	"distant" versions (eg one that cross a major release boundary
361a24eff53SWarner Losh	or several minor releases, or when several months have passed
362a24eff53SWarner Losh	on the -current branch).
363a24eff53SWarner Losh
364dc0dbf5cSWarner Losh	To build a kernel
365dc0dbf5cSWarner Losh	-----------------
366ba01eb20SWarner Losh	If you are updating from a prior version of FreeBSD (even one just
367f699bbbbSMark Ovens	a few days old), you should follow this procedure. With a
368ba01eb20SWarner Losh	/usr/obj tree with a fresh buildworld,
369ba01eb20SWarner Losh	make buildkernel KERNEL=YOUR_KERNEL_HERE
370ba01eb20SWarner Losh	make installkernel KERNEL=YOUR_KERNEL_HERE
371dc0dbf5cSWarner Losh
372ba01eb20SWarner Losh	To just build a kernel when you know that it won't mess you up
373ba01eb20SWarner Losh	--------------------------------------------------------------
374ba01eb20SWarner Losh	cd src/sys/{i386,alpha}/conf
375ba01eb20SWarner Losh	config KERNEL_NAME_HERE			[1]
376ba01eb20SWarner Losh	cd ../../compile/KERNEL_NAME_HERE
377ba01eb20SWarner Losh	make depend
378ba01eb20SWarner Losh	make
379ba01eb20SWarner Losh	make install
380ba01eb20SWarner Losh
381ba01eb20SWarner Losh	[1] If in doubt, -r might help here.
382ba01eb20SWarner Losh
383ba01eb20SWarner Losh	If this fails, go to the "To build a kernel" section.
384ba01eb20SWarner Losh
385ba01eb20SWarner Losh	To rebuild everything and install it on the current system.
386ba01eb20SWarner Losh	-----------------------------------------------------------
387759f0aefSWarner Losh	make world
388fdb9f54dSWarner Losh	Build a new kernel, see above.
389759f0aefSWarner Losh
3901dece4a9SWarner Losh	To upgrade from 4.x-stable to current
391ba26da8eSWarner Losh	-------------------------------------
392ba26da8eSWarner Losh	make buildworld
393ba26da8eSWarner Losh	make buildkernel KERNEL=YOUR_KERNEL_HERE
3949c1a7444SWarner Losh	cp src/sys/${MACHINE_ARCH}/GENERIC.hints /boot/device.hints [2]
395ba26da8eSWarner Losh	make installkernel KERNEL=YOUR_KERNEL_HERE
396ba26da8eSWarner Losh	make installworld
397134d2e86SWarner Losh	[1]
398ba26da8eSWarner Losh	<reboot>
399ba26da8eSWarner Losh
400fdb9f54dSWarner Losh	Make sure that you've read the UPDATING file to understand the
401fdb9f54dSWarner Losh	tweaks to various things you need.  At this point in the life
402fdb9f54dSWarner Losh	cycle of current, things change often and you are on your own
403fdb9f54dSWarner Losh	to cope.  The defaults can also change, so please read ALL of
404fdb9f54dSWarner Losh	the UPDATING entries.
405ba26da8eSWarner Losh
4061dece4a9SWarner Losh	Also, if you are tracking -current, you must be subscribed to
4071dece4a9SWarner Losh	freebsd-current@freebsd.org.  Make sure that before you update
4081dece4a9SWarner Losh	your sources that you have read and understood all the recent
4091dece4a9SWarner Losh	messages there.  If in doubt, please track -stable which has
4101dece4a9SWarner Losh	much fewer pitfalls.
4111dece4a9SWarner Losh
412134d2e86SWarner Losh	[1] If you have third party modules, such as vmware, you
413134d2e86SWarner Losh	should disable them at this point so they don't crash your
414134d2e86SWarner Losh	system on reboot.
415134d2e86SWarner Losh
4169c1a7444SWarner Losh	[2] If you have legacy ISA devices, you may need to create
4179c1a7444SWarner Losh	your own device.hints to reflect your unique hardware
4189c1a7444SWarner Losh	configuration.
4199c1a7444SWarner Losh
420dc0dbf5cSWarner LoshFORMAT:
421dc0dbf5cSWarner Losh
422f699bbbbSMark OvensThis file contains a list, in reverse chronological order, of major
4231fc1a0dcSWarner Loshbreakages in tracking -current.  Not all things will be listed here,
424f8ab1dd6SWarner Loshand it only starts on March 15, 2000.  Updating files can found in
425f8ab1dd6SWarner Loshprevious releases if your system is older than this.
4261fc1a0dcSWarner Losh
4273645fc1cSWarner LoshPlease filter your entries through Warner Losh (imp@village.org) so
4283645fc1cSWarner Loshthat the style, formatting, etc of this file can be maintained.
429f8c77507SWarner Losh
43097d92980SPeter Wemm$FreeBSD$
431