Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
iPXE booting a preloaded pxelinux.0
2014-04-15, 10:57
Post: #1
iPXE booting a preloaded pxelinux.0
Hi Everyone,

I have managed to successfully boot a an IBM firmware update (called: ToolsCenter) pxelinux.0 file from iPXE
My iPXE script is as follows:
Code:
chain http://${next-server}/pxelinux.0

However what happens is, even though pxelinux.0 loads using http in ipxe, the moment it executes it looks to load the rest of the stack from tftp:
Code:
/var/lib/tftpboot
(I'm using Centos)

from there it grabs the default file:
Code:
/var/lib/tftpboot/pxelinux.cfg/default

The contents of the default file is as follows:

Code:
prompt 0
default toolscenter
timeout 100
label toolscenter
display bsb.msg
kernel /UpdateFirmware/img2a
append initrd=/UpdateFirmware/img3a vga=0x317 root=/dev/ram0 rw ramdisk_size=100000 tftp_server=192.168.99.1 tftp_tcrootfs=/UpdateFirmware/tcrootfs tftp_tczip=/UpdateFirmware/tc.zip debug_level=1 silent_boot=no boot_src=4 iommu=soft ipstatic6=auto

The tool works perfectly fine, however pxelinux.0 loads img2a and img3a using TFTP and for some reason its SUPER slow !
As a matter of fact if I boot the pxelinux.0 directly by changing some parameters in the dhcpd.conf file, the same exact stack: pxelinux.0, img2a, img3a boot three if not four times as fast.

I've tried chaining iPXE -> gPXE -> pxelinux.0 (ibm) however the sluggish tftp performance remains.

I'm wondering is it possible to preload the 3 files in iPXE before execution so they don't need to be downloaded via pxelinux.0 (via tftp) ?

i've tried the following:
Code:
initrd http://${next-server}/ibmstk/UpdateFirmware/img3a
initrd http://${next-server}/ibmstk/UpdateFirmware/img2a vga=0x317 root=/dev/ram0 rw ramdisk_size=100000 tftp_server=192.168.10.1 tftp_tcrootfs=/UpdateFirmware/tcrootfs tftp_tczip=/UpdateFirmware/tc.zip debug_level=1 silent_boot=no boot_src=4 tftp_blksize=1420 iommu=soft ipstatic6=auto
chain http://${next-server}/ibmstk/pxelinux.0

however what ends up happening is the initrd preloads are ignored and as soon as pxelinux.0 executes it looks to download from the tftp directory: /var/lib/tftpboot

Is there a way around this ?
Find all posts by this user
Quote this message in a reply
2014-04-18, 13:10
Post: #2
RE: iPXE booting a preloaded pxelinux.0
You'll need to do something like this to set the pxelinux.0 prefix (because the auto-calculated one ends up wrong) and config file location:

Code:
set 210:string http://${next-server}/
set 209:string pxelinux.cfg/default
chain http://${next-server}/pxelinux.0
Visit this user's website Find all posts by this user
Quote this message in a reply
2014-05-06, 19:17
Post: #3
RE: iPXE booting a preloaded pxelinux.0
I've also been working with the IBM ToolsCenter and Update Express to have a remote boot - I've gotten pretty far in that a client will TFTP img2a and img3a and then start booting up loading, but when it gets to the point where the tcrootfs is TFTP'ed to the boot client, it eventually times out and the ToolsCenter boot up aborts.

I think there is something wrong with the tcrootfs file - it will not successfully transfer via TFTP and I've tested it on my WDS setup as well as a standalone Solaris 8 server. I've tried different versions of IBM's BCOM utility that creates the PXE files for this setup and get the same result.

I googled all over but have not found anything about this problem, so, I decided to post about it here and hopefully find an answer. There's not much info on PXE boot and IBM's ToolsCenter/Update Express...
Find all posts by this user
Quote this message in a reply
2014-05-11, 22:02
Post: #4
RE: iPXE booting a preloaded pxelinux.0
why not get rid of pxelinux.0 and just have your ipxe script like this:

kernel http://${next-server}/UpdateFirmware/img2a vga=0x317 root=/dev/ram0 rw ramdisk_size=100000 tftp_server=192.168.99.1 tftp_tcrootfs=/UpdateFirmware/tcrootfs tftp_tczip=/UpdateFirmware/tc.zip debug_level=1 silent_boot=no boot_src=4 iommu=soft ipstatic6=auto
(command is probably wrapped and should all be on one line)
initrd http://${next-server}/UpdateFirmware/img3a
boot
Find all posts by this user
Quote this message in a reply
2015-09-15, 13:18
Post: #5
RE: iPXE booting a preloaded pxelinux.0
(2014-04-18 13:10)robinsmidsrod Wrote:  You'll need to do something like this to set the pxelinux.0 prefix (because the auto-calculated one ends up wrong) and config file location:

Code:
set 210:string http://${next-server}/
set 209:string pxelinux.cfg/default
chain http://${next-server}/pxelinux.0

Hi Robin, How to do the same in UEFI. We need to load grub.efi and efidefault files to boot from pxe server. How to link up the both files in order to load the menu.
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 




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