Hi, after some confusion i found out that the endianness bug was fixed unnoticed a few weeks ago, when i implemented zisofs version 2. The current GNU xorriso development tarball has it already fixed. https://www.gnu.org/software/xorriso/xorriso-1.5.3.tar.gz
Anatoly Pugachev wrote: > copied (freshly generated) test.iso from x86_64 VM to ppc64 host: > [...] > works. In the light of my kernel code inspection it might be that the test file was too redundant and hides a problem. The other problem i see needs aligned 32 KiB chunks of zeros. This file should be compressible and sensitive to smaller glitches: dd if=/dev/urandom bs=1K count=161 | od -t x1 | \ sed -e 's/^[0-7]* //' -e 's/ //g' -e 's/.$//' | head -n -1 \ >/tmp/full_random Result: -rw-r--r-- 1 thomas thomas 329728 Nov 11 20:49 /tmp/full_random This file consists by half of aligned 32 KiB zero blocks: for i in {0..1} do dd if=/dev/urandom bs=1K count=16 | od -t x1 | \ sed -e 's/^[0-7]* //' -e 's/ //g' -e 's/.$//' | head -n -1 dd if=/dev/zero bs=64K count=1 dd if=/dev/urandom bs=1K count=16 | od -t x1 | \ sed -e 's/^[0-7]* //' -e 's/ //g' -e 's/.$//' | head -n -1 done 2>/dev/null >/tmp/half_sparse Result: -rw-r--r-- 1 thomas thomas 262144 Nov 11 20:49 /tmp/half_sparse On a little-endian machine or with xorriso-1.5.3 pack up test2.iso: xorriso -outdev /tmp/test2.iso \ -map /tmp/half_sparse /half_sparse \ -map /tmp/full_random /full_random \ -zisofs block_size=32k \ -set_filter_r --zisofs / -- \ -padding 0 -compliance no_emul_toc According to the higher information content the ISO is larger: -rw-r--r-- 1 thomas thomas 339968 Nov 11 20:50 /tmp/test2.iso On PAGE_SIZE <= 32 KiB i expect the MD5 sums to match: md5sum /tmp/half_sparse /mnt/iso/half_sparse md5sum /tmp/full_random /mnt/iso/full_random At least "half_sparse" should come out wrong on PAGE_SIZE >= 64 KiB. Have a nice day :) Thomas