David Christensen
2017-Mar-18 04:51 UTC
[syslinux] "isolinux.bin missing or corrupt" when booting USB flash drive in old PC
syslinux at zytor.com: I have two older computers with Intel D865GBFLK motherboards (~2003) and Pentium 4 HT CPU's. They both have the latest available BIOS installed. I would like to put Debian on them. I have downloaded: http://cdimage.debian.org/debian-cd/current/i386/iso-cd/debian-8.7.1-i386-xfce-CD-1.iso When I put debian-8.7.1-i386-xfce-CD-1.iso on a CD-R, it boots correctly. When I put debian-8.7.1-i386-xfce-CD-1.iso on a USB flash drive and boot it, I see the following on the console: isolinux.bin missing or corrupt The same USB flash drive boots correctly in newer computers. Memtest86+ 5.01 on a USB flash drive boots correctly in the older computers: http://www.memtest.org/download/5.01/memtest86+-5.01.iso.gz My conclusion is that debian-8.7.1-i386-xfce-CD-1.iso, when put on a USB flash drive, is not compatible with the BIOS in the older computers. I have filed a Debian bug report, and have been advised to post here: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=857597 Please advise. TIA, David
Geert Stappers
2017-Mar-18 07:36 UTC
[syslinux] "isolinux.bin missing or corrupt" when booting USB flash drive in old PC
On Fri, Mar 17, 2017 at 09:51:52PM -0700, David Christensen via Syslinux wrote:> > I have two older computers with Intel D865GBFLK motherboards (~2003) > and Pentium 4 HT CPU's. They both have the latest available BIOS > installed. I would like to put Debian on them. > > When I put debian-8.7.1-i386-xfce-CD-1.iso on a CD-R, it boots correctly. >... tests with USB memory stick and memtest86 ...> > My conclusion is that debian-8.7.1-i386-xfce-CD-1.iso, when put on a > USB flash drive, is not compatible with the BIOS in the older > computers. > > > I have filed a Debian bug report, and have been advised to post here: > > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=857597 > > > Please advise.Choose for either running Debian on ~14 year old hardware installed by CD-R or booting from USB memory stick on the very same hardware. The path of finding out what makes USB memtest boot possible and translating it into making USB booting Debian Installer would be the more interresting one. My advise is to take the memtest.gz build process and replace the "memtest kernel" by the more regular kernel (plus initrd) of d-i. Groeten Geert Stappers -- Leven en laten leven
Thomas Schmitt
2017-Mar-18 07:58 UTC
[syslinux] Bug#857597: "isolinux.bin missing or corrupt" when booting USB flash drive in old PC
Hi, David Christensen wrote:> http://cdimage.debian.org/debian-cd/current/i386/iso-cd/debian-8.7.1-i386-xfce-CD-1.isoBackground info: This is an isohybrid made by xorriso, equivalent to a run of isohybrid --uefi There is a probably useless Apple Partition Map pointing to the UEFI System Partition. The whole UEFI aspect is to be ignored by a BIOS from 2003, i suppose. The block address pointer from MBR to isolinux.bin looks ok. Confirmed by xorriso analysis and by newer BIOSes which boot.> isolinux.bin missing or corruptSomehow the MBR code, when run on the old BIOS, seems not to like isolinux.bin and thus refuses to hop on it. If i get http://git.zytor.com/syslinux/syslinux.git/tree/mbr/isohdpfx.S#n201 right, then the error message is emitted if reading succeeds but does not yield the expected values in bytes 64 to 67, which serve as magic number to identify an isohybrid-ready El Torito boot image. (I could need a reference document for the assembler language in isohdpfx.S. Does anybody know a good one ?) Have a nice day :) Thomas
Ady Ady
2017-Mar-18 08:18 UTC
[syslinux] "isolinux.bin missing or corrupt" when booting USB flash drive in old PC
> syslinux at zytor.com: > > I have two older computers with Intel D865GBFLK motherboards (~2003) > and Pentium 4 HT CPU's. They both have the latest available BIOS > installed. I would like to put Debian on them. > > > I have downloaded: > > > http://cdimage.debian.org/debian-cd/current/i386/iso-cd/debian-8.7.1-i386-xfce-CD-1.iso > > > When I put debian-8.7.1-i386-xfce-CD-1.iso on a CD-R, it boots correctly. > > > When I put debian-8.7.1-i386-xfce-CD-1.iso on a USB flash drive and boot > it, I see the following on the console: > > isolinux.bin missing or corrupt > > > The same USB flash drive boots correctly in newer computers. > > > Memtest86+ 5.01 on a USB flash drive boots correctly in the older > computers: > > http://www.memtest.org/download/5.01/memtest86+-5.01.iso.gz > > > My conclusion is that debian-8.7.1-i386-xfce-CD-1.iso, when put on a USB > flash drive, is not compatible with the BIOS in the older computers. > > > I have filed a Debian bug report, and have been advised to post here: > > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=857597 > > > Please advise. > > > TIA, > > DavidSome of the things you should / could (re)test / (re)try: _ Verify the md5sum of the ISO image. _ Is this particular USB device _still_ capable of booting newer computers? What happens if you would try _again_ to boot a newer computer? If the error message is seen now (while it was booting OK before such newer systems), then it might be a sign that the USB device is now failing. _ Before executing dd in order to write the ISO image to the USB deice, verify that you UNmount the filesystem volumes located in the USB device. _ In the dd command, verify that you are _not_ using a partition as destination device but rather the whole device. For example, if the USB device is identified as '/dev/sdc' in your OS, then the dd command should _not_ include 'of=/dev/sdc1' but rather 'of=/dev/sdc'. _After executing the dd command, wait enough time before extracting the USB device. After the dd command has finished, sometimes using a 'sync' command is suggested before extracting the USB device. _ In the problematic computer(s), are there several USB ports? Have you tried using another USB port when booting with this device (USB ports in the front can frequently be a suspect, but not only those)? Is the USB device connected directly to the USB port? Or instead, is there some USB hub or similar device in between? _ Which type of USB device is this? Are you using a USB flash drive, a HDD connected by USB, or some kind of (SD) card connected by USB? _ With the USB device connected to (one of) the problematic computer(s), power up the system and get into the BIOS setup. In the BIOS setup screen(s), change the boot order in such way that the USB device is recognized as first boot device. Other devices such as CD-ROM and your local HDD should be listed after the USB device in the boot order (as second/third boot devices). Then save the BIOS settings and try booting with the USB device. _ If the BIOS setup includes some "fast (POST) boot" or "quick (POST) boot" (or similar) option, disable it. _ If the above changes in the BIOS setup are not enough for a successful boot with your USB device, then boot back into the BIOS setup screen(s) and change the way your USB is being detected at boot time. Sometimes a USB device in a specific computer cannot boot when it is detected as "USB-AUTO", but it can succeed when it is specifically selected as "USB-HDD", or as "USB-FLOPPY", or as "USB-ZIP'. This is usually selected when pressing a specific key during boot time and selecting a specific device type as boot device - the specific key (F1/F2/F12/DEL/ESC or some combination of keys) depends on your particular computer. _ Some older computers might not be able to detect "big" USB devices correctly. Using a USB flash drive of 1GB might succeed while a bigger one might fail. There are too many reasons for this behavior and thus, too many possible workarounds / solutions; trying a smaller USB device is just one of many. There are alternative ways to boot from USB devices, and they depend on how the ISO image was transferred onto the USB device. If you find that your current boot device cannot boot these old systems, then the "dd method" might not be a good choice for these old computers, but an alternative method might work. Considering that the other USB device (the one with memtest) is booting correctly, you might want to describe here how exactly you transferred memtest to this other USB device, and what is different from it in comparison to the one that is having problems. Regards, Ady. PS: I hope the OP is subscribed to the Syslinux Mailing List.> _______________________________________________ > Syslinux mailing list > Submissions to Syslinux at zytor.com > Unsubscribe or set options at: > http://www.zytor.com/mailman/listinfo/syslinux
David Christensen
2017-Mar-18 20:56 UTC
[syslinux] "isolinux.bin missing or corrupt" when booting USB flash drive in old PC
On 03/18/2017 01:18 AM, Ady Ady via Syslinux wrote:> Some of the things you should / could (re)test / (re)try: > > _ Verify the md5sum of the ISO image.SHA256 verified for downloaded image and for contents of USB flash drive (see below).> _ Is this particular USB device _still_ capable of booting newer > computers?Yes.> What happens if you would try _again_ to boot a newer computer?It boots.> If the error message is seen now (while it was booting OK before such > newer systems), then it might be a sign that the USB device is now > failing.The USB flash drive shows no indication of failure.> _ Before executing dd in order to write the ISO image to the USB > deice, verify that you UNmount the filesystem volumes located in the > USB device.My systems do not have automount enabled. I use this USB flash drive for bootable installer images; I do not attempt to mount it. I don't know that I could, even if I wanted to: 2017-03-18 13:02:01 root at cd2533 ~ # fdisk -l /dev/sdc WARNING: GPT (GUID Partition Table) detected on '/dev/sdc'! The util fdisk doesn't support GPT. Use GNU Parted. Disk /dev/sdc: 4004 MB, 4004511744 bytes 255 heads, 63 sectors/track, 486 cylinders, total 7821312 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 Disk identifier: 0x59f54072 Device Boot Start End Blocks Id System /dev/sdc1 * 0 1325055 662528 0 Empty /dev/sdc2 8524 9131 304 ef EFI (FAT-12/16/32) 2017-03-18 13:02:08 root at cd2533 ~ # parted /dev/sdc u s p Warning: /dev/sdc contains GPT signatures, indicating that it has a GPT table. However, it does not have a valid fake msdos partition table, as it should. Perhaps it was corrupted -- possibly by a program that doesn't understand GPT partition tables. Or perhaps you deleted the GPT table, and are now using an msdos partition table. Is this a GPT partition table? Yes/No? no 2017-03-18 13:02:20 root at cd2533 ~ # parted /dev/sdc u s p Warning: /dev/sdc contains GPT signatures, indicating that it has a GPT table. However, it does not have a valid fake msdos partition table, as it should. Perhaps it was corrupted -- possibly by a program that doesn't understand GPT partition tables. Or perhaps you deleted the GPT table, and are now using an msdos partition table. Is this a GPT partition table? Yes/No? yes Error: Both the primary and backup GPT tables are corrupt. Try making a fresh table, and using Parted's rescue feature to recover partitions. I assume dd will encounter a write error and exit if some file system on the USB flash drive is mounted when I attempt to burn the ISO file to the device (?).> _ In the dd command, verify that you are _not_ using a partition as > destination device but rather the whole device. For example, if the > USB device is identified as '/dev/sdc' in your OS, then the dd > command should _not_ include 'of=/dev/sdc1' but rather > 'of=/dev/sdc'. > > _After executing the dd command, wait enough time before extracting > the USB device. After the dd command has finished, sometimes using a > 'sync' command is suggested before extracting the USB device.Yes, I do those things. I burned the ISO to the USB flash drive again and documented the process: 2017-03-18 12:06:12 root at cd2533 ~ # dmesg | tail -n 15 [ 5659.928036] usb 1-2: new high-speed USB device number 8 using ehci_hcd [ 5660.060872] usb 1-2: New USB device found, idVendor=0781, idProduct=5575 [ 5660.060878] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 5660.060882] usb 1-2: Product: Cruzer Glide [ 5660.060885] usb 1-2: Manufacturer: SanDisk [ 5660.060889] usb 1-2: SerialNumber: <redacted> [ 5660.061955] scsi6 : usb-storage 1-2:1.0 [ 5661.067791] scsi 6:0:0:0: Direct-Access SanDisk Cruzer Glide 1.26 PQ: 0 ANSI: 5 [ 5661.070450] sd 6:0:0:0: Attached scsi generic sg3 type 0 [ 5661.076526] sd 6:0:0:0: [sdc] 7821312 512-byte logical blocks: (4.00 GB/3.72 GiB) [ 5661.084642] sd 6:0:0:0: [sdc] Write Protect is off [ 5661.084649] sd 6:0:0:0: [sdc] Mode Sense: 43 00 00 00 [ 5661.085390] sd 6:0:0:0: [sdc] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA [ 5661.115648] sdc: unknown partition table [ 5661.120771] sd 6:0:0:0: [sdc] Attached SCSI removable disk 2017-03-18 12:07:21 root at cd2533 ~ # time dd if=/dev/zero of=/dev/sdc bs=1M; sync :195,dd: writing `/dev/sdc': No space left on device 3820+0 records in 3819+0 records out 4004511744 bytes (4.0 GB) copied, 911.198 s, 4.4 MB/s real 15m11.204s user 0m0.000s sys 0m7.888s 2017-03-18 12:40:31 root at cd2533 ~ # cd /var/local/data/dpchrist/iso/debian/8.7.1/i386/ 2017-03-18 12:40:50 root at cd2533 /var/local/data/dpchrist/iso/debian/8.7.1/i386 # grep debian-8.7.1-i386-xfce-CD-1.iso SHA256SUMS a258af89540a64e6d16d6a546ec554a07ef0d46168d74bfc2073cc60d6a9ecde debian-8.7.1-i386-xfce-CD-1.iso 2017-03-18 12:41:06 root at cd2533 /var/local/data/dpchrist/iso/debian/8.7.1/i386 # ll debian-8.7.1-i386-xfce-CD-1.iso -rw-r--r-- 1 dpchrist dpchrist 678428672 2017/03/04 17:02:57 debian-8.7.1-i386-xfce-CD-1.iso 2017-03-18 12:41:30 root at cd2533 /var/local/data/dpchrist/iso/debian/8.7.1/i386 # sha256sum debian-8.7.1-i386-xfce-CD-1.iso a258af89540a64e6d16d6a546ec554a07ef0d46168d74bfc2073cc60d6a9ecde debian-8.7.1-i386-xfce-CD-1.iso 2017-03-18 12:41:54 root at cd2533 /var/local/data/dpchrist/iso/debian/8.7.1/i386 # time dd if=debian-8.7.1-i386-xfce-CD-1.iso of=/dev/sdc bs=1M; sync 647+0 records in 647+0 records out 678428672 bytes (678 MB) copied, 161.132 s, 4.2 MB/s real 2m41.135s> user 0m0.012s sys 0m1.640s 2017-03-18 12:51:52 root at cd2533 /var/local/data/dpchrist/iso/debian/8.7.1/i386 # time dd if=/dev/sdc bs=1M count=647 | sha256sum 647+0 records in 647+0 records out a258af89540a64e6d16d6a546ec554a07ef0d46168d74bfc2073cc60d6a9ecde - 678428672 bytes (678 MB) copied, 33.1367 s, 20.5 MB/s real 0m33.141s user 0m5.992s sys 0m1.948s The result is the same -- "isolinux.bin missing or corrupt" when booting USB flash drive in any USB port in an older PC, but USB flash drive boots fine in newer PC's.> _ In the problematic computer(s), are there several USB ports? Have > you tried using another USB port when booting with this device (USB > ports in the front can frequently be a suspect, but not only those)? >Same result for 4 rear ports and 2 front ports on old PC.> Is the USB device connected directly to the USB port?Yes.> Or instead, is there some USB hub or similar device in between?No.> _ Which type of USB device is this? Are you using a USB flash drive, > a HDD connected by USB, or some kind of (SD) card connected by USB?SanDisk Cruzer Glide 4 GB (USB flash drive).> _ With the USB device connected to (one of) the problematic > computer(s), power up the system and get into the BIOS setup. In the > BIOS setup screen(s), change the boot order in such way that the USB > device is recognized as first boot device. Other devices such as > CD-ROM and your local HDD should be listed after the USB device in > the boot order (as second/third boot devices). Then save the BIOS > settings and try booting with the USB device.I have adjusted the boot order in BIOS setup, but it is unnecessary -- the only other drive is a CD/DVD-RW drive, and it does not contain a disc. Furthermore, if the BIOS did not attempt to boot from the USB flash drive, I would not see the error message "isolinux.bin missing or corrupt".> _ If the BIOS setup includes some "fast (POST) boot" or "quick (POST) > boot" (or similar) option, disable it.Already done.> _ If the above changes in the BIOS setup are not enough for a > successful boot with your USB device, then boot back into the BIOS > setup screen(s) and change the way your USB is being detected at boot > time. Sometimes a USB device in a specific computer cannot boot when > it is detected as "USB-AUTO", but it can succeed when it is > specifically selected as "USB-HDD", or as "USB-FLOPPY", or as > "USB-ZIP'. This is usually selected when pressing a specific key > during boot time and selecting a specific device type as boot device > - the specific key (F1/F2/F12/DEL/ESC or some combination of keys) > depends on your particular computer.Advanced -> USB Configuration: - USB Function -- Enable or Disable. When disabled, the BIOS does not boot the USB flash drive. Therefore, this setting is, and must be, enabled. - High-Speed USB -- Enable or Disable. The problem is the same with either setting. - Legacy USB Support -- Enable or Disable. When disabled, the BIOS does not boot the USB flash drive. Therefore, this setting is, and must be, enabled. - USB 2.0 Legacy Support -- Full-Speed or High-Speed. The problem is the same with either setting.> _ Some older computers might not be able to detect "big" USB devices > correctly. Using a USB flash drive of 1GB might succeed while a > bigger one might fail. There are too many reasons for this behavior > and thus, too many possible workarounds / solutions; trying a smaller > USB device is just one of many.I have 128 MB and 4 GB USB flash drives, and nothing in between.> There are alternative ways to boot from USB devices, and they depend > on how the ISO image was transferred onto the USB device. If you find > that your current boot device cannot boot these old systems, then the > "dd method" might not be a good choice for these old computers, but > an alternative method might work. > > Considering that the other USB device (the one with memtest) is > booting correctly, you might want to describe here how exactly you > transferred memtest to this other USB device, and what is different > from it in comparison to the one that is having problems.The memtest USB flash drive was created using the same method as above. I also have a FreeBSD 11.0 i386 USB flash drive created using the same method as above, and it boots fine in the older computers. I need a debugging version of whatever program is generating the error message "isolinux.bin missing or corrupt". What binary and/or source packages do I need to install? What document do I need to read to create a debugging build of this program? What document do I need to read to build a hybrid ISO containing my debugging version of the program? David
Reasonably Related Threads
- "isolinux.bin missing or corrupt" when booting USB flash drive in old PC
- "isolinux.bin missing or corrupt" when booting USB flash drive in old PC
- "isolinux.bin missing or corrupt" when booting USB flash drive in old PC
- "isolinux.bin missing or corrupt" when booting USB flash drive in old PC
- "isolinux.bin missing or corrupt" when booting USB flash drive in old PC