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

too big rom file for 64k NIC ROM chip

$
0
0
Hi,
I've made the 80861229.rom for Intel NIC. But I can't burn one into the flash because this file is very big - 68 096 Byte.
Is somebody know the way to get rom file with correct length?

Read this BEFORE your first post!

$
0
0
The most important information from the FAQ thread for new users:

(2012-10-05 10:23)FAQ Wrote:  I registered and posted a question, but I can't see it anywhere. Where is my post?

First time posters will have their messages moderated until at least one message is approved by a moderator. Once that first post has been approved you'll be free to post as much as you want without moderation. We've had to go to this extreme to protect the forum against spammers.

How long does it take for my first post to be moderated?

iPXE is not a very large project, and this forum has very few moderators. At best your post might be moderated the same day, at worst it could take up to a couple of weeks. The average time is usually 3-4 days.

Issue iPXE booting win10 1709 hyper-v vm

$
0
0
We are using ipxe via FOG to image machines. It seems after the 1709 update, our (gen 1) hyper-v vms started having issues with ipxe. Attempting to network boot a vm after 1709 (that worked before with no changes) the machine will freeze at "ipxe initializing devices..." and loads up 100% on one core of the cpu. I have left the machine for at least 3 days without it progressing, so I'm pretty sure it has failed at that point. We were using an old version of undionly.kpxe, so I tried the latest master (47849 as of when I built it) and had the same problem.
I tried the intel and ipxe.kpxe files included with fog, which were probably old versions but exhibited the same behavior. Strangely gen 2 vms work without any issues. After much trial and error, I finally compiled an undionly.kpxe that functioned properly in FOG. Commenting out these lines allowed ipxe to continue correctly:
#define DOWNLOAD_PROTO_HTTPS
#define IMAGE_TRUST_CMD
#define CERT_CMD
Unsure why, yet it funtions properly for me now. While I do not need any https or certificate functionality, to me this seems like a bug or issue with compatibility with windows 1709 that you collectively may want to know about. If I have left out any relevant information, let me know and I'll try to respond.

Driver issue on diskless windows installations

$
0
0
Hey there and thank you in advance for any assistance.

I have been trying to install any version of Windows to an iSCSI drive. I understand windows 10 currently does not work, so I tried windows 7. The workstation I did this on was a Lenovo s30 which uses the driver: e1i63x64.sys file from what I can tell. The problem I'm having is, when doing the boot after the install, I get an error saying the certificate for that .sys file could not be verified. I press enter, hit F8, select disable driver verification, and then it comes up with an error about the same file saying it's missing or corrupt. I have tried numerous different windows 7 iso's. I was successful at installing Windows 7 in a VM via the same method though(I'm assuming it's not using that driver).

My question is, has anyone else encountered this? Is there any recommendations to get past this part? Thank you!

Blanking display of MAC and IP

$
0
0
I currently burn the 14e4-1656 and would like to blank out the DHCP details. Is this possible?Undecided

ipxe speed with http

$
0
0
I am currently booting some CentOS 7 servers with with gpxe (From my understanding outdated for 7 years now). I'm botting a 500mb .img file using a gpxelinux.0 file, but it takes about 10-15 minutes to download the file. It doesn't really make sense as once the server is up, I can transfer the same img file to it in about 3 seconds.

I think I'm interested in using iPXE chainloading following the instructions here: https://coderwall.com/p/0sq9gg/how-to-build-ipxelinux-0

A few quick questions.
- Does using ipxe rather than gpxe offer a much greater transfer speed for images over http?
- Does anyone have any recommendations on how best to do this with Centos 7, and ipxe?
- Does chainloading with the "pxelinux.0 embedded" like the link above shows offer a faster way to boot large image files over http? If so can we continue to just have a HEX file to match the IP subnet with the boot options in it?

Just having a hard time finding good documentation on this. It seems like a lot of the how-tos online are just doing outdated pxe boots.

Lenovo Thinksystem ST550

$
0
0
I can't seem to get my uEFI ipxe debug to work on this hardware..Seems to fail initializing the Network.

The network ports are part of the chipset: Two integrated Gigabit Ethernet 1000BASE-T ports (RJ-45) based on Intel X722 embedded controller (No 10/100 Mbps support)

I downloaded the latest source and re-complied the debug.efi

29 hours ago Michael Brown [efi] Drop to TPL_APPLICATION when gathering entropy master github/coverity_scan github/master commit | commitdiff | tree | snapshot (tar.gz tar.bz2 zip)

I am not a driver developer, so any help would be appreciated.

Randy

iPXE support for recent EC2 M5 instances

$
0
0
Hi All,

I'm trying to determine if I'm doing something wrong or if the network adapter in the latest EC2 M5 generation simply isn't supported.

I've build iPXE using the commands in http://git.ipxe.org/ipxe.git/commitdiff/cc25260, but I'm using the latest commit (d8c500b7945).

I then import ipxe.usb into EC2 and turn it into an AMI.

When I launch something like a t2.micro with it, it detects the network interface (net0) and can configure it.

When I launch any M5 instance type (or really anything that uses ENA from https://docs.aws.amazon.com/AWSEC2/lates...king.html) net0 doesn't show up.

The best example I have is that an m4.10xl will have net0, and m4.16xl will not. Has anyone had any success with the ena driver, and do I maybe need to turn it on/register it when compiling iPXE?

Thnx,
Dennis

Using scriptlet option?

$
0
0
Hi all.
I've encountered several mentions of the "ipxe.scriptlet" dhcp option (encap: 175:81) on the forums and around, but couldn't find documentation or a good example. Is it deprecated or something?

I'd like to use it to set a variable used later in the main script, so I set dnsmasq to pass this inside the option:
Code:
dhcp-option-force=<tag filters...>,encap:175,81,"set nd-option live-netdev=eth1"
Now, how do I execute it? Testing in the interactive shell, the obvious ${scriptlet} tries to use the entire string as a command name:
Code:
set nd-option live-netdev=eth1: command not found

Allow Any Initiator Without authorizating - iSCSI Windows Server

$
0
0
Hi Guys,

First at all, your project is like god to iSCSI boot. Thanks for sharing.

Ok, now about the question. I try to implement Windows 10 and Ubuntu with your tool, its all working, but I wanna move to Windows Server iSCSI (I built in FreeNas VM).
The problem is, everytime I wanna boot for another machine, I have to allow initiator on Target. There´s any way to allow all initiators like FreeNAS?
Sorry for that question here, but I already try many ways, and I can't find a solution for this, and maybe someone here can help.

Thanks,

ipxe for PRO 1000 intel 808610d3.rom not woking

$
0
0
Hi

we are trying to get Ipxe working on AMD board with pro1000 (808610d3 - 82574L NIC). This is working good on couple of boards.

we have made few changes to SATA and added new wifi card, the Ipxe is not working on new board.

Problem observed: unable to find mac and net devices (busid and mac is blank). Ipxe code keeps trying in function "ifcommon_exec" :

/* Try all interfaces */
rc = -ENODEV;
for_each_netdev ( netdev ) {
if ( ( ( rc = ifcmd->payload ( netdev, opts ) ) == 0 )
&& ifcmd->stop_on_first_success ) {
return 0;
}

please help me to debug the issue. let me know what may be the problem.

Can i use pciscan command to fill config information dynamically.

Thanks
Bhaskar

Can a Windows 2016 server provide two PXE boot sources?

$
0
0
I'm here because I have very little experience with the concept of PXE boot. In fact I've only used it once or twice to restore workstation images from Server Essentials backups (re: https://windowsserveressentials.com/2014...restore/).

But I've now run into a pretty serious problem that's preventing me from running a clean Windows Enterprise install on a workstation. You can read about the whole saga here:

https://github.com/pbatard/rufus/issues/1097

In a nutshell, the ISO contains files that are too big for FAT32, and apparently the UEFI on this system doesn't properly support booting to NTFS.

It's starting to look like my only option here is a network boot (at least if I want to use UEFI, that is—which I do). But I'm already running a PXE server with 2016 Essentials Server. I need to retain the current functionality; I can't get rid of it.

Is it possible to have two different PXE sources running on the same Hyper-V Gen2 VM? The first would be the native functionality built-in to Essentials, and the second would be iPXE serving up a +4GB ISO (over a gigabit Ethernet LAN). And if so, how/where would I even begin setting this up?

I'm afraid I get absolutely lost when I start to read about all of this.

iPXE slow to download vmlinuz and initrd

$
0
0
Hello,


I have a bios based 32-bit desktop from the previous decade, with a Fast Ethernet PXE NIC embedded in the mobo.
The desktop is multiboot with GRUB2 entries for my local OSes which I need from time to time. But it is primarily an LTSP thin client (the LTSP server is running on Ubuntu 16.04.3).
PXE booting via the embedded Fast Ethernet NIC was working well and rather fast, but once logged in, the desktop was a bit slow for certain applications (youtube videos would often freeze, etc.).
So I installed a 10 times faster Gigabit PCI NIC (TP-Link TG-3269, based on Realtek RTL8169SC), which doesn't have a PXE ROM.
To compensate for the lack of PXE ROM, I added a GRUB2 entry pointing to ipxe.lkrn, which I downloaded from ipxe.org.
This "works".


The good thing is: once I am done booting with iPXE, the old desktop behaves like a fast 2018 desktop (thanks to the LTSP server being powerful enough and to the Gigabit NIC of the desktop). This is really impressive.


Problem:

To boot the desktop, despite the Gigabit NIC, iPXE takes ~2 minutes to load vmlinuz (~6Mb) and ~8 minutes to load initrd (~36Mb).
The total boot time is over 10min, which is unacceptable in practice.
With the Gigabit NIC, iPXE could arguably take around 0.34s to download vmlinuz and initrd (i.e. almost 2000 times faster).

This is a real pain and this is also very surprising since PXE booting with the old Fast Ethernet NIC is an order of magnitude faster than iPXE booting with the Gigabit NIC.


What I can do?


My investigations:

iPXE prints (while booting) that it is using "RTL8169" (not "RTL8169SC"). Not sure how relevant this is.

I noticed, in the source code of iPXE, that the function:
static int realtek_phy_reset ( struct realtek_nic * )
which is implemented in src/drivers/net/realtek.c, comprises the following comment:
/* Some cards (e.g. RTL8169SC) do not advertise Gigabit by
* default. Try to enable advertisement of Gigabit speeds.
*/
However, since the issue seems to be addressed in iPXE (based on my understanding of the code), I don't know what more to do...
And I assume this would not explain the factor 2000 issue I face: I can't imagine iPXE configuring the NIC at a speed below 10Mbit/s (which would take about 34s, not 10min, to download vmlinuz and initrd).

I read that multi-NIC clients may pose problems to iPXE. But I already deactivated the Fast Ethernet NIC at bios level, it is no longer visible (the system appears to only have the Gigabit NIC) and this does not improve the situation.

I read on forums about real-mode issues in iPXE (which would employ old and buggy memory management techniques?) but this seemed to be in a different context and I am not sure how relevant/correct this is.

If I could easily preload vmlinuz and initrd locally from the HDD of the desktop without compromizing (i.e. without having to completely reconfigure) the rest of the iPXE boot, this could be an option.
I thought of a possible dirty hack (that I would need to investigate further) into:
int imgdownload_string ( const char *uri_string, unsigned long timeout, struct image **image )
so that when I recognize that the uri_string parameter points to my vmlinuz or to my initrd, instead of calling imgdownload I create an image structure and copy the relevant data into it from local copies.
Not sure how easy it is to implement in view of analyzing the image structure, understanding how to fill it so that it looks (to the rest of the program) like it was just downloaded, etc.

But I assume there must be another way.

At that stage I cannot afford to spend days on this while I may be doomed to fail (not in the near future at least), hence my present request for help.

The options I currently exclude:
1 - dropping iPXE and using a PXE gigabit NIC (I don't have one and I now think I need iPXE for other reasons anyway).
2 - dropping any form of PXE and booting the LTSP client locally by copying the LTSP ISO on the old desktop (despite this being advertized as a trivial possibility, it appears to be very tricky to configure, at least for me, and I gave up after a few days of unsuccessful attempts).


Thanks!

Apple Keyboards, EFI and iPXE

$
0
0
I have see a number of references to a known issue with Apple keyboards and in particular the use of the CTRL key. Has anyone made any headway in sorting out the issues or a cause?

wimboot and uefi-boot

$
0
0
Hello,

I followed the instructions on this page http://ipxe.org/howto/winpe for installing windows 7 on a non-uefi machine and its works flawlessly. Now I tried to adapt this for uefi, but I have a issue with the startup batch file.

My ixpe script
Code:
:win7install
echo Windows 7 Installer wird gestartet
kernel ${boot-url}/wimboot pause
initrd ${boot-url}/installers/install_7.bat                           install.bat
initrd ${boot-url}/installers/winpeshl.ini                            winpeshl.ini
initrd ${boot-url}/_winpe8/${arch}/media/EFI/Microsoft/Boot/BCD       BCD
initrd ${boot-url}/_winpe8/${arch}/media/Boot/boot.sdi                boot.sdi
initrd ${boot-url}/_winpe8/${arch}/media/sources/boot.wim             boot.wim
imgstat
prompt
boot || goto failed
goto start

As you can see I have an install_7.bat on my server with specific commands für the Windows 7 installation. With the initrd funtion it should be renamed to install.bat and then injected on the fly to the WIM. This procedure works well with undionly.kpxe, but fails with ipxe.efi. In the booted winpe the file is still named install_7.bat, so the call from winpeshl.ini doesn't work and the windows setup cannnot be started. Any idea what's wrong?

I would have liked to added some screenshots, but the forum software doesn't let me....

Problem with more than 1 interface

$
0
0
Hi everyone,

I´m in the process of developing a small PXE solution for our industrial machines and I´m using iPXE to load what I need there.

Now, some of these machines have more than 1 NIC, maybe 2-4 ,usually at least 2 of them are connected and sometimes this leads to the following issue:

Machine starts up, PXE ROM receives an IP and loads menu, then starting an option like this:
LABEL 5
MENU LABEL MyBootOption
KERNEL /Linux/iPXE/ipxe.lkrn
APPEND dhcp && chain http://1.2.3.4/whattodonext.php

Now I´ve seen 2 different things happen on the same device, within 5 minutes and 10 reboots:

Possibility 1: NIC comes up, receives IP, further commands are loaded via the PHP file, everything nice

Possibility 2: Trying to "up" eth0 and failing. The MAC showed is NOT the correct one, therefore I guess ipxe is trying one of the other internal interfaces and fails (depending on machine type they may be up or disconnected).
It is not trying to bring up other interfaces but fails immediately....

Unfortunately I can´t reproduce this error on test machines and my "playtime" with the real device is very limited due to business reasons. So I was hoping that one of you could tell me what to add to the "dhcp" line in the IPXE script that would ensure trying on all interfaces first before proceeding.

Would something like
APPEND :retry && dhcp || goto retry && chain http://1.2.3.4/whattodonext.php

work or would it just be searching for DHCP on the wrong interface forever?

Any help is very much appreciated!

Thanks in advance
LordBadHabit

iPXE setup in mixed environment

$
0
0
Digging around for some days now I wasn't able to find a comprehensive setup for what I think is a quite common scenario.

We are in a mixed environment with linux, windows 7 and windows 10.
Hardware is from different vendors like Dell, HP, Lenovo, Raspberry, ..
The DHCP server is a M$ server 2012 provided by our network team.
The PXE boot server currently is a linux machine.
We use syslinux with cmenu with TFTP to boot different install or recovery images (like gparted) and use Ramdisk to install windows from ISOs.

The problem is that new hardware uses EFI boot and I couldn't get syslinux to work with those.
So I found iPXE as a possible alternative.
Alas I cannot find a good tutorial which describes how to migrate our setup to iPXE.
Can someone possibly point me in the right direction?

Problem building bin-arm32-efi/snp.efi with CONSOLE_SERIAL

$
0
0
I'm trying to build the bin-arm32-efi/snp.efi target for the Raspberry Pi 3 model b+ but am getting the following compilation errors when I have the config option CONSOLE_SERIAL set.

Code:
[VERSION] bin-arm32-efi/version.snp.efi.o
  [LD] bin-arm32-efi/snp.efi.tmp
bin-arm32-efi/blib.a(serial.o): In function `serial_init':
/home/mark/packages/ipxe/src/core/serial.c:145: undefined reference to `uart_select'
bin-arm32-efi/blib.a(serial.o): In function `uart_data_ready':
/home/mark/packages/ipxe/src/include/ipxe/uart.h:112: undefined reference to `uart_read'
/home/mark/packages/ipxe/src/include/ipxe/uart.h:112: undefined reference to `uart_read'
bin-arm32-efi/blib.a(serial.o): In function `uart_receive':
/home/mark/packages/ipxe/src/include/ipxe/uart.h:124: undefined reference to `uart_read'
bin-arm32-efi/blib.a(uart.o): In function `uart_transmit':
/home/mark/packages/ipxe/src/core/uart.c:54: undefined reference to `uart_read'
/home/mark/packages/ipxe/src/core/uart.c:61: undefined reference to `uart_write'
bin-arm32-efi/blib.a(uart.o): In function `uart_flush':
/home/mark/packages/ipxe/src/core/uart.c:75: undefined reference to `uart_read'
/home/mark/packages/ipxe/src/core/uart.c:76: undefined reference to `uart_read'
bin-arm32-efi/blib.a(uart.o): In function `uart_exists':
/home/mark/packages/ipxe/src/core/uart.c:95: undefined reference to `uart_write'
/home/mark/packages/ipxe/src/core/uart.c:96: undefined reference to `uart_read'
/home/mark/packages/ipxe/src/core/uart.c:98: undefined reference to `uart_write'
/home/mark/packages/ipxe/src/core/uart.c:99: undefined reference to `uart_read'
bin-arm32-efi/blib.a(uart.o): In function `uart_init':
/home/mark/packages/ipxe/src/core/uart.c:124: undefined reference to `uart_read'
/home/mark/packages/ipxe/src/core/uart.c:126: undefined reference to `uart_write'
/home/mark/packages/ipxe/src/core/uart.c:131: undefined reference to `uart_write'
/home/mark/packages/ipxe/src/core/uart.c:132: undefined reference to `uart_write'
/home/mark/packages/ipxe/src/core/uart.c:138: undefined reference to `uart_write'
/home/mark/packages/ipxe/src/core/uart.c:141: undefined reference to `uart_write'
bin-arm32-efi/blib.a(uart.o):/home/mark/packages/ipxe/src/core/uart.c:144: more undefined references to `uart_write' follow
bin-arm32-efi/blib.a(uart.o): In function `uart_init':
/home/mark/packages/ipxe/src/core/uart.c:134: undefined reference to `uart_read'
/home/mark/packages/ipxe/src/core/uart.c:135: undefined reference to `uart_read'
arm-linux-gnueabihf-ld: bin-arm32-efi/snp.efi.tmp: hidden symbol `uart_select' isn't defined
arm-linux-gnueabihf-ld: final link failed: Bad value
Makefile.housekeeping:1179: recipe for target 'bin-arm32-efi/snp.efi.tmp' failed
make: *** [bin-arm32-efi/snp.efi.tmp] Error 1
rm bin-arm32-efi/version.snp.efi.o

My toolchain is running on Ubuntu 17.10 x64 with the environment CROSS_COMPILE=arm-linux-gnueabihf- set.

I'm enabling the CONSOLE_SERIAL option in an attempt to get console access to the device over the serial interface. I'm loading the snp.efi module from U-Boot which has the console working correctly.

Has anyone tried something similar or got the serial console working for iPXE on the Raspberry Pi?

issue building from rom-o-matic and source.

Configuring iPXE to DHCP probe a specific interface

$
0
0
Hello all, I have a machine with two external 10G NICs and an internal interface. I will only be booting iPXE from one of the 10G NICs so I was wondering if there was some way to possibly have iPXE only probe and send DHCP requests from that one specific interface rather than it cycle through all three each time.
Viewing all 1484 articles
Browse latest View live


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