[syslinux] efi config hang

Carl Karsten carl at personnelware.com
Thu Dec 13 20:30:06 PST 2018


On Thu, Dec 13, 2018 at 8:45 PM Ady Ady via Syslinux <syslinux at zytor.com> wrote:
>
>
> > ah ha... now that I have all the pices in place, this is what I was missing:
> >
> > # EFI/BOOT/SYSLX64.CFG
> > # D-I config version 2.0
> > # search path for the c32 support libraries (libcom32, libutil etc.)
> > PATH EFI/BOOT/SYSLINUX/EFI64/
> > DEFAULT common
> > PROMPT 0
> > LABEL common
> > CONFIG ../../syslinux.cfg ../../
> >
> > The syslinux.cfg and all the other .cfg files don't need to be touched.
>
>
> There is a reason I specifically added a step to rename the
> "syslinux.cfg" file located in the root of the filesystem from
> "syslinux.cfg" to "debian.cfg".
>
> If you want to avoid problems for users and derivative distros
> customizing the set of cfg files (which they do, and that's the reason
> for having so many cfg files in Debian instead of just one), then you
> should not leave the filename "syslinux.cfg" in the root of the
> filesystem when introducing other Syslinux platforms (such as UEFIx64).
> You could, but you shouldn't.
>
> Since you are supposed to use "boot/syslinux/syslinux.cfg" instead,
> there should be no problem even when not using additional platforms.
> So, in fact there is no reason to leave the name "syslinux.cfg" in the
> root directory.
>

I optimized for simple over better.   I am more interested in the
patch being understood and accepted than the derivative.

I have no idea what the requirements are for playing well with other systems.
other than mine, which replaces /syslinux.cfg and thus will break if
it isn't there and in use.


> > The help under efi is broken (I'm pretty sure it crashes) but I'm
> > somewhat convinced the binaries are broken, and I'm going to submit
> > what I have.  It's pretty small, so that;s good.
>
>
> We already demonstrated that the "help" files do work under UEFIx64 and
> that the problem is somewhere else.

I don't really want to spend more time on this until my patch has been
reviewed and I have some idea what is acceptable.

here is some more fun facts:

replace vesamenu with menu and selecting help shows help.
^c drops to a boot: prompt
but hitting Enter or menu enter locks it up.
so this is 'better' but meh, i don't care.

qemu has a console that dumps this when I hit

^c:

!!!! X64 Exception Type - 0D(#GP - General Protection)  CPU Apic ID - 00000000
!!!! ExceptionData - 0000000000000000
RIP  - AFAFAFAFAFAFAFAF, CS  - 0000000000000038, RFLAGS - 0000000000000286
RAX  - AFAFAFAFAFAFAFAF, RCX - 000000001E150931, RDX - 0000000000000000
RBX  - 000000001E17BF80, RSP - 000000001FF136B8, RBP - 000000001E17BF80
RSI  - 000000001E10FB80, RDI - 000000001E17BF80
R8   - 0000000000000002, R9  - 0000000000000000, R10 - 0000000000000600
R11  - 0000000000000001, R12 - 000000001E0B1024, R13 - 0000000000000007
R14  - 0000000000000001, R15 - 000000001E0B1025
DS   - 0000000000000030, ES  - 0000000000000030, FS  - 0000000000000030
GS   - 0000000000000030, SS  - 0000000000000030
CR0  - 0000000080010033, CR2 - 0000000000000000, CR3 - 000000001FC01000
CR4  - 0000000000000668, CR8 - 0000000000000000
DR0  - 0000000000000000, DR1 - 0000000000000000, DR2 - 0000000000000000
DR3  - 0000000000000000, DR6 - 00000000FFFF0FF0, DR7 - 0000000000000400
GDTR - 000000001FBEEA98 0000000000000047, LDTR - 0000000000000000
IDTR - 000000001F6A9018 0000000000000FFF,   TR - 0000000000000000
FXSAVE_STATE - 000000001FF13310

select help:

!!!! X64 Exception Type - 0D(#GP - General Protection)  CPU Apic ID -
00000000 !!!!
ExceptionData - 0000000000000000
RIP  - AFAFAFAFAFAFAFAF, CS  - 0000000000000038, RFLAGS - 0000000000000286
RAX  - AFAFAFAFAFAFAFAF, RCX - 000000001E150931, RDX - 0000000000000000
RBX  - 000000001E17BF80, RSP - 000000001FF136B8, RBP - 000000001E17BF80
RSI  - 000000001E10FB80, RDI - 000000001E17BF80
R8   - 0000000000000002, R9  - 0000000000000000, R10 - 0000000000000600
R11  - 0000000000000001, R12 - 000000001E0B1024, R13 - 0000000000000007
R14  - 0000000000000001, R15 - 000000001E0B1025
DS   - 0000000000000030, ES  - 0000000000000030, FS  - 0000000000000030
GS   - 0000000000000030, SS  - 0000000000000030
CR0  - 0000000080010033, CR2 - 0000000000000000, CR3 - 000000001FC01000
CR4  - 0000000000000668, CR8 - 0000000000000000
DR0  - 0000000000000000, DR1 - 0000000000000000, DR2 - 0000000000000000
DR3  - 0000000000000000, DR6 - 00000000FFFF0FF0, DR7 - 0000000000000400
GDTR - 000000001FBEEA98 0000000000000047, LDTR - 0000000000000000
IDTR - 000000001F6A9018 0000000000000FFF,   TR - 0000000000000000
FXSAVE_STATE - 000000001FF13310

I have no idea if these are useful, but to save anyone the trouble
here is a diff

< RBX  - 000000001E17BF80, RSP - 000000001FF136B8, RBP - 000000001E17BF80
> RBX  - 000000001E17BF80, RSP - 000000001FF13808, RBP - 000000001E17BF80

< RSI  - 000000001E10FB80, RDI - 000000001E17BF80
> RSI  - 0000000000000000, RDI - 000000001E17BF80

< R11  - 0000000000000001, R12 - 000000001E0B1024, R13 - 0000000000000007
> R11  - 0000000000000001, R12 - 0000000000000002, R13 - 000000001FF13860

< R14  - 0000000000000001, R15 - 000000001E0B1025
> R14  - 0000000000000002, R15 - 0000000000000000

< FXSAVE_STATE - 000000001FF13310
> FXSAVE_STATE - 000000001FF13460



>
> Regards,
> Ady.
>
>
> _______________________________________________
> Syslinux mailing list
> Submissions to Syslinux at zytor.com
> Unsubscribe or set options at:
> http://www.zytor.com/mailman/listinfo/syslinux



--
Carl K


More information about the Syslinux mailing list