From owner-freebsd-stable@FreeBSD.ORG Tue Apr 9 18:56:23 2013 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 8CC3F498 for ; Tue, 9 Apr 2013 18:56:23 +0000 (UTC) (envelope-from scdbackup@gmx.net) Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) by mx1.freebsd.org (Postfix) with ESMTP id 0FE562E4 for ; Tue, 9 Apr 2013 18:56:22 +0000 (UTC) Received: from mailout-de.gmx.net ([10.1.76.12]) by mrigmx.server.lan (mrigmx001) with ESMTP (Nemesis) id 0LcmGP-1UprjG34i7-00kBii for ; Tue, 09 Apr 2013 20:56:21 +0200 Received: (qmail invoked by alias); 09 Apr 2013 18:56:21 -0000 Received: from 165.126.46.212.adsl.ncore.de [212.46.126.165] by mail.gmx.net (mp012) with SMTP; 09 Apr 2013 20:56:21 +0200 X-Authenticated: #2145628 X-Provags-ID: V01U2FsdGVkX18uuuhQ+IMuauAsU0irBHECgAEqyyPF0gSUMc7THK n7BJwB7TnPCoko Date: Tue, 09 Apr 2013 20:56:07 +0200 From: "Thomas Schmitt" To: freebsd-stable@freebsd.org Subject: Re: Release ISO images have broken RockRidge data Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Message-Id: <26033633425787870041@scdbackup.webframe.org> X-Y-GMX-Trusted: 0 X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Apr 2013 18:56:23 -0000 Hi, thanks for flying xorriso. :)) I am its developer and came to this thread by googling, not by being subscribed here. Sorry for not having a message-id by which i could attach this mail to the thread. -------------------------------------------------------------------- >>> libisofs: WARNING : Invalid TF entry The image FreeBSD-8.4-BETA1-amd64-livefs.iso indeed has a Rock Ridge flaw: The TF entries announce in their FLAGS byte by value 0x07 that there are three timestamps. Each is supposed to have 7 bytes. 5 bytes of entry header and 21 bytes of timestamps would sum up to 26. But the length in LEN_TF is 0x19 = 25. The next entry "NM" begins where the last byte of the last timestamp should be: 00014370 : 00 00 00 00 54 46 19 01 07 71 03 14 05 00 1d 00 T F q 00014380 : 71 03 14 03 0d 10 00 71 03 14 04 3b 1a 4e 4d 09 q q ; N M The missing byte would tell the time zone of POSIX atime. (I should curb the number of error messages.) -------------------------------------------------------------------- >>> Is it possible to unroll this image respecting hardlinks? Theoretically yes. But xorriso will not do yet. The problem sits in the PX entries: Although the ER Extension Identifier is "IEEE_P1282" and thus indicates RRIP 1.12, the size of PX entries is 0x24 = 36 as with RRIP 1.10 rather than 44 as prescribed by RRIP 1.12. The missing bytes would host a 32 bit File Serial Number (inode number) (as usual with ISO 9660 recorded in both byte sexes). The PX entries of mkisofs have 44 bytes (although ER announces RRIP 1.10 by "RRIP_1991A") and thus have inode numbers. xorriso does restore hardlinks if enabled and if the PX entries contain File Serial Numbers. xorriso could try to deduce hardlink relations from the data content addresses. Same address and non-zero length would indicate hardlink relation between two file names. (Zero length files are often mapped to the same content address without being hardlinks.) -------------------------------------------------------------------- Related specs: SUSP 1.12 (entries CE , PD , SP , ST , ER , ES) ftp://ftp.ymi.com/pub/rockridge/susp112.ps RRIP 1.12 (entries PX , PN , SL , NM , CL , PL , RE , TF , SF) ftp://ftp.ymi.com/pub/rockridge/rrip112.ps ECMA-119 aka ISO 9660 http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-119.pdf -------------------------------------------------------------------- If FreeBSD is looking for a ISO 9660 + Rock Ridge generator: xorriso does this too. Bootable via El Torito, MBR, GPT, APM. I once tested https://wiki.freebsd.org/AvgLiveCD with xorriso -as mkisofs ...proposed.options... -------------------------------------------------------------------- Have a nice day :) Thomas