[syslinux] binaries in syslinux-4.02.tar.bz2

Gene Cumm gene.cumm at gmail.com
Thu Sep 23 09:46:40 PDT 2010


On Thu, Sep 23, 2010 at 05:52, Alex Zeffertt
<alex.zeffertt at eu.citrix.com> wrote:
> On 22/09/10 18:25, Gene Cumm wrote:
>>
>> On Wed, Sep 22, 2010 at 10:55, Alex Zeffertt
>> <alex.zeffertt at eu.citrix.com>  wrote:
>>>
>>> Hi list,
>>>
>>> I've noticed that there are a number of binaries in
>>> syslinux-4.02.tar.bz2,
>>> which seems a bit odd.  Even stranger is that I get different syslinux
>>
>> This is to aid most users.  There are a lot of complex build
>> requirements that are eliminated by having the full binaries included.
>>  It also helps knowing exactly byte by byte what the end binaries (not
>> the installers) are looking like to ensure that a compiler bug doesn't
>> cause different behavior.
>>
>> http://syslinux.zytor.com/wiki/index.php/Common_Problems#Official_Binaries
>
> Hi Gene - thanks for your reply.
>
> I think most users would install an RPM or a deb if they wanted binaries
> from a trusted source.  The source tarball on the other hand is used by
> packagers who really need to know that they can rebuild all the binaries
> from source, so that they can fix issues found by end users.

I use the official package (the source/binary tarball) on my
production systems primarily for the reason that it's the most up to
date (but I'm probably not "most users").  Most distro packages are
behind and sometimes include very risky modifications (the old
assembly-based gfxboot patch, specifically).

However, I also have a known working build environment that I
primarily use for development and testing purposes (of either my
patches or on occasion, someone else's).

See also doc/distrib.txt.  My understanding is that building
completely from scratch (rather than just rebuilding the installer
binaries) forces the situation of the distribution maker must
completely support any issue that may arise.

>>> behaviour depending on whether I rebuild these or use the ones from the
>>> tarball.
>>
>> This commonly indicates your build environment is different and
>> probably has issues.
>>
>
> I am building in a fresh CentOS 5.5 chroot.  The only difference is that I
> have removed the CentOS nasm package and installed nasm-2.09.01-1 instead.

I would think that is workable as you've got nasm above 2.03 but I
can't be certain as I don't have a CentOS environment (as chroot or
native).  What kernel architecture (i386 or amd64)?

>>> To use the ones from the tarball I:
>>>
>>>  $ make clean
>>>  $ make installer
>>>  $ make install-all
>>
>> This does not reuse all of the binaries.  It rebuilds the installers.
>> Try just "make install-all" first rather than all three.
>>
>
>
> Thanks, that works - my host now boots!  However, I don't have that warm
> fuzzy feeling that you get when you've actually built the code that works.
>  More seriously, if any of my users encounter a problem I don't know that
> I'll be able to fix it.

I'd suggest trying to make an operational build environment (such that
you could do a full BFS) but try to deploy the official binaries (at
least the official non-installer binaries with rebuilt installer
binaries) if possible.  I know there are people out there that use
Fedora (at least 12 and probably 13) and I use Ubuntu 10.04.

> It should be possible to rebuild an opensource package from source.  If
> there are build dependencies then these can always be specified in
> syslinux-4.02/syslinux.spec, and/or probed for in the Makefile.

I can't speak on this one as my use of make has been limited compared to some.

>>> ... whereas to rebuild everything from source I:
>>>
>>>  $ make spotless
>>>  $ make all
>>>  $ make installer
>>>  $ make install-all
>>>
>>> If I reuse the binaries from the tarball I get the following output after
>>> control is passed to my MBR:
>>>
>>>
>>>  SYSLINUX 4.02 2010-07-21  Copyright (C) 1994-2010 H. Peter Anvin et al
>>>  boot:
>>>  Booting...
>>>  ERR: Not a Multiboot bootloader!
>>
>> Look at your config file.  Try adding "PROMPT 1" and "TIMEOUT 0" as an
>> extra diagnostic step.
>>
>> Also, could you give more information here?  What's the media you've
>> installed SYSLINUX on, including file system?  What system are you
>> using to see this error?
>>
>>> ... whereas if I rebuild everything from source I get no output at all.
>>
>>> From this, I'd guess something is wrong with your build environment.
>>
>
> I've got these options.  My config file contains the following:
>
>  serial 0 115200
>  default xe-serial
>  prompt 1
>  timeout 50
>
>  label xe-serial
>    kernel mboot.c32
>    append /boot/xen.gz com1=115200,8n1 console=com1,vga dom0_mem=752M
> lowmem_emergency_pool=1M crashkernel=64M at 32M --- /boot/vmlinuz-2.6-xen
> root=LABEL=root-nprlhirs ro console=tty0 xencons=hvc console=hvc0 ---
> /boot/initrd-2.6-xen.img
>
> Although I'm pretty sure there's nothing wrong with this since it works fine
> as long as I don't rebuild *any* binaries from the tarball.

Still points towards your build environment.

> Regards,
>
> Alex
>
>>> I tried looking for the error message "Not a Multiboot bootloader" in the
>>> syslinux source but I couldn't find it anywhere, which made me wonder if
>>> it
>>> comes from one of those binaries.
>>>
>>> Does anybody know why the source tarball contains binaries?  I feel I
>>> need
>>> to understand this before I can start debugging my boot failure.
>>>
>>> Thanks in advance,
>>>
>>> Alex

-- 
-Gene




More information about the Syslinux mailing list