[syslinux] "isolinux.bin missing or corrupt" when booting USB flash drive in old PC

Thomas Schmitt scdbackup at gmx.net
Sat Mar 25 11:44:39 PDT 2017


Hi,

for some reason David always omits the Cc: to this list.

He has now reported to Martin and me the outcome of the latest two MBR
test proposals.

- His BIOS announces no LBA addressing but another extra feature.
  This lead to unexpected success in one of David's tests.

- The newest fix proposal by Martin is a full success !

  Distros which produce isohybrid should consider to already now offer
  it for download in case the ISO fails to boot from stick on old iron:
    http://www.ludd.ltu.se/~ams/tmp/isohdpfx.bin.170324
  The source patch is at the second half of
    http://www.syslinux.org/archives/2017-March/025706.html


---------------------------------------------------------------------
Details:

Martin Str|mberg wrote:
> > > <http://www.ludd.ltu.se/~ams/tmp/isodavid.tgz>
> > > * <CARRY>
> > > * AX
> > > * BX
> > > * CX
> > > * DX
> > > * I die now.

i wrote:
> > I place my bet on CX value 4. :))

David Christensen wrote:
> No carry.
> 3000
> AA55
> 0004
> 0080
> I die now

Hah ! CX announces no LBA addressing but Enhanced Disk Drive Support.
  https://en.wikipedia.org/wiki/INT_13H#INT_13h_AH.3D41h:_Check_Extensions_Present

So isohdpfc pushed CX = 4 onto the stack, because it skipped
    andw 1,%xc
So isolinux.bin read in "EHDD" mode by LBA and succeeded although it
did not announce this capability.

isohdpfd reached the "andw" instruction. So CX was set to (1 & 4) = 0
before it got pushed. So isolinux.bin read in "CHDD" mode by C/H/S and
thus ran into the stack sequence bug.


Martin:
> > > http://www.ludd.ltu.se/~ams/tmp/isohdpfx.bin.170324

David:
> the following flashes by near the top:
> ISOLINUX 6.03 20150819 CHDD Copyright (C) 1994-2014 H. Peter Anvin et al

Here we have C/H/S addressing in isolinux.bin, as expected.
I understand that loading and verifying the whole isolinux.bin has
already succeeded when the copyright message appears.


David:
> Then the Debian Installer runs. I choose "Install", there is delay of ~20
> seconds and then the next screen comes up.  Everything tests normally
> through the partitioning screen (when I stop testing)

Jubel ! \o/

No further obstacles on the way to a running Linux.

We can conclude that the BIOS is not mad but just overly modest.
It does not brag with its ability to use INT 13 AH 42 for LBA
addressing.


> It would be nice if the patch made it into Debian 8.8.

I will report at the Debian bug.

I am not sure whether we can convince Steve McIntyre to put a newly
created MBR into the installation ISOs by default. But at least the
fixed MBR should be offered for download and local application.
The necessary dd command is very similar to the one which one already
needs to put the ISO on stick.


Have a nice day :)

Thomas



More information about the Syslinux mailing list