SOLVED iPXE Boot Menu issue with SVN 4375

  • So trying SVN Build 4375 and ran into a small problem with the iPXE boot Menu option where we have a lab of computers with 2 hard drives. hd0 which has Linux and hd1 with Windows.

    I have one machine set to go to our SVN4375 fog machine to make the boot menu a little more ‘cleaner’ with Tom’s help, however, seeing the following reaction:

    If left alone, Boot from Hard Disk Option works to boot hd0.
    Trying to use the defined fog.local.linux or with the defined parameter:

    chain -ar http://${boot-url}/service/ipxe/grub.exe --config-file=“rootnoverify (hd1);chainloader +1” || goto MENU

    This loops back to the menu under the state the menu options are (Tom gave me a script to define a ‘use this as default’ for time jobs).

    Manually selecting the alternate menu items yields the same problem, so it never really goes to ‘boot’ the option we would like. The Boot Menu has the exit type set to ‘grub style’. I have also tried doing ‘exit style’ and ‘sanboot style’ as well and still running into the same problem with the custom boot drive menu options…

    The only real difference between linux and windows on the quoted parameter is hd0 for linux and hd1 for windows.

    Is there something else I am missing somewhere?

  • Senior Developer

    Found the http://${boot-url} was incorrect as I already create the boot-url with the http in it. So it was essentially calling: http://http://IP/fog/service/ipxe which won’t work EVER.

    Also found issue with the way sanitized strings are stored in db. This, by itself, isn’t problematic, but as we return the ipxe code in pure text, the string was printed exactly.

    This is fixed now in trunk. Basically double quotes was the boot param issue. As grub has “rootnoverify…blahblahblah”, it was printing the string from DB as

  • Senior Developer

    One things that make me wonder if the boot URL is correct or not is while you replaced it with the IP did you ask the web portion of it so it should be IP/fog/service/etc.

  • One more thing to clarify as well… I have also tried replacing the ${boot-url} with the ip of the fog server, thinking maybe that had something to do with it, but not the case here… I also checked to see that service/ipxe/grub.exe does exist (Which it should, since I think this is also the same format used by the default bootatexit within the BootMenu.class.php file as well.