[syslinux] PXE-on-a-disk Intel EM64T reboot

Geert Stappers stappers at stappers.nl
Sun Dec 11 06:20:53 PST 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Fri, Dec 02, 2005 at 01:07:11PM -0800, Josh Lehan wrote:
> Hello!  I have been successful using SYSLINUX and Etherboot to create a 
> generic "PXE-on-a-disk" package, a floppy image and CD image that 
> support as many Ethernet cards as possible.
> 
> These have support for all of Etherboot's modules that support real PCI 
> cards: about 25-or-so drivers and 250-or-so cards.  I've built Etherboot 
> ZLILO images, one for each driver, set up to boot as a PXE stack.  I've 
> used "ethersel.c32" to choose the correct image for each detected PCI 
> card, and it seems to work.

Sounds like http://etherboot.anadex.de/

> I made a fairly straightforward Perl script to take Etherboot's internal 
> PCI device table and munge that into a fairly large SYSLINUX config file 
> that is scanned by ethersel.  I've tested it on a fair variety of 
> different hardware and it works!  It auto-detects the correct driver to 
> load, without user interaction, and behaves just as a PXE BIOS would.

Please tell more about it
or even better: document it on a webpage.

> A limitation is that it will only work with the "first" card detected by 
> ethersel.  In a situation where 2 PCI cards are installed, both from 
> different drivers (for example, one 3com and one Intel), only one of 
> them will work.  I was pleased to see that Etherboot can work with 
> multiple copies of the same card, though, trying each in a round-robin 
> fashion.
> 
> I'd love it if the Etherboot module could somehow "return" to SYSLINUX, 
> instead of rebooting the entire machine or trying forever in a loop, if 
> there is a problem/timeout.  Then, ethersel could have the chance of 
> detecting another PCI card in the system, and continue trying with that. 
>  Then, it would work even in systems with multiple PCI cards from 
> different vendors.  However, that's an Etherboot question, not a 
> SYSLINUX question, so I won't continue with it here.

But where will it be continued?
(did I mis a posting? ( here or at the etherboot mailinglists ))

> I use PXELINUX as my bootloader (of course), and have my TFTP and DHCP 
> server set up and working correctly to serve it, and a Linux kernel/initrd.
> 
> The flow of control:
> 
> Boot
> --> SYSLINUX (or ISOLINUX if CD)
> --> ethersel (detect PCI card and choose Etherboot kernel)
> --> Back to SYSLINUX (load and run Etherboot kernel)
> --> Etherboot (PXE stack, download of PXELINUX)
> --> PXELINUX (downloaded from server and ran, downloads Linux kernel)
> --> Linux
> 
> Kind of convoluted, but it works nicely!
> 
> My main problem is on the Intel EM64T (Intel's clone of AMD's 64-bit x86 
> architecture).
> 
> Right after SYSLINUX prints the final "Ready." line, it reboots!

Mmm  ....

> I see the kernel and initrd downloaded correctly by TFTP.  There were no 
> errors.  However, instead of getting the normal kernel startup text 
> after SYSLINUX's final "Ready." line, I get an immediate reboot!
> 
> Yes, I'm downloading an Intel EM64T kernel, not an AMD64 kernel.
> 
> Yes, the kernel boots fine when loaded from other means (local hard 
> disk, for instance).  For testing, I tried enabling the motherboard's 
> on-board PXE BIOS for booting, and it worked.  So, the problem seems to 
> be in some difference between my Etherboot-created software PXE stack, 
> and the BIOS's real PXE stack.
> 
> Are there any known issues with the final handoff phase from 
> SYSLINUX/Etherboot/PXELINUX to the kernel, on Intel EM64T machines?

You could be the first in that area.
( in other words: I haven't seen reports of Intel EM64T with syslinux
  (no success, neither failures)
)

> Anything I can do to help troubleshoot this?  At first, I had a feeling 
> it has something to do with freeing the PXE stack in memory (from 
> Etherboot), but since it works on other AMD64 machines and all 32-bit 
> machines I have found, I don't think this would be the problem.

I think it is kernel start code for the EM64T
that differs too from AMD64 and plain i386.


> I'll post this to the Etherboot list as well, but thought I'd also 
> mention it here, in hopes that someone else has seen this before (since 
> a universal "PXE-on-a-disk" boot floppy/CD image is quite useful, and 
> seems to be the killer app for Etherboot these days).

I also think it is a killer application, so please do that posting.

> Josh

GSt
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFDnDXFOSINbgwa/7sRAnd0AKCTydNJkBK4M2q76/w4+IXSQJ5OlACgltcf
OERdMhzqRA7P+CbXSOnR32Y=
=jLYx
-----END PGP SIGNATURE-----




More information about the Syslinux mailing list