On 2011/11/21 at 02:10, Alexander Best <arun...@freebsd.org> wrote: > > On Sun Nov 20 11, Alexander Best wrote: >> On Sun Nov 20 11, Denise H. G. wrote: >> > >> > On 2011/11/19 at 19:24, Alexander Best <arun...@freebsd.org> 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). > > MYSTERY SOLVED! ;) > > install gets executed with the -p option, which implies the -C option. this > means that install will do a comparison of the installed kernel in > /boot/kernel > and the one in /usr/obj, before actually executing. during the first > installkernel invocation, the files differ, so install complains. during the > second invocation the files don't differ. that's why install succeeds, > although > "/" is mounted read-only. ;) >
Great. I used to explicitly alias 'install' to 'install -C' in /etc/make.conf, which seems to accelerate installation processes. > cheers. > alex > >> >> cheers. >> alex >> >> > >> > > >> > > cheers. >> > > alex >> > > ................ >> > >> > >> > >> > -- >> > If you've got them by the balls, >> > their hearts and minds will follow. > ................ -- The first page the author turns to upon receiving an advance copy will be the page containing the worst error. _______________________________________________ freebsd-toolchain@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"