Gerardo Exequiel Pozzi
2013-Nov-25 21:27 UTC
[syslinux] Sysinux 6 will not boot ISOs on BIOS (i.e. pre-UEFI) systems
On 11/25/2013 04:39 PM, Thomas Schmitt wrote:> Hi, > > Gerardo Exequiel Pozzi wrote: >> Looks like there is something beyond LBA 65535 (As Mattias confirmed) > > I wanted to ask him now, whether this was already with > version 6. > But meanwhile he reported that it was 5. > > >> I can push isolinux.bin (4.07) to a really high LBA address and boot >> without any issue. (Load LBA: 2048034 (0x001f4022)) ~4G > > This is riddling, given the statement of hpa that the > boot images are identical up to the point where Carl's > boot procedure fails. > There seems to be some loophole in the identity. > > Another possibility could be that not the whole address > range above 128 MB is poisonous, but only particular > intervals. > Gerardo: did you really try 4.07 with exactly the same boot > image LBA as 6.02 ?Yes, same LBA offset for isolinux.bin for 4.07 and 6.02. Indeed, I made I small modification to set and LBA offset for isolinux.bin ---- #!/bin/sh # LBA > 33, set LBA for isolinux.bin LBA=34 mkdir -p /tmp/test/isolinux cp ~/isolinux-6.02.bin /tmp/test/isolinux/isolinux.bin #cp ~/isolinux-4.07.bin /tmp/test/isolinux/isolinux.bin truncate -s $(((LBA-34)*2048)) /tmp/test/coco xorriso -as mkisofs \ -eltorito-boot isolinux/isolinux.bin \ -eltorito-catalog isolinux/boot.cat \ -no-emul-boot -boot-load-size 4 -boot-info-table \ --sort-weight -1 isolinux/isolinux.bin \ -output /tmp/test.iso \ /tmp/test/ dumpet -i /tmp/test.iso cdrecord -v -dev=5,0,0 -dao /tmp/test.iso ----> > I fail to imagine a way how the boot image size could make > a high LBA poisonous. But well, if the firmware is mad ...Firmware has more mysteries than the Universe!> > hpa: How much can we cut off a isolinux.bin so that the > early boot stage up to the problem still should work ? > If the first 12 blocks suffice, then Gerardo could make > a test with the same size as in SYSLINUX 4 (with expected > failure at some later stage). > > > Have a nice day :) > > Thomas > > _______________________________________________ > Syslinux mailing list > Submissions to Syslinux at zytor.com > Unsubscribe or set options at: > http://www.zytor.com/mailman/listinfo/syslinux > Please do not send private replies to mailing list traffic. > >-- Gerardo Exequiel Pozzi \cos^2\alpha + \sin^2\alpha = 1 -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 555 bytes Desc: OpenPGP digital signature URL: <http://www.zytor.com/pipermail/syslinux/attachments/20131125/abd96e66/attachment.sig>
Gerardo Exequiel Pozzi
2013-Nov-26 00:12 UTC
[syslinux] Sysinux 6 will not boot ISOs on BIOS (i.e. pre-UEFI) systems
On 11/25/2013 06:27 PM, Gerardo Exequiel Pozzi wrote:> On 11/25/2013 04:39 PM, Thomas Schmitt wrote: >> Hi, >> >> Gerardo Exequiel Pozzi wrote: >>> Looks like there is something beyond LBA 65535 (As Mattias confirmed) >> >> I wanted to ask him now, whether this was already with >> version 6. >> But meanwhile he reported that it was 5. >> >> >>> I can push isolinux.bin (4.07) to a really high LBA address and boot >>> without any issue. (Load LBA: 2048034 (0x001f4022)) ~4G >> >> This is riddling, given the statement of hpa that the >> boot images are identical up to the point where Carl's >> boot procedure fails. >> There seems to be some loophole in the identity. >> >> Another possibility could be that not the whole address >> range above 128 MB is poisonous, but only particular >> intervals. >> Gerardo: did you really try 4.07 with exactly the same boot >> image LBA as 6.02 ? > > Yes, same LBA offset for isolinux.bin for 4.07 and 6.02. > > Indeed, I made I small modification to set and LBA offset for isolinux.bin > > ---- > #!/bin/sh > > # LBA > 33, set LBA for isolinux.bin > LBA=34 > > mkdir -p /tmp/test/isolinux > cp ~/isolinux-6.02.bin /tmp/test/isolinux/isolinux.bin > #cp ~/isolinux-4.07.bin /tmp/test/isolinux/isolinux.bin > truncate -s $(((LBA-34)*2048)) /tmp/test/coco > xorriso -as mkisofs \ > -eltorito-boot isolinux/isolinux.bin \ > -eltorito-catalog isolinux/boot.cat \ > -no-emul-boot -boot-load-size 4 -boot-info-table \ > --sort-weight -1 isolinux/isolinux.bin \ > -output /tmp/test.iso \ > /tmp/test/ > dumpet -i /tmp/test.iso > cdrecord -v -dev=5,0,0 -dao /tmp/test.iso > ---- > >> >> I fail to imagine a way how the boot image size could make >> a high LBA poisonous. But well, if the firmware is mad ... > > Firmware has more mysteries than the Universe! > >> >> hpa: How much can we cut off a isolinux.bin so that the >> early boot stage up to the problem still should work ? >> If the first 12 blocks suffice, then Gerardo could make >> a test with the same size as in SYSLINUX 4 (with expected >> failure at some later stage). >>I made some more and more experiments beyond LBA 65535 Works: * isolinux-4.07.bin (size 24574) * isolinux-5.00.bin (size 34816) Does not work: * isolinux-5.01.bin (size 34816) * isolinux-5.10.bin (size 36864) * isolinux-6.00.bin (size 38912) * isolinux-6.02.bin (size 43008) * I just tested exactly at LBA 65535 (works all versions) and LBA 65536 (fails all versions > 5.00). I think we shold discard the hypotesis about file size, since 5.00 and 5.01 are the same size, but one works and other fails. So there is something between 5.00 and 5.01 within the code that make this issue on some crazy BIOS models. PS: I think the DVD-RW will begin to melt :D>> >> Have a nice day :) >>Thanks!>> Thomas >> >> _______________________________________________ >> Syslinux mailing list >> Submissions to Syslinux at zytor.com >> Unsubscribe or set options at: >> http://www.zytor.com/mailman/listinfo/syslinux >> Please do not send private replies to mailing list traffic. >> >> > > > > > _______________________________________________ > Syslinux mailing list > Submissions to Syslinux at zytor.com > Unsubscribe or set options at: > http://www.zytor.com/mailman/listinfo/syslinux > Please do not send private replies to mailing list traffic. >-- Gerardo Exequiel Pozzi \cos^2\alpha + \sin^2\alpha = 1 -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 555 bytes Desc: OpenPGP digital signature URL: <http://www.zytor.com/pipermail/syslinux/attachments/20131125/78318144/attachment.sig>
Gerardo Exequiel Pozzi
2013-Nov-26 01:37 UTC
[syslinux] Sysinux 6 will not boot ISOs on BIOS (i.e. pre-UEFI) systems
On 11/25/2013 09:12 PM, Gerardo Exequiel Pozzi wrote:> On 11/25/2013 06:27 PM, Gerardo Exequiel Pozzi wrote: >> On 11/25/2013 04:39 PM, Thomas Schmitt wrote: >>> Hi, >>> >>> Gerardo Exequiel Pozzi wrote: >>>> Looks like there is something beyond LBA 65535 (As Mattias confirmed) >>> >>> I wanted to ask him now, whether this was already with >>> version 6. >>> But meanwhile he reported that it was 5. >>> >>> >>>> I can push isolinux.bin (4.07) to a really high LBA address and boot >>>> without any issue. (Load LBA: 2048034 (0x001f4022)) ~4G >>> >>> This is riddling, given the statement of hpa that the >>> boot images are identical up to the point where Carl's >>> boot procedure fails. >>> There seems to be some loophole in the identity. >>> >>> Another possibility could be that not the whole address >>> range above 128 MB is poisonous, but only particular >>> intervals. >>> Gerardo: did you really try 4.07 with exactly the same boot >>> image LBA as 6.02 ? >> >> Yes, same LBA offset for isolinux.bin for 4.07 and 6.02. >> >> Indeed, I made I small modification to set and LBA offset for isolinux.bin >> >> ---- >> #!/bin/sh >> >> # LBA > 33, set LBA for isolinux.bin >> LBA=34 >> >> mkdir -p /tmp/test/isolinux >> cp ~/isolinux-6.02.bin /tmp/test/isolinux/isolinux.bin >> #cp ~/isolinux-4.07.bin /tmp/test/isolinux/isolinux.bin >> truncate -s $(((LBA-34)*2048)) /tmp/test/coco >> xorriso -as mkisofs \ >> -eltorito-boot isolinux/isolinux.bin \ >> -eltorito-catalog isolinux/boot.cat \ >> -no-emul-boot -boot-load-size 4 -boot-info-table \ >> --sort-weight -1 isolinux/isolinux.bin \ >> -output /tmp/test.iso \ >> /tmp/test/ >> dumpet -i /tmp/test.iso >> cdrecord -v -dev=5,0,0 -dao /tmp/test.iso >> ---- >> >>> >>> I fail to imagine a way how the boot image size could make >>> a high LBA poisonous. But well, if the firmware is mad ... >> >> Firmware has more mysteries than the Universe! >> >>> >>> hpa: How much can we cut off a isolinux.bin so that the >>> early boot stage up to the problem still should work ? >>> If the first 12 blocks suffice, then Gerardo could make >>> a test with the same size as in SYSLINUX 4 (with expected >>> failure at some later stage). >>> > > I made some more and more experiments beyond LBA 65535 > > Works: > * isolinux-4.07.bin (size 24574) > * isolinux-5.00.bin (size 34816) > > Does not work: > * isolinux-5.01.bin (size 34816) > * isolinux-5.10.bin (size 36864) > * isolinux-6.00.bin (size 38912) > * isolinux-6.02.bin (size 43008) > > * I just tested exactly at LBA 65535 (works all versions) and LBA 65536 > (fails all versions > 5.00). > > I think we shold discard the hypotesis about file size, since 5.00 and > 5.01 are the same size, but one works and other fails. So there is > something between 5.00 and 5.01 within the code that make this issue on > some crazy BIOS models. >OK I found the offending commit between 5.00 and 5.01, 17a36e2c (isolinux: Update LBA in getlinsec loop) [#1], reverting it against 6.02 fixes the issue. [#1] http://git.kernel.org/cgit/boot/syslinux/syslinux.git/commit/?id=17a36e2c91706512e6c425222c9a9a451d9db854 -- Gerardo Exequiel Pozzi \cos^2\alpha + \sin^2\alpha = 1 -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 555 bytes Desc: OpenPGP digital signature URL: <http://www.zytor.com/pipermail/syslinux/attachments/20131125/1a129b7a/attachment.sig>
H. Peter Anvin
2013-Nov-26 02:32 UTC
[syslinux] Sysinux 6 will not boot ISOs on BIOS (i.e. pre-UEFI) systems
On 11/25/2013 04:12 PM, Gerardo Exequiel Pozzi wrote:> > I made some more and more experiments beyond LBA 65535 > > Works: * isolinux-4.07.bin (size 24574) * isolinux-5.00.bin (size > 34816) > > Does not work: * isolinux-5.01.bin (size 34816) * isolinux-5.10.bin > (size 36864) * isolinux-6.00.bin (size 38912) * isolinux-6.02.bin > (size 43008) > > * I just tested exactly at LBA 65535 (works all versions) and LBA > 65536 (fails all versions > 5.00). >What the heck... there are just about zero plausible differences between 5.00 and 5.01. I'm wondering if 17a36e2c91706512e6c425222c9a9a451d9db854 could plausibly have anything to do with this, since that seems to be the only possible patch that might affect isolinux. Is there any way you could try 5.01-pre1 and 5.01-pre2? If -pre1 works and -pre2 doesn't, it is likely that the problem lies in that commit. -hpa
Reasonably Related Threads
- Sysinux 6 will not boot ISOs on BIOS (i.e. pre-UEFI) systems
- Sysinux 6 will not boot ISOs on BIOS (i.e. pre-UEFI) systems
- Sysinux 6 will not boot ISOs on BIOS (i.e. pre-UEFI) systems
- Sysinux 6 will not boot ISOs on BIOS (i.e. pre-UEFI) systems
- [5.xx-6.01] broken PXE with HTTP