Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Jun 2019 06:52:33 +0200
From:      Polytropon <freebsd@edvax.de>
To:        Brian Wood <woodbrian77@gmail.com>
Cc:        FreeBSD Questions <freebsd-questions@freebsd.org>
Subject:   Re: Eliminating IPv6 (?)
Message-ID:  <20190624065233.fb5f72f4.freebsd@edvax.de>
In-Reply-To: <CABWFOjvAsY6CTWbDNtZfiNv80C=HHz5ocigFB_xJGn_LM9722A@mail.gmail.com>
References:  <CABWFOjvAsY6CTWbDNtZfiNv80C=HHz5ocigFB_xJGn_LM9722A@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 23 Jun 2019 16:07:05 -0500, Brian Wood wrote:
> I'm interested in this subject as an entrepreneur with
> a boutique on-line service.    I followed the above and
> it boots and 'netstat -r' no longer says anything about
> IPv6.
> I found section 23.5.1 on this page:
> https://www.freebsd.org/doc/handbook/makeworld.html
> 
> to be confusing.  I'm not sure if that is out of date, but
> the 'make -j4 kernel'
> is different than make buildkernel
> and it says to reboot before running 'make installworld'.

Refer to /usr/src/Makefile's comment header where you will find
a short explanation of the different targets.

make kernel:
	This target performs both "make buildkernel" and
	"make installkernel". It's possible to run this
	command in multi-user mode and then reboot into
	the new kernel. It's neccessary that world and
	kernel are in sync version-wise.

make buildkernel:
	This target builds the kernel, but does not install
	it.

make buildworld:
	This target builds the world, but does not install
	it.

make installkernel:
	This target installs the kernel. It can be done
	in single-user and multi-user mode.

make installworld:
	This is a very special target. It requires that
	you have booted the appropriate kernel, the ("old")
	world / OS in single-user mode, and performed basic
	file system checks manually (as this is not done
	automatically for single-user mode!). Before and
	after this step, tools such as mergemaster can (and
	should) be used.

Here's a short summary (from the source mentioned above):

# For individuals wanting to upgrade their sources (even if only a
# delta of a few days):
#
#  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 -i, along with -U or -F).
# 10.  `reboot'
# 11.  `make delete-old-libs' (in case no 3rd party program uses them anymore)

Also see "man 7 build" for further documentation.

So the choice of the correct target and procedure depends
on the actual goal you want to achieve.



> I'm not sure if it matters but I did 'make buildkernel ...'
> before 'make buildworld'.  Then I installed both and
> then rebooted.  I tried to get away with just rebuilding
> the kernel and installing that, but that didn't work.

The build order usually does not matter, but the install
order does, and the environment in which it takes place.
COmparing your approach with the procedure mentioned above,
you can see that it's not supposed to work as expected.
Therefore, revise your procedure. ;-)




-- 
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?20190624065233.fb5f72f4.freebsd>