From owner-freebsd-toolchain@FreeBSD.ORG Sun Nov 20 12:28:02 2011 Return-Path: Delivered-To: freebsd-toolchain@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 1233) id 3BB42106564A; Sun, 20 Nov 2011 12:28:02 +0000 (UTC) Date: Sun, 20 Nov 2011 12:28:01 +0000 From: Alexander Best To: freebsd-toolchain@freebsd.org Message-ID: <20111120122801.GA51958@freebsd.org> References: <20111119112418.GA42980@freebsd.org> <8739djf77y.fsf@pluton.xbsd.name> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <8739djf77y.fsf@pluton.xbsd.name> Subject: Re: 'make installkernel' succeeding on read-only fs? X-BeenThere: freebsd-toolchain@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Maintenance of FreeBSD's integrated toolchain List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 20 Nov 2011 12:28:02 -0000 On Sun Nov 20 11, Denise H. G. wrote: > > On 2011/11/19 at 19:24, Alexander Best wrote: > > > > hi there, > > just stumbled upon this little detail: > > > > 1) have "/" mounted read-only > > 2) 'make buildkernel' > > 3) 'make installkernel && echo "success"' > > -> this will fail > > 4) 'mount -uw /' > > 5) 'make installkernel && echo "success"' > > -> this will succeed > > 6) 'mount -ur /' > > 7) 'make installkernel && echo "success"' > > -> this will succeed. why? > > According to mount(8), 'mount -ur /' will fail if / is already mounted > read-write with any files currently opened by some processes. I think > this might be your case. i'd don't think so: otaku% sudo mount -uw / otaku% echo $? 0 otaku% sudo mount -ur / otaku% echo $? 0 ...also 'mount -p' reports "/" to be read-only again. ...also during 7), mkdir(1) returns an error that "/" isn't writable. it's install(1) that claims the kernel was successfully installed into /boot/kernel, although installation of the kernel didn't succeed. i don't think this is an install(1) issue, since in 3), install(1) returns an error. i think in 7), install(1)'s output gets somehow redirected to /dev/null, and its return value isn't being preserved. i'll try to use 'mount -ufr /' in 6) and see, if that has any impact. also after 6) i'll try to run install(1) manually to see, whether it actually reports an error (then the build(7) facility is to blame) or not (in which case there's a problem with install(1) itself). cheers. alex > > > > > cheers. > > alex > > ................ > > > > -- > If you've got them by the balls, > their hearts and minds will follow.