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