Re: HEADS UP: caution required with updates using custom kernels

From: Konstantin Belousov <kostikbel_at_gmail.com>
Date: Sat, 25 Jun 2016 18:26:45 +0300
On Sat, Jun 25, 2016 at 05:17:14PM +0200, O. Hartmann wrote:
> Am Sat, 25 Jun 2016 14:35:44 +0300
> Konstantin Belousov <kostikbel_at_gmail.com> schrieb:
> 
> > On Sat, Jun 25, 2016 at 01:18:06PM +0200, O. Hartmann wrote:
> > > Am Sat, 25 Jun 2016 10:02:38 +0300
> > > Konstantin Belousov <kostikbel_at_gmail.com> schrieb:
> > >   
> > > > On Fri, Jun 24, 2016 at 10:50:34PM +0000, Brooks Davis wrote:  
> > > > > pipe(2) had an unnecessarily odd calling convention (ignoring the
> > > > > argument the user thought they were passing and returning the two file
> > > > > descriptors via the two return registers).  This required machine
> > > > > dependent assembly for every target and special handling in tracing
> > > > > tools (ktrace, dtrace, etc).  On 64-bit platforms, pipe(2)'s
> > > > > implementation is the only reason the two-register return model needs to
> > > > > exist at all (on 32-bit platforms it allows off_t to be returned from
> > > > > lseek).    
> > > > getpid() is another instance.
> > > > _______________________________________________
> > > > freebsd-current_at_freebsd.org mailing list
> > > > https://lists.freebsd.org/mailman/listinfo/freebsd-current
> > > > To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"  
> > > 
> > > That all is a nice explanation, but how to recover from a broken system, on which the
> > > order of installation wasn't performed the right way?  
> > 
> > Copy the libc.so.7 binary from the build area to /lib manually, e.g. using
> > rescue shell.
> > _______________________________________________
> > freebsd-current_at_freebsd.org mailing list
> > https://lists.freebsd.org/mailman/listinfo/freebsd-current
> > To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
> 
> I did so, but there is no effect.
> 
> Whenever I try to build a kernel/world, I receive this from the shell:
> 
> root_at_localhost: [src] make update
> *** Signal 12
> 
> Stop.
> make: stopped in /usr/src
> .ERROR_TARGET='update'
> .ERROR_META_FILE=''
> .MAKE.LEVEL='0'
> MAKEFILE=''
> .MAKE.MODE='normal'
> .CURDIR='/usr/src'
> .MAKE='make'
> .OBJDIR='/usr/obj/usr/src'
> .TARGETS='update'
> DESTDIR=''
> LD_LIBRARY_PATH=''
> MACHINE='amd64'
> MACHINE_ARCH='amd64'
> MAKEOBJDIRPREFIX='/usr/obj'
> MAKESYSPATH='/usr/src/share/mk'
> MAKE_VERSION='20160606'
> PATH='/sbin:/bin:/usr/sbin:/usr/bin'
> SRCTOP='/usr/src'
> OBJTOP='/usr/obj/usr/src'
> 
> These two machines in question are victims "of the early adopter" - the warning came way
> too late! At work, I did the same update - but I did an installworld prior to the usual
> installkernel - and everything seems so far to work, even without COMAPT_FREEBSD10 in the
> kernel.
> 
> Is there a way to salvage the situation without relying on "customized" third party
> kernels? 
> 
> I usually use /bin/csh - so this might be of use.

You need either kernel with COMPAT_FREEBSD10, or simpler, newer libc.
You could take that libc anywhere, e.g. from the ALPHA5 binaries recently
uploaded.  There is no way to fix build with the combination of bits you
have at present self-hosting.
Received on Sat Jun 25 2016 - 13:26:50 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:06 UTC