Date: Thu, 9 Apr 2015 05:33:58 +0200 From: Polytropon <freebsd@edvax.de> To: Ross Penner <rossp@f-m.fm> Cc: freebsd-questions@freebsd.org 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>
next in thread | previous in thread | raw e-mail | index | archive | help
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, ...
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150409053358.0626912e.freebsd>