[syslinux] Re: PXE-on-a-disk Intel EM64T reboot
Josh Lehan
jlehan at scyld.com
Tue Jan 3 13:35:42 PST 2006
Paolo Salvan wrote:
> Hi all!
>
> ...As I'm the author of
> http://sourceforge.net/project/shownotes.php?release_id=190646
> http://sourceforge.net/project/showfiles.php?group_id=80408
> (for Steven: these two links are for the SAME file...)
Nice! I didn't know these were the same file, as Sourceforge presented
the two pages very differently.
So, there are only 3 "PXE-on-a-disk" projects known so far, not 4.
> My approach is more minimalistic: etherboot have already the
> capabilities to build a multi-drive boot image, and can autodetect the
> correct driver to start (using the PCI-ID, but it also try the ISA
> drivers in sequence if no PCI NIC is found...), so I simply built an
I'd love something like that for ethersel.c, perhaps a "None Of The
Above" option. Right now, it either detects the PCI card, or fails to boot.
Is there a way to designate a fallback command line that ethersel will
follow, in the event of detection failing for every PCI device? That's
a good idea that I also wanted to try: building a driver with as many
old ISA drivers as possible, if PCI autodetection fails to find a
supported PCI card.
> very pubblicized)... the only drawback I know of my approach is that I
> knocked against an etherboot memory limitation: the multi-driver is
> compressed, and when it is uncompressed, it is temporaily kept in
> low-memory (the dear old 640Kb limitation...), and so for some built I
> have to exlude 1 or 2 rarely used big drivers to get it fit in memory...
> but it seems that in the future etherboot versions this limit will be
> overcomed...
Good job, you got farther than I did. I ran into the 64K segment size
limitation of 16-bit code, and couldn't link anything totaling more than
64K, let alone 640K, so could only build a handful of drivers at a time.
This was with Etherboot several months ago, though, maybe the 64K linker
bug has been fixed since then.
Sounds like Etherboot is running into the same problem the Linux kernel
did a few years ago: not being able to fit its entire image into the low
640K during initial booting... will this be fixed? My guess is no,
since the original design goal of Etherboot was to be able to fit on
physical ROM sockets in NIC cards, and so there's probably many people
that want it to remain lean and mean, and not become "Etherbloat" :)
Building a larger Etherboot with multiple drivers might be better than
my approach of building many small Etherboots, one for each driver. The
reason is for systems with multiple different NIC cards installed. Only
one of them will be detected and work, because of the Etherboot that is
chosen by ethersel. The other card(s) will lie dormant.
To my knowledge, the standard PC chain-boot technique offers no way to
"return" from Etherboot back into SYSLINUX, allowing ethersel.c to try a
different card. So, by building a few large Etherboot kernels instead
of many small ones, we at least have the chance of working with a group
of drivers, instead of only one driver.
Josh Lehan
jlehan at scyld.com
More information about the Syslinux
mailing list