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

Eugene Grosbein eugen at grosbein.pp.ru
Sun Jun 20 17:40:19 GMT 2004


>Number:         68150
>Category:       misc
>Synopsis:       make installkernel fails when /usr is mounted read-only
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jun 20 17:40:19 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Eugene Grosbein
>Release:        FreeBSD 4.10-STABLE i386
>Organization:
Svyaz Service JSC
>Environment:
System: FreeBSD grosbein.pp.ru 4.10-STABLE FreeBSD 4.10-STABLE #3: Mon Jun 21 01:10:56 KRAST 2004 eu at grosbein.pp.ru:/usr/local/obj/usr/local/src/sys/DADV i386

>Description:
	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.

>How-To-Repeat:

	With /usr mounted read-only:

# make installkernel
--------------------------------------------------------------
>Fix:

	Make an option allowing to install a kernel only - especially
	when MODULES_WITH_WORLD is defined.
>Release-Note:
>Audit-Trail:
>Unformatted:
 >>> Making hierarchy
 --------------------------------------------------------------
 cd /usr/local/src;  MAKEOBJDIRPREFIX=/usr/obj  MACHINE_ARCH=i386  MACHINE=i386  OBJFORMAT_PATH=/usr/obj/usr/local/src/i386/usr/libexec  GROFF_BIN_PATH=/usr/obj/usr/local/src/i386/usr/bin  GROFF_FONT_PATH=/usr/obj/usr/local/src/i386/usr/share/groff_font   GROFF_TMAC_PATH=/usr/obj/usr/local/src/i386/usr/share/tmac PERL5LIB=/usr/obj/usr/local/src/i386/usr/libdata/perl/5.00503 PATH=/usr/obj/usr/local/src/i386/usr/sbin:/usr/obj/usr/local/src/i386/usr/bin:/usr/obj/usr/local/src/i386/usr/games:/sbin:/bin:/usr/s bin:/usr/bin make -f Makefile.inc1 hierarchy
 cd /usr/local/src/etc;		make distrib-dirs
 set - `grep "^[a-zA-Z]" /usr/local/src/etc/locale.deprecated`;  while [ $# -gt 0 ] ;  do  for dir in /usr/share/locale  /usr/share/nls  /usr/local/share/nls;  do  test -d /${dir} && cd /${dir};  test -L "$2" && rm -rf "$2";  test \! -L "$1" && test -d "$ 1" && mv "$1" "$2";  done;  shift; shift;  done
 mtree -deU -f /usr/local/src/etc/mtree/BSD.root.dist -p /
 etc/X11 changed
 	type expected dir found link
 mtree -deU -f /usr/local/src/etc/mtree/BSD.var.dist -p /var
 tmp changed
 	type expected dir found link
 crash changed
 	type expected dir found link
 ./tmp/vi.recover missing (directory not created: File exists)
 mtree -deU -f /usr/local/src/etc/mtree/BSD.usr.dist -p /usr
 mtree -deU -f /usr/local/src/etc/mtree/BSD.include.dist  -p /usr/include
 mtree -deU -f /usr/local/src/etc/mtree/BSD.include.dist  -p /usr/libdata/perl/5.00503/mach
 mtree -deU -f /usr/local/src/etc/mtree/BSD.sendmail.dist -p /
 cd /; rm -f /sys; ln -s usr/src/sys sys
 cd /usr/share/man/en.ISO8859-1; ln -sf ../man* .
 ln: ./man1: Read-only file system
 ln: ./man1aout: Read-only file system
 ln: ./man2: Read-only file system
 ln: ./man3: Read-only file system
 ln: ./man4: Read-only file system
 ln: ./man5: Read-only file system
 ln: ./man6: Read-only file system
 ln: ./man7: Read-only file system
 ln: ./man8: Read-only file system
 ln: ./man9: Read-only file system
 ln: ./mann: Read-only file system
 *** Error code 1
 
 Stop in /usr/local/src/etc.
 *** Error code 1
 
 Stop in /usr/local/src.
 *** Error code 1
 
 Stop in /usr/local/src.
 *** Error code 1
 
 Stop in /usr/local/src.
 
 Script done on Mon Jun 21 01:19:28 2004
 


More information about the freebsd-bugs mailing list