makefs(8) & broken iso9660 images

From: Test Rat <ttsestt_at_gmail.com>
Date: Wed, 10 Aug 2011 18:54:31 +0400
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
Received on Wed Aug 10 2011 - 12:54:54 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:16 UTC