Quantcast
Channel: iPXE discussion forum - All Forums
Viewing all 1484 articles
Browse latest View live

Wimboot slow transfer speed

$
0
0
Current setup (using all latest builds at this moment)
Syslinux>IPXE.LKRN>Wimboot>win10pe>Windows10 IIS. (I also tried Win7 IIS and it was just as slow)

I have had inconsistent speed issues when using ipxe to retrieve disc and winpe wim images from a win10 IIS server. Some boots it will act fast and transfer the wim in 10 seconds, but most of the time it doesnt. The server is hosting the data off an SSD and on a gig connection.


I checked the network activity on the server hosting and it will deliver a wim at 80+mbs when its going fast, or locked at 10mbs when it is going slow. One of the computers I am testing with is a lenovo t430, with the intel 82579lm ethernet chip. I will note that this speed inconsistency does not happen to all machines such as a dell e5440 also using an intel nic.

Anyone have any suggestions on how I can get more consistent speed?

Grub2 EFI + wimboot can boot WinPE ?

$
0
0
At first I run Grub2 MBR (boot in legacy mode) and wimboot to start MSDART 8.0:
[undefined=undefined]menuentry "MSDART-8.0.iso" {
loopback loop /MSDART-8.0.iso
linux16 /wimboot
initrd16 \
newc:bcd:(loop)/Boot/BCD \
newc:boot.sdi:(loop)/Boot/boot.sdi \
newc:boot.wim:(loop)/sources/boot.wim
}

menuentry "MSDART-8.0 files" {
linux16 ($root)/wimboot
initrd16 \
newc:bcdSad$root)/MSDART-8.0/BCD \
newc:boot.sdiSad$root)/MSDART-8.0/boot.sdi \
newc:boot.wimSad$root)/MSDART-8.0/boot.wim
}[/undefined]

Both versions have started fine. After that I tried to boot MSDART under Grub2 EFI. When pushing the menu flash disk was blinking like at Grub2 MBR booting, but in the end it wrote one line and going to reboot. This line disappears so quickly that I can not make out what it says. Adding "pause" parameter stops booting at black screen. The testing was held under Dell Optiplex 3020 with latest firmware - A09, wimboot - 2.5.1 signed.

So Grub2 EFI with wimboot can boot WinPE ?
Or there is a problem in something else ?

Boot Ubuntu 15 over http

$
0
0
Hello,

I've been browsing around here for a few hours now and have only found one relevant thread that talks about using httpd to load a linux live iso.

At home, I have a Fedora 21 server in the basement, it's setup as a FOG server. I have the Ubuntu 15 x64 iso mounted as read-only in the web-root here: /var/www/html/ubuntu

when I use a web browser to browse to x.x.x.x/ubuntu I can see the contents of the iso.

for my ipxe menu entry, this is what I have so far but it's not working out...

Code:
:ubuntu
kernel ${boot_url}/ubuntu/casper/vmlinuz.efi
initrd ${boot_url}/ubuntu/casper/initrd.lz
imgargs vmlinuz root=${boot_url}/ubuntu boot=casper netboot=http
boot

The computer I've been trying to boot using this method has 3 gigs of ram and is a dual core.

With Google, I couldn't find a good list of parameters with examples. For instance, I simply guessed to use netboot=http but I'm not sure if this is right or not.

It appears that the kernel and init are pulled and loaded, and then I simply get a PXE-M0F error, it looks like it's tftp related.

What's going wrong here? Any help would be appreciated.

wimboot hangs at an Asus MB

$
0
0
Hello.

I've encountered wimboot hangs on the Asus Z11-A motherboard. My script is:

#!ipxe
initrd x86/BCD BCD
initrd x86/boot.sdi boot.sdi
initrd x86/boot-win7-2k8-x86-2014.11.26.wim boot.wim
chain wimboot/wimboot-2.5.1

All files are downloaded from http. All files finishes to download, but as soon wimboot is started, no output of the line with wimboot version and on the screen randomly appears some symbols, or computer starts to beep, and computer hangs. Only reset can be pressed.

I've tried using singed and unsigned version. An older version. All behaves the same. On other MBs which I could test - this works. Also it works in vbox.

I've tried to only download BCD and start wimboot pause. wimboot printed its version, showed some info and waited for keypress. If I press it immediatly - an error is shown that bootmgr.exe not found and computer restarts. If I do not press a key for a longer time - computer hangs.

If first is downloaded the wim file and wimboot is started - again no version is shown by wimboot and computer hangs.

Downloading BCD and boot.sdi and issue wimboot pause, shows version, some info and computer hangs.

I've tried to use stock undionly.exe - same effect. So its not because of my building from sources.

Inserting imgstat before wimboot - shows info about all downloaded files and again no wimboot version is shown and computer hangs.

So there is some bug with this motherboard and wimboot. I can notice that this motherboard behaves bad also with a Transcend SSD disk. Sometimes disk dissapear even in BIOS.

Hope to solve the problem as we have about 50 such computers.

undionly hangs at initialising devices

$
0
0
Hello.

There is a problem on an Asus P7H55D-M PRO motherboard. I've compiled undionly.kpxe with an embedded script. undionly.kpxe works on teste different computers and in vbox.

On this motherboard undionly.kpxe stucks at "iPXE initialising devices...".
I've added DEBUG=undionly:3,undinet:3,pxeparent:3
On normal computers I see some text in red. On this motherboard the result on screen is:

PXE->EB: !PXE at 9A78:0070, entry point at 9A78:0109
UNDI code segment 9A78:2cE4, data segment 906B:A0D0 (577-630kB)
UNDI device is PCI 02:00.0, type DIX+802.3
577kB free base memory after PXE unload
iPXE initialising devices... UNDINIC 0x2645cusing UNDI 0x891c5438

At at this point computer is hanged. Using stock undionly.kpxe behaves the same (only debug info is not printed).

Hope to resolve the problem.

undionly and oracle's virtualbox

$
0
0
Hello.

I've encountered a strange problem with ifup or dhcp command in virtualbox.

When virtual machines is started, its Intel UNDI PXE gets an IP from DHCP, and loads undionly.kpxe. I press Ctrl+B to get in shell.
ifstat shows net0's MAC address and state is closed.
I issue ifopen or dhcp command and its ok. Then chain to something. For better testing I chain to a script to load windows setup. Files are downloaded, wimboot started. After windows loads and asks for something I close the window so windows will reset, or press Reset button in virtualbox to restart the system.

No, again Intel UNDI PXE gets an IP and loads undionly.kpxe. I press Ctrl+B.
I issue ifopen - no message. Then I try to chain again - after a while I get connection timed out.
I try to use dhcp command. After a while I get error 0x040ee119.

So no connection, network interface remains closed. So I close the virtual machine's windows to shut down it. And open again. A cold start allows to bring interface up.

Now, the same oracle's virtual box at home. It boots with Intel UNDI PXE which gets an IP, downloads and starts undionly.kpxe. But even on cold start up, the network interface cannot be opened. I've tried to use iPXE firmware of virtualbox (unistalling extension pack) - the results are the same.

Using vmware have no problem with the undionly.kpxe. Even after restart it will open interface and chain.

So this is definetly a problem between iPXE and virtualbox.

detect legacy/uefi

$
0
0
Hi, I've been successful in building snponly.efi and undionly.kpxe, and be able to boot them from a locally created DHCP server.
Now i want to implament this in our lab, but the DHCP team tells me they don't know how to configure the DHCP server to handle two PXE boot files (i've even send them a linux conf file and windows server 2012 guide on how to setup this), so now can only boot to 1 file.
Is it possible to somehow detect what arch the PC is booting with (EFI or Legacy bios), and then hand them the correct file?
I know i can use "iseq ${platform} efi", but i tried booting a legacy pc with undionly.efi and an EFI pc with undionly.kpxe and theu both just hang.
So is this even possible? or do i have to set this up at the DHCP server?

Also i'm having a hard time finding good documentation about iPXE build options and scripting docs, the examples at the site are minimal and don't really help.

No such file or Directory (2d0c613b)

$
0
0
Hi everyone!

I'm new to this, so bare with me ^^ I work mainly with SCCM and MDT and I'm currently looking into a new solution for a customer. (Only proof of concept at this stage).

I have a Server 2012 R2 installed with DHCP, DNS and IIS 8.
On the IIS I've created a new website with the name "Customer", the binding on this is set to http://www.customer.myserver.com and I can browse it from the server.

There is a virtual directory under this site called "winpe" that contains the winpe from ADK 10. (Both x86 and amd64) + wimboot and boot.ipxe

The content of boot.ipxe is the following:

#!ipxe

cpuid --ext 29 && set arch amd64 || set arch x86
kernel wimboot
initrd ${arch}/media/Boot/BCD BCD
initrd ${arch}/media/Boot/boot.sdi boot.sdi
initrd ${arch}/media/sources/boot.wim boot.wim
boot

(All paths are correct)

The WinPe is standard PE from ADK, no modifications.

(I've been following this guide: http://ipxe.org/howto/winpe to the letter)

Now, when I boot from the ISO that can be downloaded, I can run DHCP o get and IP and subnetmask, no gw since it's on the same subnet and the DNS is set to the correct IP.

Now, when I run the following command:
chain http://customer.myserver.com/winpe/boot.ipxe I get the following error:
"No such file or directory (http://ipxe.org/2d0c613b)"

I can' for my life figure out why I get this... If I run a nslookup on my server it resolves to the correct IP so the DNS is working and all the files are in the correct folders....

Everything is run in Hyper-V on my Windows 10 laptop. Clients are Generation 1 and I'v tried both with the standard adapter and the legacy adapter. Both the client and the server is connected to an own private switch, so there is no traffic interfering.

Does somebody have any ideas?

Best regards
Andreas

ipxe brcm5720 NIC fails communicate with PXE server

$
0
0
We have BCM5720 NICs on our board. Our board has Intel bdx-de CPU.
Enabled tg3 driver.
If I configure IP, netmask, gateway manually and try download images from PXE server, it works fine.
But, dhcp does not work,ie.,
ifconf -c dhcp net1

Is there any known issue with DHCP communication on iPXE via BRCM5720 NICs?

BootMode Ext Pxe:Trying net1(external)...
allocated iob_buffer for descriptor 0
allocated iob_buffer for descriptor 1
allocated iob_buffer for descriptor 2
allocated iob_buffer for descriptor 3
allocated iob_buffer for descriptor 4
allocated iob_buffer for descriptor 5
allocated iob_buffer for descriptor 6
allocated iob_buffer for descriptor 7
net1: 04:62:73Big Grinc:88:1f using 14e4-165f on PCI08:00.1 (open)
[Link:down, TX:1737 TXE:0 RX:9050 RXE:7778]
[Link status: Down (http://ipxe.org/38086193)]
[RXE: 2340 x "Operation not supported (http://ipxe.org/3c086083)"]
[RXE: 3941 x "The socket is not connected (http://ipxe.org/380f6093)"]
[RXE: 799 x "Operation not supported (http://ipxe.org/3c046083)"]
[RXE: 6 x "Invalid argument (http://ipxe.org/1c076082)"]
Waiting for link-up on net1..... ok
UDP 0x785fc128 allocated
UDP 0x785fc128 bound to port 68
DHCP 0x785fb4a8 entering discovery state
Configuring (net1 04:62:73Big Grinc:88:1f)...DHCP 0x785fb4a8 DHCPDISCOVER
Transmitted packet: 444 bytes
Transmitted packet: 70 bytes
Transmitted packet: 70 bytes
Transmitted packet: 70 bytes
RX - desc_idx: 0 sw_idx: 0 hw_idx: 1
Received packet: 60 bytes 0 1
allocated iob_buffer for descriptor 8
RX - desc_idx: 1 sw_idx: 1 hw_idx: 2
Received packet: 218 bytes 1 2
allocated iob_buffer for descriptor 9
.DHCP 0x785fb4a8 DHCPDISCOVER
Transmitted packet: 444 bytes
Transmitted packet: 70 bytes
RX - desc_idx: 2 sw_idx: 2 hw_idx: 3
Received packet: 218 bytes 2 3
allocated iob_buffer for descriptor 10
.RX - desc_idx: 3 sw_idx: 3 hw_idx: 4
Received packet: 60 bytes 3 4
allocated iob_buffer for descriptor 11
RX - desc_idx: 4 sw_idx: 4 hw_idx: 5
Received packet: 218 bytes 4 5
allocated iob_buffer for descriptor 12
.DHCP 0x785fb4a8 DHCPDISCOVER
Transmitted packet: 444 bytes
Transmitted packet: 70 bytes
.RX - desc_idx: 5 sw_idx: 5 hw_idx: 6
Received packet: 60 bytes 5 6
allocated iob_buffer for descriptor 13
RX - desc_idx: 6 sw_idx: 6 hw_idx: 7
Received packet: 60 bytes 6 7
allocated iob_buffer for descriptor 14
.RX - desc_idx: 7 sw_idx: 7 hw_idx: 8
Received packet: 62 bytes 7 8
allocated iob_buffer for descriptor 15
No UDP connection listening on port 1985
.RX - desc_idx: 8 sw_idx: 8 hw_idx: 9
Received packet: 108 bytes 8 9
allocated iob_buffer for descriptor 16
No UDP connection listening on port 547
RX - desc_idx: 9 sw_idx: 9 hw_idx: 10
Received packet: 60 bytes 9 10
allocated iob_buffer for descriptor 17
.UDP 0x785fc128 closed
RX - desc_idx: 10 sw_idx: 10 hw_idx: 11
Received packet: 62 bytes 10 11
allocated iob_buffer for descriptor 18
No UDP connection listening on port 1985
RX - desc_idx: 11 sw_idx: 11 hw_idx: 12
Received packet: 210 bytes 11 12
allocated iob_buffer for descriptor 19
RX - desc_idx: 12 sw_idx: 12 hw_idx: 14
Received packet: 433 bytes 12 14
RX - desc_idx: 13 sw_idx: 13 hw_idx: 14
Received packet: 70 bytes 13 14
allocated iob_buffer for descriptor 20
allocated iob_buffer for descriptor 21
No UDP connection listening on port 67
RX - desc_idx: 14 sw_idx: 14 hw_idx: 16
Received packet: 342 bytes 14 16
RX - desc_idx: 15 sw_idx: 15 hw_idx: 16
Received packet: 118 bytes 15 16
allocated iob_buffer for descriptor 22
allocated iob_buffer for descriptor 23
No UDP connection listening on port 68
Transmitted packet: 70 bytes
RX - desc_idx: 16 sw_idx: 16 hw_idx: 17
Received packet: 70 bytes 16 17
allocated iob_buffer for descriptor 24
.RX - desc_idx: 17 sw_idx: 17 hw_idx: 18
Received packet: 62 bytes 17 18
allocated iob_buffer for descriptor 25
No UDP connection listening on port 1985
RX - desc_idx: 18 sw_idx: 18 hw_idx: 19
Received packet: 70 bytes 18 19
allocated iob_buffer for descriptor 26
RX - desc_idx: 19 sw_idx: 19 hw_idx: 20
Received packet: 433 bytes 19 20
allocated iob_buffer for descriptor 27
No UDP connection listening on port 67
RX - desc_idx: 20 sw_idx: 20 hw_idx: 21
Received packet: 342 bytes 20 21
allocated iob_buffer for descriptor 28
No UDP connection listening on port 68
RX - desc_idx: 21 sw_idx: 21 hw_idx: 22
Received packet: 108 bytes 21 22
allocated iob_buffer for descriptor 29
No UDP connection listening on port 547
RX - desc_idx: 22 sw_idx: 22 hw_idx: 23
Received packet: 60 bytes 22 23
allocated iob_buffer for descriptor 30
.RX - desc_idx: 23 sw_idx: 23 hw_idx: 24
Received packet: 70 bytes 23 24
allocated iob_buffer for descriptor 31
RX - desc_idx: 24 sw_idx: 24 hw_idx: 25
Received packet: 108 bytes 24 25
allocated iob_buffer for descriptor 32
No UDP connection listening on port 547
.RX - desc_idx: 25 sw_idx: 25 hw_idx: 26
Received packet: 62 bytes 25 26
allocated iob_buffer for descriptor 33
No UDP connection listening on port 1985
RX - desc_idx: 26 sw_idx: 26 hw_idx: 27
Received packet: 139 bytes 26 27
allocated iob_buffer for descriptor 34
No UDP connection listening on port 547
RX - desc_idx: 27 sw_idx: 27 hw_idx: 28
Received packet: 62 bytes 27 28
allocated iob_buffer for descriptor 35
No UDP connection listening on port 1985
RX - desc_idx: 28 sw_idx: 28 hw_idx: 29
Received packet: 60 bytes 28 29
allocated iob_buffer for descriptor 36
No UDP connection listening on port 1985
RX - desc_idx: 29 sw_idx: 29 hw_idx: 30
Received packet: 108 bytes 29 30
allocated iob_buffer for descriptor 37
No UDP connection listening on port 547
RX - desc_idx: 30 sw_idx: 30 hw_idx: 32
Received packet: 445 bytes 30 32
RX - desc_idx: 31 sw_idx: 31 hw_idx: 32
Received packet: 342 bytes 31 32
allocated iob_buffer for descriptor 38
allocated iob_buffer for descriptor 39
No UDP connection listening on port 67
No UDP connection listening on port 68
RX - desc_idx: 32 sw_idx: 32 hw_idx: 33
Received packet: 118 bytes 32 33
allocated iob_buffer for descriptor 40
RX - desc_idx: 33 sw_idx: 33 hw_idx: 34
Received packet: 60 bytes 33 34
allocated iob_buffer for descriptor 41
.RX - desc_idx: 34 sw_idx: 34 hw_idx: 35
Received packet: 70 bytes 34 35
allocated iob_buffer for descriptor 42
RX - desc_idx: 35 sw_idx: 35 hw_idx: 36
Received packet: 108 bytes 35 36
allocated iob_buffer for descriptor 43
No UDP connection listening on port 547
.RX - desc_idx: 36 sw_idx: 36 hw_idx: 37
Received packet: 60 bytes 36 37
allocated iob_buffer for descriptor 44
.RX - desc_idx: 37 sw_idx: 37 hw_idx: 38
Received packet: 62 bytes 37 38
allocated iob_buffer for descriptor 45
No UDP connection listening on port 1985
RX - desc_idx: 38 sw_idx: 38 hw_idx: 39
Received packet: 62 bytes 38 39
allocated iob_buffer for descriptor 46
No UDP connection listening on port 1985
RX - desc_idx: 39 sw_idx: 39 hw_idx: 40
Received packet: 60 bytes 39 40
allocated iob_buffer for descriptor 47
.RX - desc_idx: 40 sw_idx: 40 hw_idx: 41
Received packet: 118 bytes 40 41
allocated iob_buffer for descriptor 48
RX - desc_idx: 41 sw_idx: 41 hw_idx: 42
Received packet: 60 bytes 41 42
allocated iob_buffer for descriptor 49
.RX - desc_idx: 42 sw_idx: 42 hw_idx: 43
Received packet: 108 bytes 42 43
allocated iob_buffer for descriptor 50
No UDP connection listening on port 547
RX - desc_idx: 43 sw_idx: 43 hw_idx: 44
Received packet: 70 bytes 43 44
allocated iob_buffer for descriptor 51
RX - desc_idx: 44 sw_idx: 44 hw_idx: 45
Received packet: 62 bytes 44 45
allocated iob_buffer for descriptor 52
No UDP connection listening on port 1985
Error 0x040ee186 (http://ipxe.org/040ee186)
Press Ctrl-B to exit PXE AutobootRX - desc_idx: 45 sw_idx: 45 hw_idx: 46
Received packet: 60 bytes 45 46
allocated iob_buffer for descriptor 53
RX - desc_idx: 46 sw_idx: 46 hw_idx: 47
Received packet: 62 bytes 46 47
allocated iob_buffer for descriptor 54
No UDP connection listening on port 1985
RX - desc_idx: 47 sw_idx: 47 hw_idx: 48
Received packet: 60 bytes 47 48
allocated iob_buffer for descriptor 55
RX - desc_idx: 48 sw_idx: 48 hw_idx: 49
Received packet: 60 bytes 48 49
allocated iob_buffer for descriptor 56
RX - desc_idx: 49 sw_idx: 49 hw_idx: 50
Received packet: 118 bytes 49 50
allocated iob_buffer for descriptor 57
RX - desc_idx: 50 sw_idx: 50 hw_idx: 51
Received packet: 60 bytes 50 51
allocated iob_buffer for descriptor 58

Incorrect attempt to use root-path

$
0
0
It appears that a bug has crept into iPXE whereby what *should* be an unsupported root-path (eg an NFS root) is treated as "supported", resulting in a "Could not open SAN device" error. This looks like quite a recent bug, the version that ships with Ubuntu 14.04 works fine!

The following patch (amending parenthesis closures) fixes the problem; although I'm quite new to iPXE I think this is correct, and will not have any undesirable side-effects:

Code:
angus@ganymede:src$ git diff master lincor -- usr/autoboot.c
diff --git a/src/usr/autoboot.c b/src/usr/autoboot.c
index 8c6b690..96260d3 100644
--- a/src/usr/autoboot.c
+++ b/src/usr/autoboot.c
@@ -379,8 +379,8 @@ int netboot ( struct net_device *netdev ) {
         * it may represent an NFS root.
         */
        if ( filename && root_path &&
-            ( ! ( uri_is_absolute ( root_path ) ||
-                  ( xfer_uri_opener ( root_path->scheme ) == NULL ) ) ) ) {
+            ( ! ( uri_is_absolute ( root_path )) ||
+                  ( xfer_uri_opener ( root_path->scheme ) == NULL ) ) ) {
                printf ( "Ignoring unsupported root path\n" );
                uri_put ( root_path );
                root_path = NULL;

tftp download is working, http - not

$
0
0
Hello.

I've encountered a Lenovo ideapad 100-15iby notebook. I try to network boot a tool, for example memtest. undionly.kpxe is loaded and in menu I have:

label memtest
kernel gpxecmd.c32
append chain http://ip/tools/memtest.ipxe


memtest.ipxe contain:

imgfree pxelinux.0 ||
chain memtest.0 || reboot

memtest.0 and memtest.ipxe resides in same folder.

On the screen I see that memtest.ipxe is loaded and executed, then memtest.0 is trying to download, but a long of time only dots appears. Then on the screen appears lot of errors of same type:

UNDINIC 0x2645c could not allocate xx bytes for RX buffer

Where xx some number. If I use tftp insteed - it works ok. On other machines http works too, only on this notebook is the problem.

Hardware Detection Tool detected two nics:

1) Realtec Semiconductor RTL8101E/RTL8102E PCI Express Fast Ethernet Controller
PCI ID: 10ec:8136[17aa:3830]
module: r8169

2) Realtec Semiconductor
Product: unknown
PCI ID: 10ec:8179[10ec:8179]
module: unknown

Please help.

Booting clonazilla/parted magic in UEFI

$
0
0
Hi, I've finally finished with configuring iPXE for our lab.
In legacy mode everything works fine, but in UEFI I can't seem to boot clonezilla or Parted magic in UEFI mode, I always get the error:
"Kernel panic - not syncing: Unable to mount root fs on unknown-block(0,0)"

I've been reading the iPXE in EFI mode is not fully supported, but in the site it says that EFI should be working almost as good as legacy.

Any help would be appreciated.

[howto] ipxe on ubiquiti router with efi/bios support

$
0
0
im sharing a simple howto for a simple ipxe setup that i use on my ubiquiti

on your edgeos, enter configure mode

configure mode:
Code:
set service dhcp-server global-parameters "deny bootp;"
set service dhcp-server global-parameters "include "/config/scripts/ipxe-option-space.conf";"
set service dhcp-server shared-network-name dhcp-lan subnet 10.8.8.0/24 subnet-parameters "include "/config/scripts/ipxe-green.conf";"
set service dhcp-server shared-network-name dhcp-lan authoritative enable

/config/scripts/ipxe-green.conf
Code:
allow bootp;
allow booting;
next-server 10.8.8.1;
option ipxe.no-pxedhcp 1;

if exists user-class and option user-class = "iPXE" {
    filename "http://10.8.8.11/ipxeroot/bootstrap.ipxe";
} elsif option arch = 00:07 {
    filename "ipxe.efi";
} elsif option arch = 00:00 {
    filename "undionly.kpxe";
} else {
    filename "ipxe.efi";
}
yes im aware the above logic is strange but i needed it for it to work in vmware. please adjust accordingly

/config/scripts/ipxe-option-space.conf
Code:
# Declare the iPXE/gPXE/Etherboot option space
option space ipxe;
option ipxe-encap-opts code 175 = encapsulate ipxe;

# iPXE options, can be set in DHCP response packet
option ipxe.priority         code   1 = signed integer 8;
option ipxe.keep-san         code   8 = unsigned integer 8;
option ipxe.skip-san-boot    code   9 = unsigned integer 8;
option ipxe.syslogs          code  85 = string;
option ipxe.cert             code  91 = string;
option ipxe.privkey          code  92 = string;
option ipxe.crosscert        code  93 = string;
option ipxe.no-pxedhcp       code 176 = unsigned integer 8;
option ipxe.bus-id           code 177 = string;
option ipxe.bios-drive       code 189 = unsigned integer 8;
option ipxe.username         code 190 = string;
option ipxe.password         code 191 = string;
option ipxe.reverse-username code 192 = string;
option ipxe.reverse-password code 193 = string;
option ipxe.version          code 235 = string;
option iscsi-initiator-iqn   code 203 = string;

# iPXE feature flags, set in DHCP request packet
option ipxe.pxeext    code 16 = unsigned integer 8;
option ipxe.iscsi     code 17 = unsigned integer 8;
option ipxe.aoe       code 18 = unsigned integer 8;
option ipxe.http      code 19 = unsigned integer 8;
option ipxe.https     code 20 = unsigned integer 8;
option ipxe.tftp      code 21 = unsigned integer 8;
option ipxe.ftp       code 22 = unsigned integer 8;
option ipxe.dns       code 23 = unsigned integer 8;
option ipxe.bzimage   code 24 = unsigned integer 8;
option ipxe.multiboot code 25 = unsigned integer 8;
option ipxe.slam      code 26 = unsigned integer 8;
option ipxe.srp       code 27 = unsigned integer 8;
option ipxe.nbi       code 32 = unsigned integer 8;
option ipxe.pxe       code 33 = unsigned integer 8;
option ipxe.elf       code 34 = unsigned integer 8;
option ipxe.comboot   code 35 = unsigned integer 8;
option ipxe.efi       code 36 = unsigned integer 8;
option ipxe.fcoe      code 37 = unsigned integer 8;
option ipxe.vlan      code 38 = unsigned integer 8;
option ipxe.menu      code 39 = unsigned integer 8;
option ipxe.sdi       code 40 = unsigned integer 8;
option ipxe.nfs       code 41 = unsigned integer 8;

# Other useful general options
# http://www.ietf.org/assignments/dhcpv6-parameters/dhcpv6-parameters.txt
option arch code 93 = unsigned integer 16;

if you want to have tftpd on your edge router (like mine above), sudo apt-get install tftpd-hpa and place your ipxe files in /config/user-data or whereever you prefer and edit /etc/default/tftpd-hpa accordingly.

kudos to robin and mcb30 for making this howto possible.

IPXE ISO boot failure

$
0
0
I have compiled IPXE as 'make EMBED=boot.ipxe DEBUG=dhcp,tftp,http,scsi,iscsi,aoe,bzimage' where boot.ipxe is:

Code:
#!ipxe

# Get a DHCP address
:retry_dhcp
dhcp || goto retry_dhcp
echo DHCP has given IP number ${net0/ip} for MAC ${net0/mac}
echo Gateway IP: ${net0/gateway}

# Override PXE server provided by DHCP
set next-server xxx.xxx.xxx.xxx
set filename /pxelinux/lpxelinux-ipxe.0

# PXE boot
chain http://${next-server}${filename}

The 'lpxelinux-ipxe.0' file has been configured with:

pxelinux-options -a config-file default /var/lib/tftp/pxelinux/lpxelinux-ipxe.0
pxelinux-options -a path-prefix /pxelinux/ /var/lib/tftp/pxelinux/lpxelinux-ipxe.0
pxelinux-options -a next-server xxx.xxx.xxx.xxx /var/lib/tftp/pxelinux/lpxelinux-ipxe.0

I have booted from the resultant ISO on a virtual machine and a physical PC and it will not boot. See below image for the output (I've blanked out our PXE server IP address):

[Image: ipxe.png]

I cannot find any information on what 'bzImage 0xd8814 too short for 91648 byte of setup' means. Also of note is that there is no record on the server of 'ldlinux.c32' being requested.

Can anyone shed any light on this for me?

ipxe in constant loop

$
0
0
When booting uefi ipxe it loops on 'Initializing Devices' .
I have ipxe.efi under tftproot with boot.ipxe script containing:
Does ipxe support nfs? Thanks

---
#!ipxe
kernel tftp://192.168.0.5/vmlinuz initrd=initrd.img
initrd initrd.img
imgargs vmlinuz repo=nfs:192.168.0.5:/home/install/fedora ip=dhcp noipv6
boot
---

iPXE undionly.kpxe Emulex 10GB random hang

$
0
0
Am experimenting with using undionly.kpxe (built from current sources) on various machines, and have an issue with an HP system with an Emulex 10GB NIC (xxx). Some of the time, it all works fine. Some of the time, however, the boot hangs at the iPXE "Press Ctrl-B for the iPXE command line" prompt, and never continues until I reset and try another cycle. Actually pressing Ctrl-B does nothing, no command line.

The card is a "07.00.0 Emulex Corporation OneConnect 10Gb NIC (be3) (rev 01)", "Emulex 10Gb UNDI, PXE-2.0 BIOS v4.0.493.0".

I can tell from Web server logs that in these cases, it never fetches the iPXE script, apparently hangs before that. Do see it getting an appropriate DHCP response.

Are there known issues with Emulex in current versions? Are there hints to debug these sorts of behaviors? Thanks in advance, please let me know if I can provide more detail.
-Alan

iPXE on DELL 7010 in UEFI mode

$
0
0
Hello iPXE community,

over the last weeks I've tried to get a DELL OptiPlex 7010 to PXE boot iPXE in UEFI mode. Helping a friend with this so I don't have a machine here to test myself. But we went through several cycles with different debugging options. This is confirmed by another friend on a 7010 as well.

'DEBUG=device,pci,snp,snponly,snpnet,netdevice'
Code:
iPXE initialising devices...Adding 3c509 root bus
Adding EFI root bus
MII PciRoot(0x0)/Pci(0x19,0x0)/MAC(90b11c9bc14f,0x0) is an MII device
MII PciRoot(0x0)/Pci(0x19,0x0)/MAC(90b11c9bc14f,0x0) is an MII device
SNP PciRoot(0x0)/Pci(0x19,0x0)/MAC(90b11c9bc14f,0x0)/IPv4(0.0.0.0) is an SNP device
SNP PciRoot(0x0)/Pci(0x19,0x0)/MAC(90b11c9bc14f,0x0)/IPv4(0.0.0.0) is an SNP device
NETDEV net0 registered (phys SNP-0xd07eb518 hwaddr 90:b1:1c:9b:c1:4f)
NETDEV net0 could not add SNP device: Error 0x7f45e082 (http://ipxe.org/7f45e082)
SNP PciRoot(0x0)/Pci(0x19,0x0)/MAC(90b11c9bc14f,0x0)/IPv6(0000:0000...) is an SNP device
SNP PciRoot(0x0)/Pci(0x19,0x0)/MAC(90b11c9bc14f,0x0)/IPv6(0000:0000...) is an SNP device
NETDEV rejecting duplicate (phys SNP-0xd07e9d98) of net0 (phys SNP-0xd07eb518)
...
Those 'rejecting duplicate' messages keep repeating for a while. The first phys address is changing every time.

As the error code was pointing me to efi_utils we also tried 'DEBUG=efi_utils' and ended up with this:
Code:
iPXE initialising devices...EFIDEV UNKNOWN(0xd07e9d98) cannot open device path: Error 0x7f45e082 (http://ipxe.org/err/7f45e082)
EFIDEV UNKNOWN(0xd07e9d98) is not a PCI device: Error 0x7f45e082 (http://ipxe.org/err/7f45e082)
EFIDEV UNKNOWN(0xd07e9d98) could not get underlying device information
EFIDEV PciRoot(0x0)/Pci(0x19,0x0)/MAC(90b11c9bc14f,0x0)/IPv4(0.0.0.0)/MAC(90b11c9bc14f,0x1) could not add child PciRoot(0x0)/Pci(0x19,0x0)/MAC(90b11c9bc14f,0x0)/...
EFIDEV UNKNOWN(0xd07e8d18) cannot open device path: Error 0x7f45e082 (http://ipxe.org/err/7f45e082)
EFIDEV UNKNOWN(0xd07e8d18) is not a PCI device: Error 0x7f45e082 (http://ipxe.org/err/7f45e082)
EFIDEV UNKNOWN(0xd07e8d18) could not get underlying device information
...

Again those messages keep repeating for some time with different addresses.

Any hint on what to try next are highly appreciated! Thanks a lot in advance.

Failing to download via http 1 out of 5 times.

$
0
0
Hi, I've set up an iPXE server, all file downloads are done via http.
The problem is that every 1 out of 5 times it'll fail to download the file, it'll show me an error "couldn't retrieve file" and reboot, if i try to boot it again it'll download the same file successfully (trying after 30 sec).

I don't know if this is an iPXE issue or a problem with my server.
I am running the latest version of iPXE on a Centos 7 server.

How can I file out where this problem is coming from?

Also, is it possible to return to the main menu after that kind of error?
In my menu.ipxe file i have
:some_entry
kernel some_kernel
initrd some_initrd.img
boot || goto failed

:failed
echo Booting failed, returning to main-menu
sleep 5
goto start

where start is my main-menu, but this doesn't work, it just reboots.

Recent Build HTTP Oddness

$
0
0
Hello!

I want to start with the devs here are great and do great work!

I did a new build today, after not doing one for a few months, and at first I was having a lot of issues getting http://ipxe.org/420c6001 errors. Then I switched to using Tomcat (which does have keep alive and chunking) as the backend HTTP server. Now it's working again but A TON slower than in the past. A 200mb image takes about 4 minutes to load. I am doing a wimboot, it get to the actual wim file really fast, then instantly goes to 100%, then down to 99%, stays there for the 4 minutes, then boots fine.

Any thoughts?
Dan

Detect if bios or uefi possible?

$
0
0
Is there a function similar to how you can check if you are booted via BIOS or UEFI in a menu simliar to how you can check cpu architecture? My current setup is 2 different static menus, one for each boot mode as certain options dont work in UEFI. I am using dual boot usb sticks via syslinux>ipxe.lkrn and ipxe renamed to BOOTX64.EFI so that way I can support as many different models of computers as possible.
Viewing all 1484 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>