revision 341006 quite unusable
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
>>>> 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 :
> 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.
More information about the freebsd-ppc