makefs(8) & broken iso9660 images
Test Rat
ttsestt at gmail.com
Wed Aug 10 14:54:54 UTC 2011
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?
--
FreeBSD 9.0-BETA1 r224746M amd64, clang-built
More information about the freebsd-current
mailing list