[syslinux] "isolinux.bin missing or corrupt" when booting USB flash drive in old PC
David Christensen
dpchrist at holgerdanske.com
Tue Mar 21 14:22:15 PDT 2017
On 03/21/2017 01:41 AM, Thomas Schmitt via Syslinux wrote:
> Hi,
>
> i have uploaded a little gz compressed tarball
>
> http://scdbackup.webframe.org/block_seq.tgz
>
> containing
>
> -rwxr-xr-x thomas/thomas 4552 2017-03-21 09:23 block_seq
> -rw-r--r-- thomas/thomas 315 2017-03-21 09:22 block_seq.c
>
> To be unpacked in a suitable directory by
>
> tar xvzf block_seq.tgz
>
> The binary "block_seq" was compiled on Debian Jessie.
> If it does not run, do
>
> cc -o block_seq block_seq.c
>
> to get a locally compiled binary.
Build your code:
2017-03-21 12:31:07 dpchrist at hd-tracy ~
$ cat /etc/debian_version
8.7
2017-03-21 12:33:27 dpchrist at hd-tracy ~
$ uname -a
Linux hd-tracy 3.16.0-4-686-pae #1 SMP Debian 3.16.39-1+deb8u2
(2017-03-07) i686 GNU/Linux
2017-03-21 12:33:29 dpchrist at hd-tracy ~
$ cd sandbox/syslinux/thomas-schmitt/block_seq-20170321-0141/
2017-03-21 12:34:01 dpchrist at hd-tracy
~/sandbox/syslinux/thomas-schmitt/block_seq-20170321-0141
$ cat block_seq.c
/*
cc -o block_seq block_seq.c
*/
#include <unistd.h>
int main()
{
int ret;
unsigned int i, j, k;
char buf[512];
for(i= 0; ; i++) {
for(j= 0; j < 128; j++)
for(k= 0; k < 4; k++)
buf[4 * j + k]= (i >> (24 - 8 * k)) & 0xff;
ret= write(1, buf, 512);
if(ret != 512)
break;
}
return 0;
}
2017-03-21 12:34:23 dpchrist at hd-tracy
~/sandbox/syslinux/thomas-schmitt/block_seq-20170321-0141
$ cc -o block_seq block_seq.c
2017-03-21 12:34:53 dpchrist at hd-tracy
~/sandbox/syslinux/thomas-schmitt/block_seq-20170321-0141
$ ./block_seq | dd count=4 2>/dev/null | hexdump -C
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|................|
*
00000200 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01
|................|
*
00000400 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02
|................|
*
00000600 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03
|................|
*
00000800
> When Martin posted his MBR binary, the test stick shall be composed by:
>
> dd if=martins_mbr.bin bs=1 count=432 of=/dev/sdc
>
> dd if=debian-8.7.1-i386-xfce-CD-1.iso bs=1 count=80 seek=432 of=/dev/sdc
>
> ./block_seq | dd bs=512 skip=1 count=1325055 seek=1 of=/dev/sdc
>
> You will have to copy the screen output by hand or by photo camera.
> The hopefully lengish hex output of the block content can be truncated
> to 4 bytes, if all groups of 4 bytes are the same. If you see a change
> in the 4 byte pattern in the reported text, then all different groups
> of 4 bytes are of interest.
Build Martin's code:
2017-03-21 12:38:11 dpchrist at hd-tracy ~
$ mkdir src/syslinux
2017-03-21 12:38:16 dpchrist at hd-tracy ~
$ cd src/syslinux/
2017-03-21 12:38:19 dpchrist at hd-tracy ~/src/syslinux
$ apt-get source syslinux
2017-03-21 12:50:05 dpchrist at hd-tracy ~/src/syslinux
$ cp -rp syslinux-6.03+dfsg/ syslinux-6.03+dfsg+dpchrist
2017-03-21 12:51:51 dpchrist at hd-tracy ~/src/syslinux
$ cd syslinux-6.03+dfsg+dpchrist/
2017-03-21 12:59:04 dpchrist at hd-tracy
~/src/syslinux/syslinux-6.03+dfsg+dpchrist
$ perl -pi -e 's/(^all:.+)\\/$1martins_mbr.bin \\/' mbr/Makefile
2017-03-21 13:09:41 dpchrist at hd-tracy
~/src/syslinux/syslinux-6.03+dfsg+dpchrist
$ wget http://www.syslinux.org/archives/2017-March/025658.html -O - |
tail -n 388 | head -n 362 | perl -p -e 's/\"/"/g' | perl -p -e
's/</</g' | perl -p -e 's/\>/>/g' > mbr/martins_mbr.S
2017-03-21 13:18:36 dpchrist at hd-tracy
~/src/syslinux/syslinux-6.03+dfsg+dpchrist
$ perl -pi -e 's/(isohdp\[fp\]x)/($1|martins_mbr)/' mbr/checksize.pl
2017-03-21 13:33:55 dpchrist at hd-tracy
~/src/syslinux/syslinux-6.03+dfsg+dpchrist
$ make
...
2017-03-21 13:35:26 dpchrist at hd-tracy
~/src/syslinux/syslinux-6.03+dfsg+dpchrist
$ ll bios/mbr/martins_mbr.bin
-rw-r--r-- 1 dpchrist dpchrist 432 2017/03/21 13:28:30
bios/mbr/martins_mbr.bin
2017-03-21 13:44:54 dpchrist at hd-tracy
~/src/syslinux/syslinux-6.03+dfsg+dpchrist
$ hexdump -C bios/mbr/martins_mbr.bin
00000000 33 ed fa 8e d5 bc 00 7c fb fc 66 31 db 66 31 c9
|3......|..f1.f1.|
00000010 66 53 66 51 06 57 8e dd 8e c5 52 be 00 7c bf 00
|fSfQ.W....R..|..|
00000020 06 b9 00 01 f3 a5 ea 2b 06 00 00 52 b4 41 bb aa
|.......+...R.A..|
00000030 55 31 c9 30 f6 f9 cd 13 72 1d 81 fb 55 aa 75 17
|U1.0....r...U.u.|
00000040 83 e1 01 74 12 66 c7 06 0d 07 b4 42 eb 15 56 e8
|...t.f.....B..V.|
00000050 26 01 45 0d 0a eb 07 56 e8 1d 01 43 0d 0a 5e 5a
|&.E....V...C..^Z|
00000060 51 b4 08 cd 13 83 e1 3f 5b 51 0f b6 c6 40 50 f7
|Q......?[Q... at P.|
00000070 e1 53 52 50 bb 00 7c b9 04 00 66 a1 b0 07 e8 71
|.SRP..|...f....q|
00000080 00 0f 82 ad 00 66 40 80 c7 02 e2 f2 60 bf 00 7c
|.....f at .....`..||
00000090 ba 10 00 b9 10 00 8a 05 47 e8 c6 00 e2 f8 e8 d7
|........G.......|
000000a0 00 0d 0a 4a 75 ed e8 cf 00 4b 65 79 3f 0d 0a 31
|...Ju....Key?..1|
000000b0 c0 cd 16 61 66 81 3e 40 7c fb c0 78 70 75 09 fa
|...af.>@|..xpu..|
000000c0 bc ec 7b ea 44 7c 00 00 e8 ad 00 69 73 6f 6c 69
|..{.D|.....isoli|
000000d0 6e 75 78 2e 62 69 6e 20 6d 69 73 73 69 6e 67 20 |nux.bin
missing |
000000e0 6f 72 20 63 6f 72 72 75 70 74 2e 0d 0a cd 18 f4 |or
corrupt......|
000000f0 eb fd 66 60 66 31 d2 66 03 06 f8 7b 66 13 16 fc
|..f`f1.f...{f...|
00000100 7b 66 52 66 50 06 53 6a 01 6a 10 89 e6 66 f7 36
|{fRfP.Sj.j...f.6|
00000110 e8 7b c0 e4 06 88 e1 88 c5 92 f6 36 ee 7b 88 c6
|.{.........6.{..|
00000120 08 e1 41 b8 01 02 8a 16 f2 7b cd 13 8d 64 10 66
|..A......{...d.f|
00000130 61 c3 e8 43 00 4f 70 65 72 61 74 69 6e 67 20 73
|a..C.Operating s|
00000140 79 73 74 65 6d 20 6c 6f 61 64 20 65 72 72 6f 72 |ystem load
error|
00000150 2e 0d 0a eb 98 53 b4 0e 8a 3e 62 04 b3 07 cd 10
|.....S...>b.....|
00000160 5b c3 50 c0 e8 04 e8 01 00 58 24 0f 3c 09 76 02
|[.P......X$.<.v.|
00000170 04 07 04 30 e8 de ff c3 5e 55 50 53 ac e8 d5 ff
|...0....^UPS....|
00000180 3c 0a 75 f8 5b 58 5d 56 c3 00 00 00 00 00 00 00
|<.u.[X]V........|
00000190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|................|
*
000001b0
Build the USB stick:
2017-03-21 13:44:13 root at hd-tracy ~
#
/home/dpchrist/sandbox/syslinux/thomas-schmitt/block_seq-20170321-0141/block_seq
| dd iflag=fullblock bs=1M count=647 of=/dev/sdb
647+0 records in
647+0 records out
678428672 bytes (678 MB) copied, 133.741 s, 5.1 MB/s
2017-03-21 13:47:30 root at hd-tracy ~
# dd if=/dev/sdb count=4 2>/dev/null | hexdump -C
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|................|
*
00000200 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01
|................|
*
00000400 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02
|................|
*
00000600 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03
|................|
*
00000800
2017-03-21 13:47:41 root at hd-tracy ~
# dd
if=/home/dpchrist/src/syslinux/syslinux-6.03+dfsg+dpchrist/bios/mbr/martins_mbr.bin
of=/dev/sdb
0+1 records in
0+1 records out
432 bytes (432 B) copied, 0.00657437 s, 65.7 kB/s
2017-03-21 14:07:23 root at hd-tracy ~
# dd
if=/mnt/samba/data/dpchrist/iso/debian/8.7.1/i386/debian-8.7.1-i386-xfce-CD-1.iso
bs=1 count=80 skip=432 of=/dev/sdb seek=432
80+0 records in
80+0 records out
80 bytes (80 B) copied, 0.0361075 s, 2.2 kB/s
2017-03-21 14:09:04 root at hd-tracy ~
# dd if=/dev/sdb count=1 2>/dev/null | hexdump -C
00000000 33 ed fa 8e d5 bc 00 7c fb fc 66 31 db 66 31 c9
|3......|..f1.f1.|
00000010 66 53 66 51 06 57 8e dd 8e c5 52 be 00 7c bf 00
|fSfQ.W....R..|..|
00000020 06 b9 00 01 f3 a5 ea 2b 06 00 00 52 b4 41 bb aa
|.......+...R.A..|
00000030 55 31 c9 30 f6 f9 cd 13 72 1d 81 fb 55 aa 75 17
|U1.0....r...U.u.|
00000040 83 e1 01 74 12 66 c7 06 0d 07 b4 42 eb 15 56 e8
|...t.f.....B..V.|
00000050 26 01 45 0d 0a eb 07 56 e8 1d 01 43 0d 0a 5e 5a
|&.E....V...C..^Z|
00000060 51 b4 08 cd 13 83 e1 3f 5b 51 0f b6 c6 40 50 f7
|Q......?[Q... at P.|
00000070 e1 53 52 50 bb 00 7c b9 04 00 66 a1 b0 07 e8 71
|.SRP..|...f....q|
00000080 00 0f 82 ad 00 66 40 80 c7 02 e2 f2 60 bf 00 7c
|.....f at .....`..||
00000090 ba 10 00 b9 10 00 8a 05 47 e8 c6 00 e2 f8 e8 d7
|........G.......|
000000a0 00 0d 0a 4a 75 ed e8 cf 00 4b 65 79 3f 0d 0a 31
|...Ju....Key?..1|
000000b0 c0 cd 16 61 66 81 3e 40 7c fb c0 78 70 75 09 fa
|...af.>@|..xpu..|
000000c0 bc ec 7b ea 44 7c 00 00 e8 ad 00 69 73 6f 6c 69
|..{.D|.....isoli|
000000d0 6e 75 78 2e 62 69 6e 20 6d 69 73 73 69 6e 67 20 |nux.bin
missing |
000000e0 6f 72 20 63 6f 72 72 75 70 74 2e 0d 0a cd 18 f4 |or
corrupt......|
000000f0 eb fd 66 60 66 31 d2 66 03 06 f8 7b 66 13 16 fc
|..f`f1.f...{f...|
00000100 7b 66 52 66 50 06 53 6a 01 6a 10 89 e6 66 f7 36
|{fRfP.Sj.j...f.6|
00000110 e8 7b c0 e4 06 88 e1 88 c5 92 f6 36 ee 7b 88 c6
|.{.........6.{..|
00000120 08 e1 41 b8 01 02 8a 16 f2 7b cd 13 8d 64 10 66
|..A......{...d.f|
00000130 61 c3 e8 43 00 4f 70 65 72 61 74 69 6e 67 20 73
|a..C.Operating s|
00000140 79 73 74 65 6d 20 6c 6f 61 64 20 65 72 72 6f 72 |ystem load
error|
00000150 2e 0d 0a eb 98 53 b4 0e 8a 3e 62 04 b3 07 cd 10
|.....S...>b.....|
00000160 5b c3 50 c0 e8 04 e8 01 00 58 24 0f 3c 09 76 02
|[.P......X$.<.v.|
00000170 04 07 04 30 e8 de ff c3 5e 55 50 53 ac e8 d5 ff
|...0....^UPS....|
00000180 3c 0a 75 f8 5b 58 5d 56 c3 00 00 00 00 00 00 00
|<.u.[X]V........|
00000190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|................|
*
000001b0 fc 20 00 00 00 00 00 00 72 40 f5 59 00 00 80 00 |.
......r at .Y....|
000001c0 01 00 00 3f a0 86 00 00 00 00 00 38 14 00 00 fe
|...?.......8....|
000001d0 ff ff ef fe ff ff 4c 21 00 00 60 02 00 00 00 00
|......L!..`.....|
000001e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|................|
000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa
|..............U.|
00000200
2017-03-21 14:09:10 root at hd-tracy ~
# fdisk -l /dev/sdb
Disk /dev/sdb: 3.6 GiB, 3887595520 bytes, 7592960 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x59f54072
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 0 1325055 1325056 647M 0 Empty
/dev/sdb2 8524 9131 608 304K ef EFI (FAT-12/16/32)
Boot the USB flash drive in computer with Intel D865GBFLK motherboard
and Intel Pentium 4 3.4E GHz processor:
C
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
Key?
If I press the 'a' key, I see:
isolinux.bin missing or corrupt
Reboot and Select proper Boot device
or Insert Boot Media in selected Boot device
David
More information about the Syslinux
mailing list