revision 341006 quite unusable

Paul Mather paul at gromit.dlib.vt.edu
Wed Nov 28 16:15:15 UTC 2018


On Nov 28, 2018, at 10:33 AM, Dennis Clarke <dclarke at blastwave.org> wrote:

> On 11/27/18 7:09 PM, Mark Millard wrote:
>> On 2018-Nov-27, at 11:47, Dennis Clarke <dclarke at blastwave.org> wrote:
>>> On 11/27/18 2:28 PM, Mark Millard wrote:
>>>> On 2018-Nov-27, at 01:26, Dennis Clarke <dclarke at blastwave.org> wrote:
>>>>> So I did a checkout of revision 341006 and without any changes to make.conf and a trivial "make buildkernel" followed by the requisite
>>>>> "make installkernel" I get a machine with a black screen and entirely
>>>>> quite a warm brick. Loud fans.
>>>> Before buildkernel one of the following is needed:
>>>> make kernel-toolchain
>>>> or:
>>>> make buildworld
> 
> did that ... it seems to "install" not much of anything.


As its name suggests, "make buildworld" doesn't actually install anything on the current running system.  It builds a version of the OS under MAKEOBJDIRPREFIX (/usr/obj by default).  To actually install what's built, you ultimately need to use something like "make installworld" to update the current system.


> Well given that I am trying to build everything then it isn't a problem.
> 
> The problem is the docs are ... not very helpful.
> 
> People have suggested to me that make buildworld should NOT be followed by make kernel but make buildkernel :
> 
> https://svnweb.freebsd.org/base/head/UPDATING?view=markup#l1770
> 
> The "handbook" is just plain wrong.


I disagree.  In the context where it uses "make kernel" in the Handbook, it's one where it's describing how to update a current system in-place.  In that context, "make kernel" is okay, inasmuch as it's equivalent to "make buildkernel" followed by "make installkernel", which is what the /usr/src/UPDATING snippet you reference above is doing.

Further down in the Handbook page, when it describes building a kernel, it actually uses "make buildkernel".  Similarly, when talking about installation, it uses "make installkernel".

Where the Handbook is lacking (in Section 23.5) is in its omission of the use of "mergemaster -p" or "etcupdate -p" prior to "make installworld", to ensure necessary new users and groups are present.

I have used the instructions given in /usr/src/UPDATING for years as my canonical guide to building and updating the system.  They have not failed me yet.

The build(7) man page is also a good source of what the various build targets and settings are, as is the src.conf(5) man page---I've found the WITH_META_MODE option in /etc/src-env.conf is a good way of speeding up incremental builds.

Cheers,

Paul.


More information about the freebsd-ppc mailing list