[syslinux] Syslinux EFI + TFTPBOOT Support
Steven Shiau
steven at nchc.org.tw
Sat Mar 8 19:20:31 PST 2014
On 2014年03月09日 01:39, Gene Cumm wrote:
> So that should be vlance or flexible (which can be PCNet32 or e1000).
> Could you verify with a real OS?
>
> I see it has two cores per socket. Is it one socket? What exact make/model
> is the CPU in the host? You might be choking the VM. Have you considered
> just 1 socket and 1 core per socket?
>
> --Gene
Hi Gene,
I made some progress. By creating a new VMWare WS 10 efi client, and
making sure the ethernet device is using "e1000" in .vmx file:
ethernet0.virtualDev = "e1000"
As you mentioned, 6.03-pre7 has some regression. This testing was done
with 6.03-pre6.
Now my client is able to EFI PXE boot. The log shows PXElinux required
files were downloaded, and finally it booted:
===============
Mar 9 10:36:23 drbldbn dhcpd: DHCPACK on 192.168.120.3 to
00:0c:29:68:f3:23 via vmnet1
Mar 9 10:36:23 drbldbn atftpd[10590]: Serving bootx64.efi to
192.168.120.3:1808
Mar 9 10:36:23 drbldbn atftpd[10590]: Serving bootx64.efi to
192.168.120.3:1809
Mar 9 10:36:23 drbldbn atftpd[10590]: Serving ldlinux.e64 to
192.168.120.3:1810
Mar 9 10:36:23 drbldbn atftpd[10590]: Serving
pxelinux.cfg/564d880a-57b6-3c13-26d5-a2af8968f323 to 192.168.120.3:1811
Mar 9 10:36:23 drbldbn atftpd[10590]: Serving
pxelinux.cfg/01-00-0c-29-68-f3-23 to 192.168.120.3:1812
Mar 9 10:36:23 drbldbn atftpd[10590]: Serving pxelinux.cfg/C0A87803 to
192.168.120.3:1813
Mar 9 10:36:23 drbldbn atftpd[10590]: Serving pxelinux.cfg/C0A8780 to
192.168.120.3:1814
Mar 9 10:36:23 drbldbn atftpd[10590]: Serving pxelinux.cfg/C0A878 to
192.168.120.3:1815
Mar 9 10:36:23 drbldbn atftpd[10590]: Serving pxelinux.cfg/C0A87 to
192.168.120.3:1816
Mar 9 10:36:23 drbldbn atftpd[10590]: Serving pxelinux.cfg/C0A8 to
192.168.120.3:1817
Mar 9 10:36:23 drbldbn atftpd[10590]: Serving pxelinux.cfg/C0A to
192.168.120.3:1818
Mar 9 10:36:23 drbldbn atftpd[10590]: Serving pxelinux.cfg/C0 to
192.168.120.3:1819
Mar 9 10:36:23 drbldbn atftpd[10590]: Serving pxelinux.cfg/C to
192.168.120.3:1820
Mar 9 10:36:23 drbldbn atftpd[10590]: Serving pxelinux.cfg/default to
192.168.120.3:1821
Mar 9 10:36:23 drbldbn atftpd[10590]: Serving vesamenu.c32 to
192.168.120.3:1822
Mar 9 10:36:23 drbldbn atftpd[10590]: Serving efi64/vesamenu.c32 to
192.168.120.3:1823
Mar 9 10:36:23 drbldbn atftpd[10590]: Serving libcom32.c32 to
192.168.120.3:1824
Mar 9 10:36:23 drbldbn atftpd[10590]: Serving efi64/libcom32.c32 to
192.168.120.3:1825
Mar 9 10:36:24 drbldbn atftpd[10590]: Serving libutil.c32 to
192.168.120.3:1826
Mar 9 10:36:24 drbldbn atftpd[10590]: Serving efi64/libutil.c32 to
192.168.120.3:1827
Mar 9 10:36:24 drbldbn atftpd[10590]: Serving pxelinux.cfg/default to
192.168.120.3:1828
Mar 9 10:36:24 drbldbn atftpd[10590]: Serving drblwp.png to
192.168.120.3:1829
Mar 9 10:36:25 drbldbn atftpd[10590]: Serving vmlinuz-pxe to
192.168.120.3:1830
Mar 9 10:36:28 drbldbn atftpd[10590]: Serving initrd-pxe.img to
192.168.120.3:1831
Mar 9 10:37:32 drbldbn dhcpd: Client 0:c:29:68:f3:23 requests
1:3:6:c:f:1c:2a - DRBLClient - no dhcp-client-id
Mar 9 10:37:32 drbldbn dhcpd: DHCPDISCOVER from 00:0c:29:68:f3:23 via
vmnet1
Mar 9 10:37:33 drbldbn dhcpd: DHCPOFFER on 192.168.120.3 to
00:0c:29:68:f3:23 via vmnet1
Mar 9 10:37:33 drbldbn dhcpd: Client 0:c:29:68:f3:23 requests
1:3:6:c:f:1c:2a - DRBLClient - no dhcp-client-id
Mar 9 10:37:33 drbldbn dhcpd: DHCPREQUEST for 192.168.120.3
(192.168.120.254) from 00:0c:29:68:f3:23 via vmnet1
Mar 9 10:37:33 drbldbn dhcpd: DHCPACK on 192.168.120.3 to
00:0c:29:68:f3:23 via vmnet1
Mar 9 10:37:33 drbldbn rpc.mountd[8609]: authenticated mount request
from 192.168.120.3:934 for /tftpboot/node_root (/tftpboot/node_root)
===============
One thing I noticed is, it took almost 1 minute to download the
initrd-pxe.img (13 MB). Before I saw that, I thought it hanged. :)
To compare that with BIOS PXE booting, I commented the 'firmware =
"efi"' line in my .vmx file, and changed the line "PATH efi64/" to "PATH
bios/" in my pxelinux config file then did a BIOS PXE booting this time.
The log shows:
================
Mar 9 11:04:07 drbldbn atftpd[10590]: Serving pxelinux.0 to
192.168.120.3:2070
Mar 9 11:04:07 drbldbn atftpd[10590]: Serving pxelinux.0 to
192.168.120.3:2071
Mar 9 11:04:07 drbldbn atftpd[10590]: Serving ldlinux.c32 to
192.168.120.3:49152
Mar 9 11:04:07 drbldbn atftpd[10590]: Serving
pxelinux.cfg/564d880a-57b6-3c13-26d5-a2af8968f323 to 192.168.120.3:49153
Mar 9 11:04:07 drbldbn atftpd[10590]: Serving
pxelinux.cfg/01-00-0c-29-68-f3-23 to 192.168.120.3:49154
Mar 9 11:04:07 drbldbn atftpd[10590]: Serving pxelinux.cfg/C0A87803 to
192.168.120.3:49155
Mar 9 11:04:07 drbldbn atftpd[10590]: Serving pxelinux.cfg/C0A8780 to
192.168.120.3:49156
Mar 9 11:04:07 drbldbn atftpd[10590]: Serving pxelinux.cfg/C0A878 to
192.168.120.3:49157
Mar 9 11:04:07 drbldbn atftpd[10590]: Serving pxelinux.cfg/C0A87 to
192.168.120.3:49158
Mar 9 11:04:07 drbldbn atftpd[10590]: Serving pxelinux.cfg/C0A8 to
192.168.120.3:49159
Mar 9 11:04:07 drbldbn atftpd[10590]: Serving pxelinux.cfg/C0A to
192.168.120.3:49160
Mar 9 11:04:07 drbldbn atftpd[10590]: Serving pxelinux.cfg/C0 to
192.168.120.3:49161
Mar 9 11:04:07 drbldbn atftpd[10590]: Serving pxelinux.cfg/C to
192.168.120.3:49162
Mar 9 11:04:07 drbldbn atftpd[10590]: Serving pxelinux.cfg/default to
192.168.120.3:49163
Mar 9 11:04:07 drbldbn atftpd[10590]: Serving vesamenu.c32 to
192.168.120.3:49164
Mar 9 11:04:07 drbldbn atftpd[10590]: Serving bios/vesamenu.c32 to
192.168.120.3:49165
Mar 9 11:04:07 drbldbn atftpd[10590]: Serving libcom32.c32 to
192.168.120.3:49166
Mar 9 11:04:07 drbldbn atftpd[10590]: Serving bios/libcom32.c32 to
192.168.120.3:49167
Mar 9 11:04:07 drbldbn atftpd[10590]: Serving libutil.c32 to
192.168.120.3:49168
Mar 9 11:04:07 drbldbn atftpd[10590]: Serving bios/libutil.c32 to
192.168.120.3:49169
Mar 9 11:04:07 drbldbn atftpd[10590]: Serving pxelinux.cfg/default to
192.168.120.3:49170
Mar 9 11:04:07 drbldbn atftpd[10590]: Serving drblwp.png to
192.168.120.3:49171
Mar 9 11:04:08 drbldbn atftpd[10590]: Serving vmlinuz-pxe to
192.168.120.3:49172
Mar 9 11:04:08 drbldbn atftpd[10590]: Serving initrd-pxe.img to
192.168.120.3:49173
Mar 9 11:04:14 drbldbn dhcpd: Client 0:c:29:68:f3:23 requests
1:3:6:c:f:1c:2a - DRBLClient - no dhcp-client-id
Mar 9 11:04:14 drbldbn dhcpd: DHCPDISCOVER from 00:0c:29:68:f3:23 via
vmnet1
Mar 9 11:04:14 drbldbn dhcpd: DHCPOFFER on 192.168.120.3 to
00:0c:29:68:f3:23 via vmnet1
Mar 9 11:04:14 drbldbn dhcpd: Client 0:c:29:68:f3:23 requests
1:3:6:c:f:1c:2a - DRBLClient - no dhcp-client-id
Mar 9 11:04:14 drbldbn dhcpd: DHCPREQUEST for 192.168.120.3
(192.168.120.254) from 00:0c:29:68:f3:23 via vmnet1
Mar 9 11:04:14 drbldbn dhcpd: DHCPACK on 192.168.120.3 to
00:0c:29:68:f3:23 via vmnet1
================
You can see that the client spent only 6 secs to download the
initrd-pxe.img file.
Therefore for the time being, the performance of pxelinux efi64 is not
as good as that of pxelinux bios.
Besides, I also did a test about "e1000e" by assigning:
ethernet0.virtualDev = "e1000e"
in my .vmx file. The result is the same with that of PCnet32 NIC.
Therefore for the time being, the conclusion to me:
1. Remember to use "e1000", not "PCnet32" or "e1000e" firmware for the
VM client.
2. Stay with syslinux 6.03-pre6 before the next testing release.
I will do some tests with real machine clients when I enter office tomorrow.
Thank you very much.
Steven.
--
Steven Shiau <steven _at_ nchc org tw> <steven _at_ stevenshiau org>
National Center for High-performance Computing, Taiwan. http://www.nchc.org.tw
Public Key Server PGP Key ID: 4096R/47CF935C
Fingerprint: 0240 1FEB 695D 7112 62F0 8796 11C1 12DA 47CF 935C
More information about the Syslinux
mailing list