<div dir="ltr">I'm not sure what Elliot's goal is? I assume he's trying to extract a concatenated ramdisk, and I still see a problem in the current solution. <div><br></div><div>The buffer-format (<a href="https://www.kernel.org/doc/Documentation/early-userspace/buffer-format.txt" target="_blank" class="cremed">https://www.kernel.org/doc/Documentation/early-userspace/buffer-format.txt</a>) says:</div><div><br></div><div>  initramfs  := ("\0" | cpio_archive | cpio_gzip_archive)*<br><div><div><br></div><div>In other words, both `cat a.cpio b.cpio >merged.cpio` and `(cat a.cpio  && echo -n -e '\0\0\0' && cat b.cpio) >merged.cpio` are valid initramfs.</div><div><br></div><div>btw gen_init_cpio.c also pads initramfs to 512-byte boundary (<a href="https://github.com/torvalds/linux/blob/6fbd6cf85a3be127454a1ad58525a3adcf8612ab/usr/gen_init_cpio.c#L97" target="_blank" class="cremed">https://github.com/torvalds/linux/blob/6fbd6cf85a3be127454a1ad58525a3adcf8612ab/usr/gen_init_cpio.c#L97</a>)<br></div><div><br></div><div>If we're viewing buffer-format.txt as the "right" cpio spec, then I think we should implement this too. We should skip arbitrary extra NUL-bytes padded between cpio file frames</div><div><br></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Apr 16, 2021 at 2:27 PM Rob Landley <<a href="mailto:rob@landley.net" target="_blank">rob@landley.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 4/16/21 12:18 AM, Rob Landley wrote:<br>
> On 4/15/21 6:57 PM, Rob Landley wrote:<br>
>> On 4/15/21 12:06 PM, enh wrote:<br>
>>> do you already have the "do the right thing" patch ready, or should i send that<br>
>>> today?<br>
>><br>
>> I'm good, I'll try to get it in tonight. The hard part is the test suite, not<br>
>> the implementation.<br>
> <br>
> Correction: the hard part is I don't seem to have actually implemented hardlink<br>
> support yet. It just records/extracts them as separate files.<br>
> <br>
> Right. I need to test this against the kernel initramfs plumbing, in both<br>
> directions...<br>
<br>
     if (!strcmp("TRAILER!!!", name)) {<br>
+      readall(afd, toybuf, 348);<br>
<br>
Where did you get 348 from? (What is this change doing?)<br>
<br>
I did what seems like a minimal change to continue past TRAILER!!! but error on<br>
an empty archive, but I apparently don't understand what your change did? (I'm<br>
assuming it fixed the use case you were seeing...?)<br>
<br>
Rob<br>
_______________________________________________<br>
Toybox mailing list<br>
<a href="mailto:Toybox@lists.landley.net" target="_blank">Toybox@lists.landley.net</a><br>
<a href="http://lists.landley.net/listinfo.cgi/toybox-landley.net" rel="noreferrer" target="_blank">http://lists.landley.net/listinfo.cgi/toybox-landley.net</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><table width="90%" border="0" cellspacing="0" cellpadding="0" style="margin:0px;padding:0px;font-family:"Times New Roman";max-width:348px"><tbody style="margin:0px;padding:0px"><tr style="margin:0px;padding:0px"><td style="padding:0px"><table border="0" cellspacing="0" cellpadding="0" style="margin:0px;padding:20px 0px 0px"><tbody style="margin:0px;padding:0px"><tr style="margin:0px;padding:0px"><td valign="top" style="padding:0px 20px 0px 0px;vertical-align:top;border-right:1px solid rgb(213,213,213)"><img src="https://i.imgur.com/eGpkLls.png" width="200" height="64"><br></td><td style="padding:0px 0px 0px 20px"><table border="0" cellspacing="0" cellpadding="0" style="margin:0px;padding:0px"><tbody style="margin:0px;padding:0px"><tr style="margin:0px;padding:0px"><td colspan="2" style="font-family:Arial,Helvetica,Verdana,sans-serif;padding:1px 0px 5px;font-size:13px;line-height:13px;color:rgb(56,58,53);font-weight:700">Yi-yo Chiang</td></tr><tr style="margin:0px;padding:0px"><td colspan="2" style="font-family:Arial,Helvetica,Verdana,sans-serif;padding:0px 0px 5px;font-size:11px;line-height:13px;color:rgb(56,58,53)">Software Engineer</td></tr><tr style="margin:0px;padding:0px"><td colspan="2" style="font-family:Arial,Helvetica,Verdana,sans-serif;padding:0px 0px 5px;font-size:11px;line-height:13px;color:rgb(56,58,53)"><a href="mailto:yochiang@google.com" target="_blank">yochiang@google.com</a></td></tr><tr style="margin:0px;padding:0px"><td colspan="2" style="font-family:Arial,Helvetica,Verdana,sans-serif;padding:0px 0px 3px;font-size:11px;line-height:13px;color:rgb(3,112,248)"></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></div></div>