Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
When do I use .pxe, .kpxe, and .kkpxe?
2013-07-27, 16:27
Post: #1
When do I use .pxe, .kpxe, and .kkpxe?
Hi!

When do I use .pxe, .kpxe, and .kkpxe?
Find all posts by this user
Quote this message in a reply
2013-07-28, 04:14
Post: #2
RE: When do I use .pxe, .kpxe, and .kkpxe?
from Etherboot.org:
  • .pxe is an image designed to be chain loaded, unloading both the underlying PXE and UNDI code sections
  • .kpxe is a PXE image that keeps UNDI loaded and unloads PXE
  • .kkpxe is a PXE image that keeps PXE+UNDI loaded and return to PXE (instead of int 18h). From here
And there is also .kkkpxe - "The ipxelinux.0 build process should therefore now use undionly.kkkpxe instead of undionly.kkpxe."

Most often, you will want either .pxe, .kkpxe (for when you are using cached credentials, iirc), and .kkkpxe (usually the last two are in combination with pxelinux).

Typically I use .pxe here at home, and at work.
Find all posts by this user
Quote this message in a reply
2013-07-28, 06:47
Post: #3
RE: When do I use .pxe, .kpxe, and .kkpxe?
thanks man.
Find all posts by this user
Quote this message in a reply
2013-07-29, 08:58
Post: #4
RE: When do I use .pxe, .kpxe, and .kkpxe?
I just want to add to what Sedorox said.

You usually use a .pxe when you want to use native iPXE drivers, most likely loading ipxe.pxe using chainloading.

And .kpxe is most commonly used with undionly.kpxe, because it allows you to use the driver of the vendor PXE ROM (which is handy when iPXE doesn't support your card, or the iPXE driver is broken in some way).

I would have to argue that .pxe and .kpxe is the more commonly used forms, and .kkpxe is mostly used for buggy BIOSes and .kkkpxe is just for the ipxelinux.0 build (and nothing else).

I am also a user of ipxe.pxe at home, because all my hardware is supported.
Visit this user's website Find all posts by this user
Quote this message in a reply
2013-08-14, 22:45 (This post was last modified: 2013-08-14 22:47 by MultimediaMan.)
Post: #5
RE: When do I use .pxe, .kpxe, and .kkpxe?
Adding to what Robin said: It is possible, indirectly at least, to create an 'intermediate' script which determines if your hardware should chain ipxe.pxe or continue on with undionly.kpxe.

Example: 'checkipxe.ipxe'
Code:
#!ipxe
#Check for known Platforms.

set 1_lp_c:int32 0

:1_prod_set isset ${product} || goto 1_end_c

:1_loop_0 set 1_product Latitude E6320 ; set 1_argument 1_stay-undi ; set 1_return_loop 1_loop_1 ; goto 1_function

:1_loop_1 set 1_product PowerEdge R720 ; set 1_argument 1_go-native ; set 1_return_loop 1_loop_end ; goto 1_function

:1_loop_end goto 1_stay-undi

:1_function iseq ${product} ${1_product} && goto ${1_argument} || goto 1_end_c

:1_stay-undi echo ; echo Attempting UNDI Boot Script... ; chain -ar ${17}/default.ipxe && goto 1_end_c || goto 1_end_c

:1_go-native echo ; echo Attempting Native Boot Kernel... ; chain ${17}/webipxe.pxe && goto 1_end_c ||

:1_end_c exit

It's not a perfect method, but if you have a reasonable hardware inventory you might find this workable.

Best,

M^3

"Thus far, you have been adrift within the sheltered harbor of my patience..."
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)