Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Aug 2011 01:44:58 +0200
From:      Martin Matuska <mm@FreeBSD.org>
To:        Test Rat <ttsestt@gmail.com>
Cc:        freebsd-current@FreeBSD.org
Subject:   Re: makefs(8) & broken iso9660 images
Message-ID:  <4E4317FA.10508@FreeBSD.org>
In-Reply-To: <86d3gde2qg.fsf@gmail.com>
References:  <86d3gde2qg.fsf@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 10. 8. 2011 16:54, Test Rat wrote:
> A quick example
>
>   $ mkdir -p q/a q/b q/c q/d
>   $ touch q/a/foo.c q/b/foo.c q/c/foo.c q/d/foo.c
>
>   $ makefs -t cd9660 q.iso q
>   $ tar tf q.iso
>   .
>   A
>   B
>   A/FOO.C
>   B/FOO.C
>   C
>   D
>
>   $ mkisofs -quiet -o q.iso q
>   $ tar tf q.iso
>   .
>   A
>   B
>   C
>   D
>   D/FOO.C
>   C/FOO.C
>   B/FOO.C
>   A/FOO.C
>
>   $ makefs -t cd9660 inc.iso /usr/include
>   $ tar tvvf inc.iso
>   tar: Invalid location of extent of file
>   Archive Format: ISO9660,  Compression: none
>   tar: Error exit delayed from previous errors.
>
>   $ mkisofs -quiet -o inc.iso /usr/include
>   mkisofs: Symlink /usr/include/float.h ignored - continuing.
>   mkisofs: Symlink /usr/include/syslog.h ignored - continuing.
>   mkisofs: Symlink /usr/include/sched.h ignored - continuing.
>   [...]
>   $ tar tvvf inc.iso
>   drwx------  54 0      0       12288 Aug 10 15:26 .
>   drwx------  2 0      0        2048 Jun 14 01:40 NETATALK
>   [...]
>   -r--------  1 0      0        6324 Jun 14 01:40 GSSAPI/GSSAPI_K.H
>   Archive Format: ISO9660,  Compression: none
>
> And for more real example grab a bootonly image from allbsd.org though
> official BETA1 would suffice, too, and try to extract kernel e.g.
>
>   $ sha256 -q FreeBSD-9.0-HEAD-20110810-JPSNAP-bootonly.iso
>   9b8beabe007f88f85f3fc59dd1b40ce212132dde173e03d4a93d48a5477989a4
>
>   $ tar tf FreeBSD-9.0-HEAD-20110810-JPSNAP-bootonly.iso | fgrep -i kernel
>   [nothing]
>   $ mount -t cd9660 /dev/$(mdconfig -f FreeBSD-9.0-HEAD-20110810-JPSNAP-bootonly.iso) /media
>   $ ls -1 /media/boot/kernel
>   aac.ko
>   accf_data.ko
>   accf_dns.ko
>   accf_http.ko
>   acpi_asus.ko
>   acpi_dock.ko
>   acpi_fujitsu.ko
>   acpi_hp.ko
>   acpi_ibm.ko
>   acpi_panasonic.ko
>   ^C
>
> And the following is probably known but doesn't happen with 8.2-RELEASE image.
>
>   $ find /media/usr/include >/dev/null
>   find: /media/usr/include/c++/4.2/ext/pb_ds/detail/basic_tree_policy: Input/output error
>   find: /media/usr/include/c++/4.2/ext/pb_ds/detail/binary_heap_: Input/output error
>   find: /media/usr/include/c++/4.2/ext/pb_ds/detail/binomial_heap_: Input/output error
>   find: /media/usr/include/c++/4.2/ext/pb_ds/detail/binomial_heap_base_: Input/output error
>   find: /media/usr/include/c++/4.2/ext/pb_ds/detail/bin_search_tree_: Input/output error
>   find: /media/usr/include/c++/4.2/ext/pb_ds/detail/cc_hash_table_map_: Input/output error
>   find: /media/usr/include/c++/4.2/ext/pb_ds/detail/eq_fn: Input/output error
>   find: /media/usr/include/c++/4.2/ext/pb_ds/detail/gp_hash_table_map_: Input/output error
>   find: /media/usr/include/c++/4.2/ext/pb_ds/detail/hash_fn: Input/output error
>   find: /media/usr/include/c++/4.2/ext/pb_ds/detail/left_child_next_sibling_heap_: Input/output error
>   find: /media/usr/include/c++/4.2/ext/pb_ds/detail/list_update_map_: Input/output error
>   find: /media/usr/include/c++/4.2/ext/pb_ds/detail/list_update_policy: Input/output error
>   find: /media/usr/include/c++/4.2/ext/pb_ds/detail/ov_tree_map_: Input/output error
>   find: /media/usr/include/c++/4.2/ext/pb_ds/detail/pairing_heap_: Input/output error
>   find: /media/usr/include/c++/4.2/ext/pb_ds/detail/pat_trie_: Input/output error
>   find: /media/usr/include/c++/4.2/ext/pb_ds/detail/rb_tree_map_: Input/output error
>   find: /media/usr/include/c++/4.2/ext/pb_ds/detail/rc_binomial_heap_: Input/output error
>   find: /media/usr/include/c++/4.2/ext/pb_ds/detail/resize_policy: Input/output error
>   find: /media/usr/include/c++/4.2/ext/pb_ds/detail/splay_tree_: Input/output error
>   find: /media/usr/include/c++/4.2/ext/pb_ds/detail/thin_heap_: Input/output error
>   find: /media/usr/include/c++/4.2/ext/pb_ds/detail/tree_policy: Input/output error
>   find: /media/usr/include/c++/4.2/ext/pb_ds/detail/trie_policy: Input/output error
>   find: /media/usr/include/c++/4.2/ext/pb_ds/detail/unordered_iterator: Input/output error
>
> Am I alone in seeing this?
>
To resolve problems as quickly as possible, libarchive errors (tar)
should also be reported as issues to libarchive.googlecode.com, makefs
errors filed as NetBSD PR's.
The first two examples is libarchive with problems to read properly a
makefs-created ISO images.
The last example is bug completely fixed in r224762, going to be
commited to 8-stable and 7-stable soon.

-- 
Martin Matuska
FreeBSD committer
http://blog.vx.sk




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E4317FA.10508>