From owner-freebsd-questions@FreeBSD.ORG Sun Jan 14 20:26:19 2007 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1AB7416A415 for ; Sun, 14 Jan 2007 20:26:19 +0000 (UTC) (envelope-from keramida@ceid.upatras.gr) Received: from igloo.linux.gr (igloo.linux.gr [62.1.205.36]) by mx1.freebsd.org (Postfix) with ESMTP id 8D8AE13C44B for ; Sun, 14 Jan 2007 20:26:17 +0000 (UTC) (envelope-from keramida@ceid.upatras.gr) Received: from kobe.laptop (dialup85.ach.sch.gr [81.186.70.85]) (authenticated bits=128) by igloo.linux.gr (8.13.8/8.13.8/Debian-3) with ESMTP id l0EKPSjX013175 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Sun, 14 Jan 2007 22:25:43 +0200 Received: from kobe.laptop (kobe.laptop [127.0.0.1]) by kobe.laptop (8.13.8/8.13.8) with ESMTP id l0EKPIwD003492; Sun, 14 Jan 2007 22:25:23 +0200 (EET) (envelope-from keramida@ceid.upatras.gr) Received: (from keramida@localhost) by kobe.laptop (8.13.8/8.13.8/Submit) id l0EKPIvJ003491; Sun, 14 Jan 2007 22:25:18 +0200 (EET) (envelope-from keramida@ceid.upatras.gr) Date: Sun, 14 Jan 2007 22:25:17 +0200 From: Giorgos Keramidas To: Dino Vliet Message-ID: <20070114202517.GA3404@kobe.laptop> References: <73161.84816.qm@web51108.mail.yahoo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <73161.84816.qm@web51108.mail.yahoo.com> X-Hellug-MailScanner: Found to be clean X-Hellug-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=-3.728, required 5, autolearn=not spam, ALL_TRUSTED -1.80, AWL 0.47, BAYES_00 -2.60, DNS_FROM_RFC_ABUSE 0.20) X-Hellug-MailScanner-From: keramida@ceid.upatras.gr X-Spam-Status: No Cc: freebsd-questions@freebsd.org Subject: Re: advice on compiling a new kernel & upgrading to the latest sources X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jan 2007 20:26:19 -0000 On 2007-01-14 11:56, Dino Vliet wrote: > Hi folks, > from different sources I have written my steps to compile a new kernel > & upgrade to the latest sources. Your instructions, however, are different from what /usr/src/UPDATING contains. Please, make *sure* you read `/usr/src/UPDATING' very carefully. Especially the commands of the section ``To upgrade in-place ...'' and *all* the footnotes they reference. > Can anyone have a look into them and tell me if I won't run into > troubles or if there are better ways to achieve the same? > > Upgrade procedure to the newest freebsd kernel and userland. > > 1.Make sure that the cvsup file (src-supfile) is adjusted in the right > way. That's ok. > 2. Cd /usr/src/sys/amd64/conf which contains the file MYKERNEL No it doesn't. CVSup will delete the files it doesn't know about, so you should *SAVE a copy* of your favorite kernel config file outside of the source tree and *copy* it into `/usr/src/sys/amd64/conf' after CVSup finishes updates the sources. > 3.MYKERNEL is then adjusted, if necessary and copied to > root/kernels/MYKERNEL Nice :) > 4.Copy everything under /etc to /root/etc Why? This isn't mentioned in `/usr/src/UPDATING' and it doesn't really help much if you manage to trash your /lib and /usr/lib trees. A better suggestion is to ``make sure you have good level 0 dumps'', as suggested by ``/usr/src/UPDATING''. > 5.cvsup -g -L 2 src-supfile You've deleted "MYKERNEL" here. > 6. cd /usr/src > 7. make cleanworld The ``make cleanworld'' command is unnecessary if you haven't been building stuff manually inside the tree. > 8. make buildworld > 9. make buildkernel KERNCONF=MYKERNEL You can do both at the same time, with: # cd /usr/src # make KERNCONF=MYKERNEL buildworld buildkernel > 10. Go into single user mode You forgot to install the new kernel *before* rebooting here. This should be done with: # cd /usr/src # make KERNCONF=MYKERNEL installkernel > 11. If the new kernel doesn't boot reboot and hit the space bar at the > boot prompt and boot kernel.old If the new kernel boots OK mount -a No, "mount -a" is not enough. Please read the `UPDATING' file. The full sequence of commands would be something like: (escape to loader prompt) (at the OK prompt of the boot loader, type): boot -s Then, when the system starts a /bin/sh shell instance, type: # adjkerntz -i # fsck -p # mount -u / # mount -a > 12. cd /usr/src > 13. make installkernel KERNCONF=MYKERNEL It is too late to install a new kernel here, if you didn't do it *before* rebooting into single user mode. The whole 'exercise' of installing the new kernel and booting into single user mode is meant to provide a level of testing for the new kernel. If you haven't installed it and booted into the old kernel, some things may fail to install later on, you don't know if the new kernel actually works, etc. > 14. Go into single user mode You *ARE* in single-user mode already. > 15. cd /usr/src > 16. mergemaster -p > 17. make installworld > 18. mergemaster -i > 19. exit and reboot These look fine. > Is this ok? Or have I forgot about something? I'm running a freebsd > 6.1 machine on a amd64 system with an adjusted kernel called MYKERNEL. Please read ``/usr/src/UPDATING''. Then read it again. Let the text and all its footnotes sink in, and if you don't understand *why* a particular step exists, or what a specific step is supposed to do, feel free to ask. We are here to help you update the system, but we are *also* here to help you understand the why, when, how and what for of each step of the process :-) - Giorgos