PXE client under Linux #372
-
|
Is there any way to run iPXE, or any other PXE client, under Linux, using sockets to access the network? The reason I ask is that I have a couple of computers with broken UNDI (apparently a design defect). The RDC R6040 ethernet device on the SoC appears to BIOS and iPXE to implement UNDI, but the PXENV_UNDI_INITIALIZE call hangs. But Linux' rdc6040 driver has no trouble driving this device, so I thought if I could get something running under Linux to load the required image and reboot, that could make these machines network bootable. |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 2 replies
-
|
You can actually run iPXE as a Linux binary. The easiest way is to install However, this won't let you actually boot an operating system since there is no way for iPXE to transition back to the real-mode environment in which a kernel starts up. (It would be possible to add The datasheet for the R6040 seems to be included within http://d1.nuuo.com/NUUO/IO_POS/IO%20Box/Prohubs/R3210_F13_LQFP_full_%2020080828(Gigabyte).pdf and the implementation looks pretty straightforward (less than a day's work). I'd probably do the driver development just for fun if suitable hardware is easily and cheaply available. Have you seen computers using this SoC on eBay or similar? |
Beta Was this translation helpful? Give feedback.
-
|
I figured a Linux socket-based solution would involve kexec. I don't know
much about kexec, but if iPXE gets the kernel and initrd and kernel options
from the server, I could probably pretty easily extend it to kexec them.
But I'm more interested in your simpler idea of making an iPXE driver for
R6040.
I can give you a computer with this ethernet adapter in exchange for writing
the driver. I'd rather give you a different SoC than the one which is causing
the problem for me because of UNDI not working, but they both have R6040
ethernet and the same Linux driver ('rdc6040') works on both, so an iPXE
driver that works on one should work on the other.
What I have is an Ebox-3300MX. The SoC is MSTI PDX-1000. Equivalent to
Vortex86DX aka Xcore86 DX. It's about 120mm x 120mm x 35mm. SVGA DE-15
monitor connector, PS/2 keyboard jack. I don't know if BIOS can use a USB
keyboard. It can boot from a USB flash drive, though.
…--
Bryan Henderson San Jose, California
|
Beta Was this translation helpful? Give feedback.
-
|
@giraffedata The iPXE native RDC driver is now merged: 4aa037582 On my test hardware there are some issues that prevent the system timer interrupt (IRQ0) from working as expected, which I'm currently working around by forcing the use of |
Beta Was this translation helpful? Give feedback.
@giraffedata The iPXE native RDC driver is now merged: 4aa037582
On my test hardware there are some issues that prevent the system timer interrupt (IRQ0) from working as expected, which I'm currently working around by forcing the use of
TIMER_RDTSCandNAP_NULL. These are unrelated to the driver for the NIC.