[arch-releng] [PATCH] [archiso] Workaround broken BIOS for ISOLINUX

Gerardo Exequiel Pozzi vmlinuz386 at yahoo.com.ar
Tue Nov 26 10:05:28 EST 2013


On 11/25/2013 05:41 PM, Gerardo Exequiel Pozzi wrote:
> Avoiding different issues like instant reboot or error messages.
> 
> This ensure that isolinux.bin is located on the most low extent possible
> (LBA 34) just after boot.cat (LBA 33).
> 
> Directory listing of /ISOLINUX/
> d---------   0    0    0       2048 Nov 25 2013 [     21 02] .
> d---------   0    0    0       2048 Nov 25 2013 [     19 02] ..
> ----------   0    0    0       2048 Nov 25 2013 [     33 00] BOOT.CAT;1
> ----------   0    0    0      38912 Nov 25 2013 [     34 00] ISOLINUX.BIN;1
> 
> More details at http://www.syslinux.org/archives/2013-November/021169.html
> 
> Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386 at yahoo.com.ar>
> ---
>  archiso/mkarchiso | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/archiso/mkarchiso b/archiso/mkarchiso
> index 9655167..434ca1f 100755
> --- a/archiso/mkarchiso
> +++ b/archiso/mkarchiso
> @@ -409,6 +409,7 @@ command_iso () {
>              -no-emul-boot -boot-load-size 4 -boot-info-table \
>              -isohybrid-mbr ${work_dir}/iso/isolinux/isohdpfx.bin \
>              ${_iso_efi_boot_args} \
> +            --sort-weight 1 isolinux/isolinux.bin \
>              -output "${out_dir}/${img_name}" \
>              "${work_dir}/iso/"
>          _msg_info "Done! | $(ls -sh ${out_dir}/${img_name})"
> 

OK, finally found the offending commit after many many tests[#1] burning
differents ISOs.

The cause and bug is trivially fixed:
----
diff --git a/core/isolinux.asm b/core/isolinux.asm
index bd4e9556922d..c4db4133e274 100644
--- a/core/isolinux.asm
+++ b/core/isolinux.asm
@@ -420,7 +420,7 @@ MaxLMA		equ 384*1024		; Reasonable limit (384K)
 		call getlinsec
 		pop eax
 		pop cx
-		mov dx,cx
+		movzx edx,cx
 		pop bp
 		pop bx
----

@Tobias: Could you rebuild syslinux with patch [#2] included? Thanks!

[#1] http://www.syslinux.org/archives/2013-November/021187.html
[#2] http://www.syslinux.org/archives/2013-November/021189.html

-- 
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://mailman.archlinux.org/pipermail/arch-releng/attachments/20131126/eb0f3588/attachment-0001.asc>


More information about the arch-releng mailing list