[syslinux] syslinux versus pxelinux

Pascal Vandeputte pascal.vandeputte at intec.ugent.be
Sun May 6 08:45:10 PDT 2007


Geert Stappers wrote:
> Op 02-05-2007 om 18:25 schreef Pascal Vandeputte:
>> Hello,
>>
>> I've been digging some more during the last couple of days [...]
>>
>> So now I've got a nice ubcd403.img file. If I dd it to a flash drive
>> in /dev/sda I can perfectly boot the "Ultimate Boot CD" from it.
>>
>> So I tend to think the disk image file itself is okay.
>>
>> However, making it available through pxelinux as follows doesn't work:
>>
>>     label ubcd
>>         kernel memdisk
>>         append initrd=images/test/ubcd403.img harddisk
>>
>> The machine just hangs there at "Loading boot sector... booting..."
>>
>>
>> What am I doing wrong?
> 
>   :-)
> 
> 
> Several things, one is asking "What am I doing wrong?"
> 
> <preach>
>    Make the challenge a common challenge by avoiding 'I'.
> 
>    Wrong is the wrong word, there is nothing wrong with a expriment.
>    If an expriment does learn you something, it is good expriment.
> </preach> 
> 
> 
> The missing knowlegde ( in fact the missing imagination ) :
> 
>  Syslinux is started from ROM and loads a kernel or program from floppy
>  or other FAT filesystem and starts it.
> 
>  Isolinux is started from ROM and loads a kernel or program from CD
>  and starts it.
> 
>  PXElinux is started from ROM and loads a kernel or program from the
>  network and starts it.
> 
> 
> 
> What your expriment proves, is that you have started PXElinux starting
> a syslinux that can't do it's job.


Well, to make a long story short:
  - my first attempts were to do it similar to what worked with FreeBSD: 
dd + fdisk + mkdosfs etc, but this was leading nowhere.
  - before mailing to the list I upgraded from 3.07 to 3.36 which 
actually made matters worse (see other mails in this thread).
  - then I started using mkdiskimage which was effectively the correct 
way to do it, but because of the bug in 3.36 it still wouldn't work.
  - last but not least, the "syslinux" package in Debian Sarge was no 
good either (still 2.11, "can't find linux image").



So let's summarize a few pitfalls to avoid when converting 
ISOLINUX-based ISO images/cd-roms to disk images for PXE booting:

  - Use the "mkdiskimage" script (from the syslinux package) to create
    an empty disk image.
    Do NOT try to do the same thing with dd + fdisk + mkdosfs/vfat,
    it will not work easily because of the boot code in the MBR.

  - Never use the syslinux package which is available through the
    package management of your GNU/Linux distribution, as it is bound
    to be outdated (e.g. the 2.11 in Debian Sarge was no good match
    for UBCD403).

  - Don't use atftpd for serving files, but use tftpd-hpa instead.
    atftpd bails out when files get larger than 90MB, which is not much
    these days.
    Even if you think you're using tftpd-hpa, double-check it anyway,
    you never know if someone changed a few things without informing
    you. :/

  - Don't assume that newer SYSLINUX releases are always better. If
    you're following a howto and it won't work, try to use the same
    software versions as the author of the howto. (if available)



Howto coming up...


Greetings,

Pascal Vandeputte




More information about the Syslinux mailing list