Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Mar 2007 15:03:46 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        Kris Kennaway <kris@obsecurity.org>
Cc:        current@freebsd.org
Subject:   Re: Someone broke diskless booting
Message-ID:  <200703021503.46562.jhb@freebsd.org>
In-Reply-To: <20070302185930.GA30505@xor.obsecurity.org>
References:  <20070225233333.GA80065@xor.obsecurity.org> <20070302185930.GA30505@xor.obsecurity.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Friday 02 March 2007 13:59, Kris Kennaway wrote:
> It's not obvious to me how this happened, but binary searching narrows
> down the cause to the following commit:
> 
> jhb         2007-02-23 19:46:59 UTC
> 
>   FreeBSD src repository
> 
>   Modified files:
>     sys/kern             kern_linker.c
>   Log:
>   Drop the global kernel linker lock while executing the sysinit's for a
>   freshly-loaded kernel module.  To avoid various unload races, hide linker
>   files whose sysinit's are being run from userland so that they can't be
>   kldunloaded until after all the sysinit's have finished.
> 
>   Tested by:      gallatin
> 
>   Revision  Changes    Path
>   1.145     +21 -15    src/sys/kern/kern_linker.c
> 
> Kris
> 
> On Sun, Feb 25, 2007 at 06:33:33PM -0500, Kris Kennaway wrote:
> > Some time in the past week or so someone committed a change to the
> > kernel that broke diskless booting:
> > 
> > Trying to mount root from nfs:
> > fxp0: link state changed to UP
> > NFS ROOT: 69.147.83.43:/a/nfs/7.dir1
> > Interface fxp0 IP-Address 69.147.83.96 Broadcast 69.147.83.127
> > mdmfs: mdconfig (attach) exited with error code 1
> > cp: /etc/gss/mech: Read-only file system
> > cp: /etc/gss/qop: Read-only file system
> > cp: utimes: /etc/gss: Read-only file system
> > cp: /etc/ppp/ppp.conf: Read-only file system
> > ...
> > nfs server 69.147.83.43:/a/nfs/7.dir1: not responding
> > nfs server 69.147.83.43:/a/nfs/7.dir1: not responding
> > nfs server 69.147.83.43:/a/nfs/7.dir1: not responding
> > 
> > Kris
> > 

Do you have the later fix to kern/link_elf.c to mark the kernel as linked so 
modstat(2) and kldnext(2) work on the kernel again?  If mdconfig tries to see 
if 'device md' is in the kernel and fails if not, then it the fix to 
kern/link_elf.c should fix it.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200703021503.46562.jhb>