GNU bug report logs -
#33639
ISO installer image is broken on i686
Previous Next
Reported by: Ludovic Courtès <ludo <at> gnu.org>
Date: Thu, 6 Dec 2018 00:04:02 UTC
Severity: serious
Merged with 35136
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #19 received at 33639 <at> debbugs.gnu.org (full text, mbox):
Hi,
> [ 215.199357] loop0: rw=524288, want=1903876, limit=1899264
This looks much like a truncated ISO image. (For what reason ever.)
There are at least 4612 blocks = ~ 9 MiB missing.
In the original message of https://issues.guix.info/issue/33639 the
the minimum missing size is about 5 MiB.
Please consider local reasons for truncated ISO images.
In the following i will concentrate on a potential program bug.
> [...] running Xorriso 1.5.0 built for i686 [...] I/O errors [...]
> Using the exact same build process for x86_64 leads to valid ISO images.
Well, this would explain why 1.5.0 passed a regression test on my 64 bit
system with repacking about 200 ISOs, mounting them, and comparing them
with the monted original ISOs.
I currently lack of opportunities to build 32 bit xorriso.
Is there such a damaged ISO available for download ?
How much effort would it be to create a Guix installation for building
xorriso, running your ISO production, and possibly running xorriso under
gdb ?
(Something for a run like
qemu-system-i386 \
-enable-kvm \
-nographic \
-m 512 \
-net nic \
-net user,hostfwd=tcp::5555-:22 \
-hda guix_on_qemu.img
with the opportunity to login from the host machine via SSH.
)
What do you get from this xorriso inspection run on a damaged ISO ?
(I tested it with the ISO from https://www.gnu.org/software/guix/download/):
xorriso -indev guixsd-install-0.15.0.i686-linux.iso \
-find / -sort_lba -exec report_lba -- \
>/tmp/xorriso_indev_find.txt 2>&1
In a preliminary test with
guixsd-install-0.15.0.i686-linux.iso
i get in /tmp/xorriso_indev_find.txt :
...
Media summary: 1 session, 454094 data blocks, 887m data, 384g free
...
Report layout: xt , Startlba , Blocks , Filesize , ISO image path
File data lba: 0 , 8527 , 1440 , 2949120 , '/efi.img'
... many other files ...
File data lba: 0 , 453781 , 122 , 249856 , '/var/guix/db/db.sqlite'
The ISO image file size is 929984512 bytes = 454094 blocks.
The image by its inner size counter also claims 454094 blocks.
The data file with the highest storage address ends before block
453781 + 122 = 453903.
That's 191 blocks before the image end. Padding and GPT backup follow.
(The data block size is 2048 bytes.)
So this image looks ok. Let's read all its files:
# mount guixsd-install-0.15.0.i686-linux.iso /mnt/iso
mount: /dev/loop0 is write-protected, mounting read-only
$ tar cf - /mnt/iso | wc
tar: Removing leading `/' from member names
7116387 35887498 1042391040
$
No i/o error.
Unrelated observation:
xorriso command -pvd_info reports that the ISO was made with xorriso-1.4.8
with
Creation Time: 1970010119010649
This means "1 Jan 1970 19:01:06". Something seems to be wrong with the
system clock of the producer machine.
Have a nice day :)
Thomas
This bug report was last modified 5 years and 161 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.