misc/68150: make installkernel fails when /usr is mounted read-only

Ruslan Ermilov ru at FreeBSD.org
Mon Jun 21 12:10:52 GMT 2004


The following reply was made to PR misc/68150; it has been noted by GNATS.

From: Ruslan Ermilov <ru at FreeBSD.org>
To: Eugene Grosbein <eugen at grosbein.pp.ru>
Cc: bug-followup at FreeBSD.org
Subject: Re: misc/68150: make installkernel fails when /usr is mounted read-only
Date: Mon, 21 Jun 2004 15:04:04 +0300

 On Mon, Jun 21, 2004 at 01:38:28AM +0800, Eugene Grosbein wrote:
 > 
 > make installkernel tries to write to /usr, it did not in 4.9-RELEASE.
 > The change occured in revision 1.416 (and MFC 1.141.2.66)
 > of src/Makefile.inc1. 
 > 
 > The installkernel target is distinct target, not just a part
 > of 'global system upgrade' and in my humble opinion there should
 > be a way to install a kernel from /usr/obj/... without
 > 'make hierarchy' overhead. Think of read-only /usr. Think of
 > installing a kernel over NFS. Think of very slow channels and
 > of amount of transfered data.
 > 
 > This change is some kind of regression.
 > 
 The change is here in the first place to aid those pour souls
 who ``mv /modules /modules.old'' before doing installkernel.
 ``make hierarchy'' just ensures that /modules exists.  Also,
 in 4.x, at least five modules install stuff under /usr/bin.
 
 > >Fix:
 > 
 > Make an option allowing to install a kernel only - especially
 > when MODULES_WITH_WORLD is defined.
 > 
 Would you be happy with the following change (for RELENG_4):
 
 %%%
 Index: Makefile.inc1
 ===================================================================
 RCS file: /home/ncvs/src/Makefile.inc1,v
 retrieving revision 1.141.2.67
 diff -u -p -u -r1.141.2.67 Makefile.inc1
 --- Makefile.inc1	16 Mar 2004 17:55:57 -0000	1.141.2.67
 +++ Makefile.inc1	21 Jun 2004 12:01:11 -0000
 @@ -508,11 +508,14 @@ buildkernel:
  # Install the kernel defined by INSTALLKERNEL
  #
  installkernel reinstallkernel:
 +.if !defined(MODULES_WITH_WORLD) && !defined(NO_MODULES) && exists(${KRNLSRCDIR}/modules)
 +	@echo
  	@echo "--------------------------------------------------------------"
  	@echo ">>> Making hierarchy"
  	@echo "--------------------------------------------------------------"
  	cd ${.CURDIR}; \
  	    ${CROSSENV} PATH=${TMPPATH} ${MAKE} -f Makefile.inc1 hierarchy
 +.endif
  	@echo
  	@echo "--------------------------------------------------------------"
  	@echo ">>> Installing kernel"
 %%%
 
 
 Cheers,
 -- 
 Ruslan Ermilov
 ru at FreeBSD.org
 FreeBSD committer


More information about the freebsd-bugs mailing list