From owner-freebsd-stable Fri Mar 24 9:16:56 2000 Delivered-To: freebsd-stable@freebsd.org Received: from europe.std.com (europe.std.com [199.172.62.20]) by hub.freebsd.org (Postfix) with ESMTP id CE45C37B747 for ; Fri, 24 Mar 2000 09:16:33 -0800 (PST) (envelope-from kwc@world.std.com) Received: from world.std.com (root@world-f.std.com [199.172.62.5]) by europe.std.com (8.9.3/8.9.3) with ESMTP id MAA14699 for ; Fri, 24 Mar 2000 12:16:29 -0500 (EST) Received: (from kwc@localhost) by world.std.com (8.9.3/8.9.3) id MAA22784; Fri, 24 Mar 2000 12:10:57 -0500 (EST) Date: Fri, 24 Mar 2000 12:10:57 -0500 (EST) From: Kenneth W Cochran Message-Id: <200003241710.MAA22784@world.std.com> To: freebsd-stable@freebsd.org Subject: Questions source-upgrading 3.4-s to 4.0-s Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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 -------------------------------- [***] - 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 [**] 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... - My questions/commentary are below, in that section... [*] - 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 - If I understand correctly, hit the spacebar & type -s? - 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 - 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 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= make installkernel KERNEL= # 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 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