The FAQ describes two ways to build the kernel (
http://www.openbsd.org/faq/faq5.html#BldKernel ),

      # cd /usr/src/sys/arch/i386/conf
      # config GENERIC
      # cd ../compile/GENERIC
      # make clean && make depend && make

or
    Variation on above process: Read-only source tree
    Sometimes, you may wish to ensure your /usr/src/sys directory
remains untouched. This can be done by using the following process:
       $ cd /somewhere
       $ cp /usr/src/sys/arch/i386/conf/GENERIC .
       $ config -s /usr/src/sys -b . GENERIC
       $ make clean && make depend && make

I would like "make release" to use the "read only source tree" variant
above, how can I accomplish this?

Right now, I see "make release" do:

    cd /home/4.2/src/etc/../sys/arch/amd64/conf && config GENERIC

Which is going to attempt to build the GENERIC kernel right there in
my source tree.

Also, I am having some other weird problem, due to the following logic
in the Makefile.amd64  which contains:

     # source tree is located via $S relative to the compilation directory
     .ifndef S
     S!=     cd ../../../..; pwd
     .endif
     AMD64=  $S/arch/amd64

For some reason the above is setting my AMD64 to some weird path that
is not correct on my system, namely:

   cd /home/4.2/src/etc/../sys/arch/amd64/conf && config GENERIC
    GENERIC:13: cannot open ../../../../arch/amd64/conf/files.amd64
for reading: No such file or directory

    *** Error code 1

    Stop in /home/4.2/src/etc (line 11 of etc.amd64/Makefile.inc).

What is the point of the above, and how can I get the path correct for
this build?

Thanks,

Don

Reply via email to