2016-12-17, 15:33
Hello,
I purpose to set pxe in grub,then MBR boot auto pxe after reboot os.
I have followed online instructions to download latest iPXE from git and run "make" which finished successfuly.
My attempt with undionly.ipxe for PXE was successful and acomplished what I expected.
Next logical step would be to add ipxe.lkrn to my grub configuration file which I did and ipxe.lkrn loads in MBR but it does not detect network interface.
I have two nics to be set pxe in BIOS, set two nics pxe are enable in BIOS. MBR boot from ipxe.lkrn may was successful.But I set one nic pxe is enable in BIOS. It does not detect network interface.
I trace to the code for this problem, I find the code is
Well it is a strange situation that iPXE on the PXE finds and configures network interface successfully but ipxe.lkrn does not detect network interface.
I purpose to set pxe in grub,then MBR boot auto pxe after reboot os.
I have followed online instructions to download latest iPXE from git and run "make" which finished successfuly.
My attempt with undionly.ipxe for PXE was successful and acomplished what I expected.
Next logical step would be to add ipxe.lkrn to my grub configuration file which I did and ipxe.lkrn loads in MBR but it does not detect network interface.
I have two nics to be set pxe in BIOS, set two nics pxe are enable in BIOS. MBR boot from ipxe.lkrn may was successful.But I set one nic pxe is enable in BIOS. It does not detect network interface.
I trace to the code for this problem, I find the code is
Code:
/* Call loader */
undi_loader_entry = undirom->loader_entry;
__asm__ __volatile__ ( REAL_CODE ( "pushl %%ebp\n\t" /* gcc bug */
"pushw %%ds\n\t"
"pushw %%ax\n\t"
"lcall *undi_loader_entry\n\t"
"popl %%ebp\n\t" /* discard */
"popl %%ebp\n\t" /* gcc bug */ )
: "=a" ( exit )
: "a" ( __from_data16 ( &undi_loader ) )
: "ebx", "ecx", "edx", "esi", "edi" );
if ( exit != PXENV_EXIT_SUCCESS ) {
/* Clear entry point */
memset ( &undi_loader_entry, 0, sizeof ( undi_loader_entry ) );
rc = -EUNDILOAD ( undi_loader.Status );
DBGC ( undi, "UNDI %p loader failed: %s\n",
undi, strerror ( rc ) );
return rc;
}
Well it is a strange situation that iPXE on the PXE finds and configures network interface successfully but ipxe.lkrn does not detect network interface.