Re: tail, tr: not found when booting

From: Florent Thoumie <flz_at_FreeBSD.org>
Date: Wed, 12 Apr 2006 16:33:09 +0100
On Wed, 2006-04-12 at 08:18 -0700, Brooks Davis wrote:
> On Wed, Apr 12, 2006 at 10:41:36AM -0400, John Baldwin wrote:
> > On Tuesday 11 April 2006 23:27, Rong-En Fan wrote:
> > > Hi,
> > > 
> > > I just upgraded my -currnet to today. I noticed that rc complains about
> > > tail and tr not found:
> > > 
> > > [...]
> > > Trying to mount root from ufs:/dev/ad0s3a
> > > start_init: trying /sbin/init
> > > tail: not found
> > > tr: not found
> > > Loading configuration files.
> > > kernel dumps on /dev/ad0s3b
> > > [...]
> > > 
> > > The following line in rc.subr looks suspicious
> > > 
> > > JID=`ps -p $$ -o jid | tail -1 | tr -d ' '`
> > > 
> > > They should be replaced by absolute name as the rest command in
> > > rc.subr. :-)
> > 
> > You don't have tail and tr in /usr/bin?  Hmm, I wonder if /usr is
> > mounted at that point, if not then rc.subr needs to be fixed.
> 
> You can't do anything with /usr this early.  This needs to be
> moved to _find_processes() where it's actually used.  I suspect it
> should also be converted to pure shell code.  I think this would work:
> 
> for ent in `ps -p $$ -o jid`; do
> 	JID=$ent 
> done

Oops, indeed. I've been over-confident thinking tr/tail were in /, and
testing stop/start obviously didn't help.

I can't think of another way to do this.

-- 
Florent Thoumie
flz_at_FreeBSD.org
FreeBSD Committer

Received on Wed Apr 12 2006 - 13:33:23 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:54 UTC