Wednesday, September 25, 2024

Re: Building -current incrementally.

On 9/26/24 07:15, Otto Moerbeek wrote:
> On Thu, Sep 26, 2024 at 06:38:00AM +0200, Christian Schulte wrote:
>
>> So I installed 7.5-stable on a VPS and that kernel panicked during installation
>> several times. I then grabbed a 7.6-current image and installed the system
>> using that. That kernel does not panic so I am running -current on that system
>> since then. Checked out /usr/src, build the system from source using
>> make build. Did cvs -q update -dP -A every now and then and just ran
>> make followed by doas make install from time to time in the various directories.
>> Accidentally ran make in /usr/src and got an unexpected Permission denied
>> error. I would have expected to be able to run make in /usr/src without any
>> permission issues. Is this a bug in the build system? There must be a way to
>> build base incrementally without having to rebuild everything.
>> $cd /usr/src && make currently stops with a Permission denied error I would not
>> have expected to happen.
>>
>>
>> build: atu-intersil-int: Permission denied
>> *** Error 1 in sys/dev/microcode/atmel (Makefile:22 'atu-intersil-int')
>> *** Error 2 in sys/dev/microcode (<bsd.subdir.mk>:48 'all': @for entry in afb atmel bnx cirruslogic fxp kue neomagic myx ral rsu rtwn rum s...)
>> *** Error 2 in sys (<bsd.subdir.mk>:48 'all': @for entry in dev/microcode arch/alpha arch/amd64 arch/arm64 arch/armv7 arch/hppa arch/i386 ...)
>> *** Error 2 in /usr/src (<bsd.subdir.mk>:48 'all': @for entry in lib include bin libexec sbin usr.bin usr.sbin share games gnu sys; do set ...)
>>
>
> 1. Note that "make build" builds kernels and install images but does
> not install them.
>
> 2. Did you follow the steps in the FAQ and release(5):
> https://www.openbsd.org/faq/faq5.html? And no, it is not *always*
> possible to build incrementally. Sometimes a clean build is needed.

Of course I followed those steps. That's what makes me think something
is not working the way it is intended. After installing a recent
snapshot, I checked out /usr/src and did a make build. I thought this
leaves me with a pre built tree I can just build incrementally. Indeed
this is working. So, after a cvs -q update -dP -A I just cd'ed into the
directories containing files with changes and did make followed by doas
make install. Also in /sys/arch/amd64/compile/GENERIC.MP. This has been
working as expected. I then accidentally ran make directly in /usr/src
which is failing due to some Permission denied I do not understand. I
can still run make install in /usr/src without issues.


>
> 3. You might want to consider not building from source, but install a
> snapshot by running sysupgrade -s.

I am keen on knowing how those snapshots are build. Do they really wipe
out everything and then do a fresh build - lasting nearly 24h here for
me. I doubt it.

>
> -Otto

--
Christian

No comments:

Post a Comment