I deleted /stand/, but I need it again for diskless boot...
Rob
spamrefuse at yahoo.com
Sun Oct 17 23:32:00 PDT 2004
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.
More information about the freebsd-current
mailing list