iPXE discussion forum

Full Version: pxelinux chain to iPXE no more network devices
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello.
I try to boot windows setups using wimboot. For a long time I use pxelinux, so I use iPXE to load wimboot and other files like this:

label Microsoft Windows 7 Setup
menu label Microsoft Windows 7 Setup
kernel ipxe.krn
APPEND dhcp && kernel http://server.com/wds/x86/wimboot && initrd http://server.com/wds/x86/bcd BCD && initrd http://server.com/wds/x86/boot.sdi boot.sdi && initrd http://server.com/wds/x86/boot-win7_2k8_x86.wim boot.wim && boot

This works in VirtualBox environment. Worked at modern cimputer. But does not work on an 5y old computer. After pxelinux loads and starts ipxe.krn, there is nothing happens and it try to find other booting defices.

I've remode append command. After loading ipxe.krn I press Ctrl+B to see some info. And I get: no more network devices.

How to resolve this problem?

Another question. pxelinux have an option to skip loading menus and other if Scroll Lock is not activated, or Ctrl is not pressed. Is such a option for iPXE?
After digging into the problem I've found that the problem is the missing driver in ipxe.krn for the Atheros AR8131 rev.C network card (1969:1063).
So until a driver for this card will be available in ipxe with the help of robinsmidsrod in IRC a workaround is to load first undionly.kpxe, chain to pxelinux.0 and call gpxecmd.c32 to get back to ipxe and load the stuff.
Eample:
dhcpd.conf contains:
if exists user-class and option user-class = "iPXE" { filename "/undionly.ipxe"; } else { filename "undionly.kpxe"; }

/undionly.ipxe contains:
#!ipxe
ifopen
chain tftp://${next-server}/pxelinux.0

pxelinux.cfg/default contains:
LABEL Shell
KERNEL gpxecmd.c32
append imgfree pxelinux.0 && shell

LABEL Windows Recovery Enviroment
KERNEL gpxecmd.c32
append imgfree pxelinux.0 && kernel http://tftp.ex.com/x86/wimboot && initrd http://tftp.ex.com/x86/bcd BCD && initrd http://tftp.ex.com/x86/boot.sdi boot.sdi && initrd http://tftp.ex.comx64/winre-win_7_x86.wim boot.wim && boot

LABEL Abort
KERNEL gpxecmd.c32
append exit

LABEL MemTest
KERNEL gpxecmd.c32
append imgfree pxelinux.0 && chain http://tftp.ex.com/tools/memtest/memtest.0 || reboot



Keep in mind that `append` command in pxelinux.cfg/default must definatly be in lower case, otherwise it want work and menu will be shown again.
Reference URL's