From owner-freebsd-questions@FreeBSD.ORG Thu Apr 9 03:34:08 2015 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 24F63752 for ; Thu, 9 Apr 2015 03:34:08 +0000 (UTC) Received: from mx02.qsc.de (mx02.qsc.de [213.148.130.14]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C350E981 for ; Thu, 9 Apr 2015 03:34:07 +0000 (UTC) Received: from r56.edvax.de (port-92-195-131-196.dynamic.qsc.de [92.195.131.196]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx02.qsc.de (Postfix) with ESMTPS id 65DCD2763C; Thu, 9 Apr 2015 05:33:59 +0200 (CEST) Received: from r56.edvax.de (localhost [127.0.0.1]) by r56.edvax.de (8.14.5/8.14.5) with SMTP id t393XwYm004877; Thu, 9 Apr 2015 05:33:58 +0200 (CEST) (envelope-from freebsd@edvax.de) Date: Thu, 9 Apr 2015 05:33:58 +0200 From: Polytropon To: Ross Penner Subject: Re: freebsd-update process clarification Message-Id: <20150409053358.0626912e.freebsd@edvax.de> In-Reply-To: <1428547905.1739013.251060645.6425F6E8@webmail.messagingengine.com> References: <1428547905.1739013.251060645.6425F6E8@webmail.messagingengine.com> Reply-To: Polytropon Organization: EDVAX X-Mailer: Sylpheed 3.1.1 (GTK+ 2.24.5; i386-portbld-freebsd8.2) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: freebsd-questions@freebsd.org X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Apr 2015 03:34:08 -0000 On Wed, 08 Apr 2015 19:51:45 -0700, Ross Penner wrote: > I'm currently running 10.0 and I wanted to update to 10.1 using > freebsd-update. I've been following the guide on > http://www.freebsd.org/doc/en/books/handbook/updating-upgrading-freebsdupdate.html > > I have a custom kernel and I don't seem to have anything at > /boot/GENERIC > # ls /boot/GENERIC > ls: /boot/GENERIC: No such file or directory This is to be expected: A custom kernel will be installed as /boot/kernel/kernel by default. > so I followed the instructions when running 9.x and above and ran: > # cd /usr/src > # make kernel __MAKE_CONF=/dev/null SRCCONF=/dev/null > > This seem to create and install the GENERIC kernel as advertised, but > there still isn't anything in /boot/GENERIC > # ls /boot/GENERIC > ls: /boot/GENERIC: No such file or directory Correct. The GENERIC kernel will also be installed as /boot/kernel/kernel. > I then ran: > # freebsd-update -r 10.1-RELEASE upgrade > # freebsd-update install > # nextboot -k GENERIC > Error: /boot/GENERIC doesn't exist. Use -f to override. > > The handbook indicates that it's pretty important to have GENERIC there > before I reboot and finish the update. > > Is there something I missed? Can somebody help with this? Allow me to quote from the handbook page you mentioned, from 24.2.2.: Only the GENERIC kernel can be automatically updated by freebsd-update. If a custom kernel is installed, it will have to be rebuilt and reinstalled after freebsd-update finishes installing the updates. However, freebsd-update will detect and update the GENERIC kernel if /boot/GENERIC exists, even if it is not the current running kernel of the system. Note: Always keep a copy of the GENERIC kernel in /boot/GENERIC. It will be helpful in diagnosing a variety of problems and in performing version upgrades. Refer to either Section 24.2.3.1, "Custom Kernels with FreeBSD 9.X and Later" or Section 24.2.3.2, "Custom Kernels with FreeBSD 8.X" for instructions on how to get a copy of the GENERIC kernel. * end quote * So you have to copy /boot/kernel/kernel (the GENERIC kernel) to /boot/GENERIC. Also have a look at the options for _which_ kernel to boot, to be set in /boot/loader.conf: kernel="kernel" # /boot sub-directory containing kernel and modules bootfile="kernel" # Kernel name (possibly absolute path) This allows you to have more than one kernel installed on your system (e. g., the stock GENERIC kernel, and your own custom kernel) at the same time, and letting the boot loader decide which one to boot. As you have read from the handbook, freebsd-update will not be able to update your custom kernel. So after the freebsd-update run (which will give you the GENERIC kernel or leave the old custom kernel in place), you will have to run your kernel building and installation process ("make kernel") manually, _then_ reboot. -- Polytropon Magdeburg, Germany Happy FreeBSD user since 4.0 Andra moi ennepe, Mousa, ...