[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#943845: syslinux-common: error messages with grml boot stick



Control: tags -1 - moreinfo
Control: clone -1 -2
Control: reassign -1 grml2usb 0.14.14
Control: retitle -1 grml2usb: Uses wrong path to syslinux modules
Control: severity -2 wishlist
Control: retitle -2 syslinux: should provide an API to query/install modules

On 2019-10-30 23:46 +0100, Lukas Schwaighofer wrote:

> On Wed, 30 Oct 2019 22:41:48 +0100
> Sven Joachim <svenjoac@gmx.de> wrote:
>
>> On 2019-10-30 21:03 +0100, Lukas Schwaighofer wrote:
>> > I'm suspecting that there is somehow a mismatch between the version
>> > of syslinux/extlinux used while installing (i.e. running `extlinux
>> > -i`) and the c32 files installed on the medium.
>>
>> Indeed, this was the case.  While the version of syslinux installed in
>> the boot sector was the one from Debian, the support files in the
>> boot/syslinux directory came from the grml iso.  After replacing them
>> with the files from /usr/lib/syslinux/modules/bios/ everything was
>> fine.
>>
>> > Can you check whether the c32 files installed on the medium
>> > (probably in /boot/syslinux or /boot/extlinux) match the one
>> > from /usr/lib/syslinux/modules/bios on the host system? If they do
>> > match, can you re-run the syslinux installation from the host system
>> > and then try again?
>>
>> They do not match, but I have a question: how would I get those files
>> onto the boot medium with syslinux commands?  The naive command
>> "syslinux -d boot/syslinux /dev/sdc1" (or whatever device instead of
>> /dev/sdc1) does not do that, yet grml2usb apparently relies on it.
>
> Unfortunately syslinux does not offer any "installer" to do that (nor
> does the Debian package).  The admittedly poorly documented installation
> procedure is more or less to run the installer and copy any modules you
> need yourself to the correct folder.
>
> `syslinux -d boot/syslinux /dev/sdc1` does not install any c32 modules.
> This means any c32 modules present on your medium were copied by
> grml2usb.  I don't know the details of how grml2usb installs syslinux,
> but they need to make sure whatever is installed to the volume boot
> record (`syslinux` or `extlinux` command) is consistent with the c32
> modules.  Either both must come from the host system or both from the
> installed medium.

In fact grml2usb intends to install both from the host, and originally
this probably actually worked.  However, in version 6.00 syslinux
changed the path to the .c32 files and then it broke.  I could not find
this mentioned in the upstream NEWS file or in the Debian changelog, so
it would not have been easy for the grml developers to discover it.

I am reassigning the current bug to grml2usb, but I think there ought to
be an API in syslinux to query the path to its modules and to install
them onto the boot medium, so a clone of this bug is left for you.

Thanks for the fast response.

Cheers,
       Sven


Reply to: