Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Oct 2004 15:31:56 +0900
From:      Rob <spamrefuse@yahoo.com>
To:        Ryan Sommers <ryans@gamersimpact.com>, freebsd-current <freebsd-current@freebsd.org>
Subject:   Re: I deleted /stand/, but I need it again for diskless boot...
Message-ID:  <4173635C.5000304@yahoo.com>
In-Reply-To: <41734AFB.2040208@gamersimpact.com>
References:  <20041013172834.81984.qmail@web54008.mail.yahoo.com> <4172E340.20206@freebsd.org> <41731071.2030405@yahoo.com> <417346BB.3050609@freebsd.org> <41734AFB.2040208@gamersimpact.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Ryan Sommers wrote:
> Tim Kientzle wrote:
> 
>> Two things to check:
>>
>> 1) ldd /bin/pax
>>
>>    should show you what shared libraries are
>>    required by /bin/pax.  Make sure those are
>>    all available on the root partition.
>>
>> 2) From the ordinary command line, try
>>
>>      cat [[one of /conf/$i/*.cpio.gz]] | /rescue/gzip -d | /bin/pax
>>
>>    and check that /bin/pax is correctly
>>    recognizing the format of the archive.
>>
>> Of course, it's also worth trying the two changes
>> here (/rescue/gzip for /stand/gzip and /bin/pax
>> for /stand/cpio) separately, just to isolate
>> the problem.
> 
> I'll give you a better patch tomorrow to try. In the meantime, instead 
> of catting. Try using
> 
> ( cd / ; /rescue/gzip -d $j.cpio.gz | pax -r -p e )
> 
> I believe this works, if it doesn't try
> 
> ( cd / ; /rescue/gzip -d  < $j.cpio.gz | pax -r -p e )
> 
> Also, in order for pax to work it only needs /lib/libc.so.[56]. If 
> you're willing to try I also have a patch here in the works that moves

I'm willing to try just anything.
The problem is that I'm not familiar with the cpio and pax commands.

> With pax I noticed sometimes things don't get preserved unless you add 
> the "-p e", things like permissions and owners. Another thing, if you 
> created your archives with pax, I would recommend not using the old cpio 
> way of doing "find -d . | cpio -o >..." using this with pax will often 
> end up adding files multiple times, which isn't really a bug as much as 
> a feature gone amiss, instead add the -u flag to pax which boils down to 
> not including multiple copies of a file. This shouldn't be causing any 
> errors you are seeing but it's a possibility.

I don't understand this, mainly because I'm not familiar with cpio
and pax. At present I generate the var.cpio.gz and etc.cpio.gz,
as follows:

   find /etc -type f | cpio -o > /conf/base/etc.cpio
   find /var -type d | cpio -o > /conf/base/var.cpio
   gzip /conf/base/etc.cpio
   gzip /conf/base/var.cpio

Would you suggest to replace this by something like:

   find /etc -type f | pax -[what flags?] > /conf/base/etc.cpio
   find /var -type d | pax -[what flags?] > /conf/base/var.cpio
   gzip /conf/base/etc.cpio
   gzip /conf/base/var.cpio

What flags would you suggest here?

(then maybe also 's/cpio/pax/' here and in the initdiskless script)

Rob.




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