Implications of missing this step?
freebsd at edvax.de
Fri Jan 21 05:09:41 UTC 2011
On Thu, 20 Jan 2011 21:41:52 -0600, "Michael D. Norwick" <mnorwick at centurytel.net> wrote:
> Good Day;
> Running PC-BSD 8.1 with a custom kernel and new world. I just finished
> another custom kernel and rebuilt world according to the FreeBSD
> handbook. While reading the docs again to find an answer to a question
> about how upgraded ports are handled, I came across the following in 24.2.3;
> "If a custom kernel is in use, the upgrade process is slightly more
> involved. A copy of the GENERIC kernel is needed, and it should be
> placed in /boot/GENERIC. If the GENERIC kernel is not already present in
> the system, it may be obtained using one of the following methods:"
> I am in the process of doing #>portupgrade -af with a new custom kernel
> and stock (rebuilt) world i.e. buildkernel KERNCONF=KERNEL_011911, and
> buildworld... (after upgrading src and ports with csup). Things seem to
> be going ok but the statements about 'old object files and libraries'
> being out of date for third party applications, make me feel as if I
> have done something wrong. I blew away the GENERIC kernel several
> iterations of kernel builds ago. I always start a build with #>make
> clean. What can go wrong by not following the above step?
See /usr/src/Makefile with those instructions:
1. `cd /usr/src' (or to the directory containing your source tree).
2. `make buildworld'
3. `make buildkernel KERNCONF=YOUR_KERNEL_HERE' (default is GENERIC).
4. `make installkernel KERNCONF=YOUR_KERNEL_HERE' (default is GENERIC).
[steps 3. & 4. can be combined by using the "kernel" target]
5. `reboot' (in single user mode: boot -s from the loader prompt).
6. `mergemaster -p'
7. `make installworld'
8. `make delete-old'
9. `mergemaster' (you may wish to use -U or -ai).
11. `make delete-old-libs' (in case no 3rd party program uses them anymore)
This is the recommended road map AFTER you've successfully
updated your sorces. Rebuilding of ports MAY be needed after
this step - when the new environment has been installed and
you're running the new kernel and world.
> Is a GENERIC
> kernel always needed?
The GENERIC kernel is a fail-safe mechanism. If your kernel
won't boot, you can request booting GENERIC from the loader,
because GENERIC *should* always boot.
If your custom kernel runs fine, there's no need for the
GENERIC kernel to be additionally built.
You can make a copy of the initial (stock) GENERIC kernel
as kernel.GENERIC. This should be a -RELEASE kernel of the
release you're currently using (8.0, 8.1, 8.1), but can
be any GENERIC kernel of a -STABLE version, too. The system
will also automatically save the last kernal as kernel.old.
Before installing world, this old kernel will match version
with the installed world.
But as I said, it's "only" a security mechanism to boot the
system when the new kernel is not booting / running properly.
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...
More information about the freebsd-questions