Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Mar 2000 12:10:57 -0500 (EST)
From:      Kenneth W Cochran <kwc@world.std.com>
To:        freebsd-stable@freebsd.org
Subject:   Questions source-upgrading 3.4-s to 4.0-s
Message-ID:  <200003241710.MAA22784@world.std.com>

next in thread | raw e-mail | index | archive | help



s Questions source-upgrading 3.4-s to 4.0-s
Hi,

Sorry for the length of this message.  I've been following the
"upgrading" thread on -stable & I could use some clarification
as to the "whys & hows" of this procedure.  Perhaps this might
be a "guide" as to some things that might merit further
explanation in the relevant documentation?

I track RELENG_3 (more or less) & I'm contemplating & trying to
grok the 3.4-stable --> 4.0 stable upgrading process by source,
& since I've never (yet :) done a major "source" upgrade, I
could use just a bit of errr, "hand-holding..."

I'm trying to avoid a "chicken-and-egg" problem...

Overview

It appears that my new 4.0 system (& the new C compiler) will be
built using the 3.4-stable tools; is this ok?  I'm guessing that
the "last step(s)" of this process is to re-gen (cvsup/make
[build, install]world...), just as I've always done with 3.x.

It also appears that I cannot run a 3.x kernel with a 4.x
userland (or is that a 4.x kernel with a 3.x userland?), so I
have to get my userland built but not installed, then build,
install & boot my new 4.x kernel, & *then* do my userland
install (installworld).  Is this correct?

Here are the relevant sections from src/UPDATING with my
questions interspersed.  I'm in the "context" 3.4-stable,
updated & built within the past couple of weeks.

Naturally, FAQ/doc/etc. pointers are quite welcome.  (What are
the Really Good FMs to RT?  :)

Or should I just wait for the CDs & do my upgrade the Good Old
Fashioned Way (ie. back up my stuff & reinstall "fresh" from the
CDs...)?  :)

****************************** 4.0 RELEASE ******************************
To update from 3.x to 4.0 stable
--------------------------------
<see notes below (updating to 4.0-stable sources>	[***]
	- I'm using the 4.x-stable-supfile from the examples in
	  3.4-s.  What are the best things to un-comment in that
	  config?  (to handle crypto things, for example...)
	- What's the difference between what I'd get as North
	  American vs not?  (& what's the best way to "identify"
	  myself as North American?  (What is going to ship on
	  the CDs?)

cd /usr/src
<see notes below>				[**]
make buildworld
	- Ok...  This will take my new 4.x /usr/src & make a nice
	  new /usr/obj...

	- MAKE_KERBEROS4 is already commented-out in my
	  /etc/make.conf, so I should be ok here?

cd sbin/mknod
make install
	- What's this about?  Is this /usr/sbin/mknod or is it
	  /usr/src/sbin/mknod?
	  How does this differ from cd /dev; sh MAKEDEV?

cd sys/modules
make install
	- Same here...  What's this about?  I'm thinking this (&
	  previous are relative to (my new 4.x) /usr/src, ie.
	  /usr/src/sys/modules, or perhaps /sys/modules...

<follow directions to build/install a kernel>
	- My questions/commentary are below, in that section...

<follow rebuild disk /dev entries above>	[*]
	- My system is all-scsi (/dev/da*).  Do I need to do
	  anything special?
	- "As above?"  Again, how does this differ from cd /dev;
	  sh MAKEDEV?

reboot
<in single user>
	- If I understand correctly, hit the spacebar & type -s<cr>?
	- Looks to me like I need to make sure my filesystems are
	  properly mounted.  How is the best way to do this as
	  single-user?  (mount -a, IIRC...)

cd /usr/src
make -DNOINFO installworld
	- Why -DNOINFO?

make installworld
	- & my guess is that this "corrects" the -DNOINFO
	  installworld I just did?

reboot
<multi-user>
	- At this time I'm guessing it would be a Very Good Idea
	  to do at least a [build, install]world, so as to get
	  everything built with the new C compiler & tools, etc...

[*] You may need to switch from wd to ad ala 19991210
[**] If you have any of the following in your /etc/make.conf,
please comment them out before following these instructions
and then do a make buildworld + make installworld after you
are back to <multi-user> above:
	MAKE_KERBEROS4
[***] Update to 4.0-stable sources.  Make sure that you get all
the parts.  If you are using cvsup files that are older than a
couple of months, be sure they have all the components listed
in /usr/share/examples/cvsup.  Crypto and secure are now required.

To build a kernel
-----------------
cd /usr/src
# If you have not already done so, please buildworld here
make buildkernel KERNEL=<YOUR_KERNEL_HERE>
make installkernel  KERNEL=<YOUR_KERNEL_HERE>
# Verify that the new kernel works, it will be installed as
# /YOUR_KERNEL_HERE
chflags noschg /kernel
mv /kernel /kernel.old
mv /YOUR_KERNEL_HERE /kernel
chflags schg /kernel

	- Is this still the same as:
	cd /sys/i386/conf
	<config things...>
	config <whatever, probably GENERIC in this case...>
	cd /sys/compile/GENERIC
	make depend
	make
	make install

	- Other than that, I'm guessing that I need to build &
	  install the GENERIC kernel?
----------------------------------------
Many thanks for your help & for this wonderful OS!

-kc


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200003241710.MAA22784>