Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Odd problem with HPE smart array and sanboot
2020-09-25, 16:52 (This post was last modified: 2020-10-06 09:13 by p4rancesc0.)
Post: #1
Odd problem with HPE smart array and sanboot
Hi,

I'm booting a couple of old HPE BL460G6 server with iPXE.
I'm using iPXE with MAAS and I'm stuck with the final phase of deploy where the ipxe.cfg should tell to the server to boot from le local drive.

Nothing new, I found a lot o people complaining about this and the HPE smart array controller.

But I found out really an odd behaviour:

If the ipxe script contains only:
sanboot
everyhting get stuck

But if I press control + B, enter the iPXE console, and issue the command:
sanboot
everything works like charm...

I tried with some sleep and other odd solution inside the but nothing seems to work.

Can anyone please explain to me the difference between issuing the sanboot command from a script or issuing into the interactive console ?

I'm using:

ipxe.pxe

and

undionly.kpxe

BR
Francesco

PS
it's the 3rd time I try posting... sorry in advance for eventually double or triple posting
Find all posts by this user
Quote this message in a reply
2020-10-06, 09:10 (This post was last modified: 2020-10-07 09:53 by p4rancesc0.)
Post: #2
RE: Odd problem with HPE smart array and sanboot
Hi everybody, still so sorry for the triple posting.

I did some more testing:

If the ipxe script contains only:
console
and then execute manually
sanboot

everything get stuck

But if I press control + B, enter the iPXE console, and issue the command:
sanboot
everything works like charm...


So, I guess which is the difference between the CTRL+B console and the console instance created with the script.

I did some debugging...

This is code line where everything get stuck:

PHP Code:
__asm__ __volatile__ REAL_CODE "pushw %%es\n\t"
                                           "pushl %%ebx\n\t"
                                           "popw %%bx\n\t"
                                           "popw %%es\n\t"
                                           "stc\n\t"
                                           "sti\n\t"
                                           "int $0x13\n\t"
                                           "sti\n\t" 
/* BIOS bugs */
                                           
"jc 1f\n\t"
                                           "xorw %%ax, %%ax\n\t"
                                           "\n1:\n\t"
                                           "popw %%es\n\t" 
)
                               : 
"=a" status ), "=b" discard_b ),
                                 
"=c" discard_c ), "=d" discard_d )
                               : 
"a" 0x0201 ), "b" ( *address ),
                                 
"c" ), "d" drive ) ); 

it's inside :

src/arch/x86/interface/pcbios/int13.c

the function is:

static int int13_load_mbr ( unsigned int drive, struct segoff *address )

Best Regards
Francesco
Find all posts by this user
Quote this message in a reply
Post Reply 




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