IPXE Advanced Menu or Memdisk Problem



  • I am not sure if I have my advanced menu written poorly or if I have a problem with my memdisk file. I tried another memdisk file provided in another post

    [url]http://fogproject.org/forum/threads/pxe-boot-goldmemory.12/[/url]

    This had no change. Below is my Advanced menu script and below that I will include my error message.

    #/ Begin Boot Menu. the Pound and slash are not part of the menu script
    set fog-server IP-ADDRESS
    set boot-url [url]http://IP-ADDRESS/fog/[/url]

    :start-http
    menu City of Lewiston - Imaging and Diagnostics

    item VMware VMware - Live
    item DellDiag Dell Diagnostics
    item hostinfo Host Informaton (Your Machine Info)

    #item foginfo FOG system info

    choose fog-opt && goto ${fog-opt}

    :VMware
    initrd [url]http://IP-ADDRESS/fog/service/ipxe/VMware/TinyCORE.iso[/url] raw
    kernel [url]http://IP-ADDRESS/fog/service/ipxe/memdisk[/url]
    boot

    :DellDiag
    initrd [url]http://IP-ADDRESS/fog/service/ipxe/DellDiagnostics/DellDiag-7.iso[/url]
    kernel [url]http://IP-ADDRESS/fog/service/ipxe/memdisk[/url] iso raw ||
    boot

    :hostinfo
    echo This computer : ||
    echo MAC address…${net0/mac} ||
    echo IP address…${ip} ||
    echo Netmask…${netmask} ||
    echo Serial…${serial} ||
    echo Asset number…${asset} ||
    echo Manufacturer…${manufacturer} ||
    echo Product…${product} ||
    echo BIOS platform…${platform} ||
    echo ||
    echo press any key to return to Menu ||
    prompt

    goto MENU

    /#end menu

    MEMDISK: Image has fraction end sector
    MEMDISK: Image seems to have fractional end cylinder
    Disk is hd0, 37038 k, C/H/S = 36/64/32 (guess/guess), EDD on, rw
    Using safe INT 15h access to high memory
    Total size needed = 2381 bytes, allocating 3K
    Old dos memory at 0x8e400 (map says 0e8400), loading at 0x8d800
    1588: 0xffff 15E801: 0x3c00 0x7b17
    INT 13 08: Success, count = 2, BPT = 0000:0000
    old: int13 = 8e40000a int15 = 8e40037f int1e = f000efc7
    new: int13 = 8d40000a int15 = 8d80037f int1e = f000efc7
    Loading boot sector… booting… <------ This is where the machine will hang forever.

    I can’t seem to make it past this part.

    any help would be appreciated and an education would be even more appreciated! :)

    Note to the Developers:

    Awesome Product and Service you provide. Just plain incredible.


  • Developer

    it changes how ipxe attempts to exit and allow the computer to the hard drive. different bios may require different methods to boot properly



  • What does the “Exit to Hard Drive Type” do/change?



  • My issue is fixed. I posted my update in the wrong thread. The full answer is here:
    [URL=‘http://fogproject.org/forum/threads/fog-0-33b-edit-pxe-menu.10403/page-2#post-30033’]http://fogproject.org/forum/threads/fog-0-33b-edit-pxe-menu.10403/page-2#post-30029[/URL]

    Basically my advanced.php was out of date and wasn’t being updated in svn updates. Hard coding my server IP fixed advanced menus for me.


  • Senior Developer

    [quote=“Eli Kelly, post: 29865, member: 1152”]Hmm… I’ve tried clearing the field and retyping from scratch and still the same issue persists.

    I also tried just typing basic commands in the field:

    [CODE]echo hello world[/CODE]
    [CODE]shell[/CODE]

    I even tried to change the background to something obvious…
    [CODE]cpair --foreground 3 --background 6 0[/CODE]

    No matter what I put in the Advance Menu Code field the result is still a blue background with the default menu list

    As expected if I leave the field blank the Advance Menu option is not listed on the default menu. Same result with svn 1801. Perhaps I will roll up my sleeves and dig into /var/www/html/fog/service/ipxe/advanced.php

    Appreciate any guidance.

    Thanks

    Eli[/quote]

    I’d start here:
    [code]:MENU
    menu
    item --gap – ---------------- iPXE boot menu ----------------
    item ipxedemo ipxe online boot demo
    item shell ipxe shell
    item return return to previous menu
    choose --default return --timeout 5000 target && goto ${target}

    :ipxedemo
    chain http://boot.ipxe.org/demo/boot.php ||
    goto MENU

    :shell
    shell ||
    goto MENU

    :return
    chain http://${fog-ip}/${fog-webroot}/service/ipxe/boot.php?mac=${net0/mac} ||
    ############prompt###################
    goto MENU

    autoboot
    [/code]

    Remove the prompt because it doesn’t know how to interpret the prompt itself is what I’m guessing. Maybe you wanted:
    [code]
    :return
    chain http://${fog-ip}/${fog-webroot}/service/ipxe/boot.php?mac=${net0/mac} || prompt && goto MENU
    [/code]

    The || and a new line just tells iPXE to if it fails, do nothing successfully, which it’s doing, but it doesn’t know how to pass back. It could also be the :MENU setting, but that shouldn’t matter too much.



  • Hmm… I’ve tried clearing the field and retyping from scratch and still the same issue persists.

    I also tried just typing basic commands in the field:

    [CODE]echo hello world[/CODE]
    [CODE]shell[/CODE]

    I even tried to change the background to something obvious…
    [CODE]cpair --foreground 3 --background 6 0[/CODE]

    No matter what I put in the Advance Menu Code field the result is still a blue background with the default menu list

    As expected if I leave the field blank the Advance Menu option is not listed on the default menu. Same result with svn 1801. Perhaps I will roll up my sleeves and dig into /var/www/html/fog/service/ipxe/advanced.php

    Appreciate any guidance.

    Thanks

    Eli


  • Developer

    check for typo’s and/or hidden symbols from copying and pasting. ipxe is very picky
    [url]http://www.fogproject.org/wiki/index.php/Advanced_Boot_Menu_Configuration_options[/url]



  • I’m still experiencing Advanced Menu selection issue mentioned by Danny and Andy. Screen flickers and default menu appears with blue background.

    Tested with svn 1783 and 1799

    I will update the subversion again now to see if there is any difference.

    I’ve been using Junkhackers sample code from [URL=‘http://fogproject.org/forum/threads/fog-0-33b-edit-pxe-menu.10403/#post-26419’]this post[/URL]

    menu
    item --gap – ---------------- iPXE boot menu ----------------
    item ipxedemo ipxe online boot demo
    item shell ipxe shell
    item return return to previous menu
    choose --default return --timeout 5000 target && goto ${target}

    :ipxedemo
    chain [url]http://boot.ipxe.org/demo/boot.php[/url] ||
    goto MENU

    :shell
    shell ||
    goto MENU

    :return
    chain [url]http://${fog-ip}/${fog-webroot}/service/ipxe/boot.php?mac=${net0/mac}[/url] ||
    prompt
    goto MENU

    autoboot[/FONT]



  • That works!! Thanks again.



  • Just wanted to protect the items like it did in .32. I will take a look.
    Thanks,

    Andy


  • Senior Developer

    Yes, and no.

    The password “options” are no longer using md5pass as they once where.

    The easiest method would be to add login prompts.

    I don’t know much more about all the details you’d need though.



  • Is there anyway to add the password option to these advanced items like in version .32?

    Thanks,
    Andy Morris



  • That worked!!! Thanks a ton!

    Andy


  • Senior Developer

    Ahhhh,

    Yeah, it fails loading the console picture.

    This is now fixed in SVN. Please update and sorry about that.


  • Senior Developer

    the ${boot-url} parameter already sets the http part of the url. So try this below:

    menu
    item --gap – ---------------- iPXE boot menu ----------------
    item WIN7PE64BIT Win7 64bit Recovery Console
    item WIN7PE32BIT Win7 32bit Recovery Console
    item BOOTCD Hirens BootCD
    item shell ipxe shell
    item return return to previous menu
    choose --default WIN7PE64BIT --timeout 5000 target && goto ${target}

    :WIN7PE64BIT
    initrd ${boot-url}/MenuItems/Win7-64bit/7rd64.iso
    chain ${boot-url}/MenuItems/Win7-64bit/memdisk iso raw
    goto MENU

    :WIN7PE32BIT
    initrd ${boot-url}/MenuItems/Win7-32bit/7rd32.iso
    chain memdisk iso raw ||
    goto MENU

    :BOOTCD
    initrd ${boot-url}/MenuItems/bootcd/bootcd14.iso
    chain memdisk iso raw ||
    goto MENU

    :ipxedemo
    chain http://boot.ipxe.org/demo/boot.php ||
    goto MENU

    :shell
    shell ||
    goto MENU

    :return
    chain http://${fog-ip}/${fog-webroot}/service/ipxe/boot.php?mac=${net0/mac} ||
    prompt
    goto MENU

    autoboot[/code]



  • here is my code…

    :MENU
    menu
    item --gap – ---------------- iPXE boot menu ----------------
    item WIN7PE64BIT Win7 64bit Recovery Console
    item WIN7PE32BIT Win7 32bit Recovery Console
    item BOOTCD Hirens BootCD
    item shell ipxe shell
    item return return to previous menu
    choose --default WIN7PE64BIT --timeout 5000 target && goto ${target}

    :WIN7PE64BIT
    initrd [url]http://${boot-url}/MenuItems/Win7-64bit/7rd64.iso[/url]
    chain [url]http://${boot-url}/MenuItems/Win7-64bit/memdisk[/url] iso raw
    goto MENU

    :WIN7PE32BIT
    initrd [url]http://${boot-url}/MenuItems/Win7-32bit/7rd32.iso[/url]
    chain memdisk iso raw ||
    goto MENU

    :BOOTCD
    initrd [url]http://${boot-url}/MenuItems/bootcd/bootcd14.iso[/url]
    chain memdisk iso raw ||
    goto MENU

    :ipxedemo
    chain [url]http://boot.ipxe.org/demo/boot.php[/url] ||
    goto MENU

    :shell
    shell ||
    goto MENU

    :return
    chain [url]http://${fog-ip}/${fog-webroot}/service/ipxe/boot.php?mac=${net0/mac}[/url] ||
    prompt
    goto MENU

    autoboot



  • I have the same issue with the Advanced Menu. If i choose the Advanced Menu it just flashes, the screen turns blue and has the default menu back on the screen. I had this working in version 1.0.1 and had to update to the latest 1.1.0 trunk to get my snapins to work. Not sure where to go from here. Any ideas?


  • Developer

    well, now that you have a basic idea how the ipxe menu system works, i suggest going over to ipxe.org to get more information about your specific boot needs



  • Well I spoke to soon-ish. I can get TinyCore to boot but the GUI for it never loads it just boots into a terminal. on the same note the other items I have set to boot which all have the same settings just flash the menu screen back up. They don’t want to actually boot. :/ bummer.



  • It Worked! Your Awesome.

    [CODE]set boot-url http://${fog-ip}/${fog-webroot}
    :start-http
    menu City of Lewiston - Imaging and Diagnostics

    item VMware VMware - Live
    item DellDiag Dell Diagnostics
    item hostinfo Host Informaton (Your Machine Info)
    choose target && goto ${target}

    :VMware
    initrd ${boot-url}/ISO/VMware/TinyCORE.iso
    chain memdisk iso raw ||
    echo failed to boot
    prompt
    goto MENU

    :DellDiag
    initrd ${boot-url}/ISO/DellDiagnostics/DellDiag-7.iso
    chain memdisk iso raw ||
    echo failed to boot
    prompt
    goto MENU

    :hostinfo
    echo This computer : ||
    echo MAC address…${net0/mac} ||
    echo IP address…${ip} ||
    echo Netmask…${netmask} ||
    echo Serial…${serial} ||
    echo Asset number…${asset} ||
    echo Manufacturer…${manufacturer} ||
    echo Product…${product} ||
    echo BIOS platform…${platform} ||
    echo
    echo press any key to return to Menu
    prompt
    MENU[/CODE]

    This worked nicely! I had to change the last MENU prompt from your code. For some reason it would through up a bunch of “stuff” (for lack of my current knowledge or caring as to what it was talking about) and would restart. Once I changed it the screen would refresh after the prompt to the menu. Before after the prompt it would do the restart thing.

    I also changed the main folder for the ISO images to one I noticed you used from your other posts. Made more sense and was easier. I wonder what memdisk file it is pulling up with the chain command compared to the original one where I specified the path.


 

493
Online

41.8k
Users

12.4k
Topics

116.6k
Posts