Scott Bennett
2016-Dec-12 01:38 UTC
make buildkernel does not respect KERNCONF or JOBS in /etc/make.conf
On Sun, 11 Dec 2016 12:34:58 +0000 tech-lists <tech-lists at zyxst.net> wrote:>I have found that make buildkernel/installkernel does not respect >KERNCONF= variables. It also doesn't respect MAKE_JOBS_NUMBER. It *DOES* >however respect WITH_CCACHE_BUILD. It's hard to say when the behaviour >changed to what it is, but it was sometime around the time that >11-CURRENT became 11-STABLE. > >Sources are 11-STABLE r309795 > >Here is my /etc/make.conf, which used to work: > >MALLOC_PRODUCTION=yes >WITH_CCACHE_BUILD=yes >MAKE_JOBS_NUMBER=32 >KERNCONF=PUMPKIN GENERIC >WITH_MANCOMPRESS=YES >WITHOUT_DEBUG=YES >DEFAULT_VERSIONS+= ssl=libressl >OPTIMIZED_CFLAGS=YES >BUILD_OPTIMIZED=YES > >I used to be able to buildworld and kernel like this: > >root at localhost:/usr/src# make cleandir && make clean && make buildworld >&& make buildkernel && make installkernel && mergemaster -p > >and I'd get two installed kernels, PUMPKIN and GENERIC > >now I have to specify on the line: > >root at localhost:/usr/src# make cleandir && make clean && make -j32 >buildworld && make -j32 buildkernel KERNCONF=PUMPKIN > >Also, I have to specify jobs # for both buildworld and buildkernel >otherwise it just uses one, two or four cores. > >How can I get it to work like it did previously? >You may have misremembered how you did it previously. Try adding BUILDKERNELS=PUMPKIN GENERIC to your /etc/src.conf and removing the KERNCONF line from /etc/make.conf before you run it again. KERNCONF goes on the "make buildkernel" command, not into /etc/make.conf, but should not be necessary at all if /etc/src.conf contains the list of kernels to be built. (See src.conf(5).) Scott Bennett, Comm. ASMELG, CFIAG ********************************************************************** * Internet: bennett at sdf.org *xor* bennett at freeshell.org * *--------------------------------------------------------------------* * "A well regulated and disciplined militia, is at all times a good * * objection to the introduction of that bane of all free governments * * -- a standing army." * * -- Gov. John Hancock, New York Journal, 28 January 1790 * **********************************************************************
Herbert J. Skuhra
2016-Dec-12 06:58 UTC
make buildkernel does not respect KERNCONF or JOBS in /etc/make.conf
Scott Bennett skrev:> > On Sun, 11 Dec 2016 12:34:58 +0000 tech-lists <tech-lists at zyxst.net> > wrote: > >> I have found that make buildkernel/installkernel does not respect >> KERNCONF= variables. It also doesn't respect MAKE_JOBS_NUMBER. It *DOES* >> however respect WITH_CCACHE_BUILD. It's hard to say when the behaviour >> changed to what it is, but it was sometime around the time that >> 11-CURRENT became 11-STABLE. >> >> Sources are 11-STABLE r309795 >> >> Here is my /etc/make.conf, which used to work: >> >> MALLOC_PRODUCTION=yes >> WITH_CCACHE_BUILD=yes >> MAKE_JOBS_NUMBER=32 >> KERNCONF=PUMPKIN GENERIC >> WITH_MANCOMPRESS=YES >> WITHOUT_DEBUG=YES >> DEFAULT_VERSIONS+= ssl=libressl >> OPTIMIZED_CFLAGS=YES >> BUILD_OPTIMIZED=YES >> >> I used to be able to buildworld and kernel like this: >> >> root at localhost:/usr/src# make cleandir && make clean && make buildworld >> && make buildkernel && make installkernel && mergemaster -p >> >> and I'd get two installed kernels, PUMPKIN and GENERIC >> >> now I have to specify on the line: >> >> root at localhost:/usr/src# make cleandir && make clean && make -j32 >> buildworld && make -j32 buildkernel KERNCONF=PUMPKIN >> >> Also, I have to specify jobs # for both buildworld and buildkernel >> otherwise it just uses one, two or four cores. >> >> How can I get it to work like it did previously? >> > You may have misremembered how you did it previously. Try adding > > BUILDKERNELS=PUMPKIN GENERIC > > to your /etc/src.conf and removing the KERNCONF line from /etc/make.conf > before you run it again. KERNCONF goes on the "make buildkernel" command, > not into /etc/make.conf, but should not be necessary at all if /etc/src.conf > contains the list of kernels to be built. (See src.conf(5).)- BUILDKERNELS is used in Makefile.inc1 but not listed in neither src.conf(5) nor make.conf(5) - KERNCONF is listed in make.conf(5) - I use KERNCONF in /etc/make.conf to build two kernels and it works So why are you giving this advice? -- Herbert