Re: I deleted /stand/, but I need it again for diskless boot...

From: Rob <spamrefuse_at_yahoo.com>
Date: Mon, 18 Oct 2004 15:31:56 +0900
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.
Received on Mon Oct 18 2004 - 04:32:00 UTC

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