Release ISO images have broken RockRidge data

Mark Saad nonesuch at longcount.org
Tue Apr 9 14:58:21 UTC 2013


On Tue, Apr 9, 2013 at 9:21 AM, Mark Saad <nonesuch at longcount.org> wrote:
>
>
> On Apr 9, 2013, at 7:00 AM, Eugene Grosbein <egrosbein at rdtc.ru> wrote:
>
>> Hi!
>>
>> Release ISO images located at ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/ISO-IMAGES/
>> were generated with mkisofs until switch to makefs. For example,
>> ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/ISO-IMAGES/8.2/FreeBSD-8.2-RELEASE-amd64-livefs.iso
>> was generated with mkisofs and has correct RockRidge extended attributes.
>>
>> # isoinfo -d -R -i FreeBSD-8.2-RELEASE-amd64-livefs.iso
>> System id: FreeBSD
>> Volume id: FreeBSD_LiveFS
>> Volume set id:
>> Publisher id: The FreeBSD Project.  http://www.freebsd.org/
>> Data preparer id:
>> Application id: MKISOFS ISO 9660/HFS FILESYSTEM BUILDER & CDRECORD CD-R/DVD CREATOR (C) 1993 E.YOUNGDALE (C) 1997 J.PEARSON/J.SCHILLING
>> Copyright File id:
>> Abstract File id:
>> Bibliographic File id:
>> Rock Ridge signatures version 1 found
>> Rock Ridge id 'RRIP_1991A'
>> Eltorito validation header:
>>    Hid 1
>>        Bootid 88 (bootable)
>>
>> This image may be unrolled correctly with respect to hardlinks using xorriso command from ports:
>>
>> # xorriso -for_backup -load volid \* -indev ../FreeBSD-8.2-RELEASE-amd64-livefs.iso  -osirrox on -- -extract / livefs -rollback_end
>>
>> Newer images (8.3 and later) were generated using makefs that seem to produce incorrect RockRidge data:
>>
>> # isoinfo -d -R -i FreeBSD-8.4-BETA1-amd64-livefs.iso | grep id
>> System id: NetBSD
>> Volume id: FREEBSD_LIVEFS
>> Volume set id:
>> Publisher id:
>> Data preparer id:
>> Application id:
>> Copyright File id:
>> Abstract File id:
>> Bibliographic File id:
>> Rock Ridge signatures version 1 found
>> Rock Ridge id 'IEEE_P1282'
>> Eltorito validation header:
>>    Hid 1
>>        Bootid 88 (bootable)
>>
>> Same xorriso command produces tons of following error messages and unrolls the image
>> without respect  to hardlinkg increasing size in nearly 3 times:
>>
>> libisofs: WARNING : Invalid TF entry
>> Caused by: Wrong or damaged RR entry
>>
>> bsdtar from 8.3-STABLE shows lots of errors too, while extracting FreeBSD-8.4-BETA1-amd64-livefs.iso
>> mdconfig breaks hardlinks too.
>>
>> Is it possible to unroll this image respecting hardlinks?
>>
>> Eugene Grosbein
>>
>
> While not the same you can always do this
>
> mdconfig -a -t vnode -f yourfreebsd-version.iso
>
> mount -t cd9660 /dev/md0 /cdrom
>
> Then use pax, cpio , cp, rsync etc to copy the data off the image .
>
> Also if memory serves me right libarchive may be able to unpack an iso much like a tar or cpio archive . Double check that .
>
> Also makefs was imported from netbsd I would see if netbsd's isos have the same issues .
>
> Hope this helps
> ---
> Mark saad | mark.saad at longcount.org
>

So I did some testing and NetBSD's isos, which are generated much the
same way as FreeBSD's , have the same issue .


# xorriso -for_backup -load volid \* -indev
../NetBSD-6.1_RC2-amd64.iso -osirrox on -- -extract / netbsd
-rollback_en
.......
libisofs: NOTE :  > Caused by: Wrong or damaged RR entry
libisofs: WARNING : Invalid TF entry
libisofs: NOTE :  > Caused by: Wrong or damaged RR entry
libisofs: WARNING : Invalid TF entry
libisofs: NOTE :  > Caused by: Wrong or damaged RR entry
xorriso : UPDATE : 2004 nodes read in 1 seconds
libisofs: WARNING : Found hidden El-Torito image. Its size could not
be figure out, so image modify or boot image patching may lead to bad
results.
xorriso : NOTE : Detected El-Torito boot information which currently
is set to be discarded
Drive current: -indev '../NetBSD-6.1_RC2-amd64.iso'
Media current: stdio file, overwriteable
Media status : is written , is appendable
Boot record  : El Torito
Media summary: 1 session, 169279 data blocks,  331m data,  194g free
Volume id    : 'NETBSD_61_RC2'
Copying of file objects from ISO image to disk filesystem is: Enabled
xorriso : UPDATE : 16 files restored ( 97911k) in 1 seconds , 63.7xD
xorriso : UPDATE : 22 files restored ( 173.5m) in 2 seconds , 52.2xD
xorriso : UPDATE : 30 files restored ( 252.6m) in 3 seconds , 53.3xD
xorriso : UPDATE : 458 files restored ( 297.2m) in 4 seconds , 33.8xD
xorriso : UPDATE : 1486 files restored ( 328.4m) in 5 seconds = 50.0xD
Extracted from ISO image: file '/'='/opt/home/XXXX/Storage/extract/netbsd'

Also for what its worth, tar does work at extracting an iso as well

# tar -zxvf ../FreeBSD-7.4-RELEASE-i386-disc1.iso -C out
x .
x 7.4-RELEASE
x 7.4-RELEASE/base
x 7.4-RELEASE/catpages
x 7.4-RELEASE/manpages
x 7.4-RELEASE/games
x 7.4-RELEASE/proflibs
x 7.4-RELEASE/dict
x 7.4-RELEASE/info
x 7.4-RELEASE/doc
x 7.4-RELEASE/kernels
x 7.4-RELEASE/ports
x 7.4-RELEASE/src
x floppies
x boot
x boot/zfs
x boot/firmware
x boot/kernel
x boot/modules
x boot/defaults
x packages
x packages/All
x packages/converters
x packages/devel
x packages/gnome
x packages/emulators
x packages/linux
......


So , what issues does this cause ? Have your filed a pr with FreeBSD or NetBSD ?


-- 
mark saad | nonesuch at longcount.org


More information about the freebsd-stable mailing list