ipxe menu and image storage



  • Hi,
    (i’m not english speaker, i do my best, sorry if i’m doesn’t correctly explain)

    in my company we imaging a lot of different computer (dell, hp, etc… etc…) and for each computer model with have between 2 and 4 different image.

    Actually we working with symantec ghost (in standalone solution) and he permit to use network drive with a specifique nomenclature like this :

    -DELL IMAGE :

          -800G2
                     - US-W10
                     - FR-W10
             
          -800G1
                     - US-W10
                     - FR-W10
    

    same for HP, Lenovo, etc…

    we chose to use FOG for this perf (after some real test we see a large difference between ghost and FOG). i looking for deploy image menu with subfolder like the nomenclature of our ghost system.

    after some research and some test i conclude it’s probably not possible.

    But i have a question.
    is it possible to create a new entry in the pxemenu like “Deploy DELL Image” for have a image menu with only dell image ?

    or maybe dirrectly on the standard “Deploy Image” menu, if i use different user like DELL, HP, LENOVO etc…
    can he redirect to a menu with only manufacturer image ?

    thanks for you help.

    Regards,


  • Moderator

    @kgosset Well I’m a strong believer of you learn more from your mistakes than your successes, so I’ll only give you a push in a direction.

    So lets take a hacker’s approach to this (the 1980s definition of a hacker not the 2000s blackhat).

    I already gave you one clue. Point your browser to http://<fog_server_ip>/fog/service/ipxe/boot.php?mac=00:00:00:00:00:00 That will display the FOG iPXE menu as the FOG Project developer (wizards) have create. I figure they know a lot more than I do about the iPXE menu commands and structure. So copy the contents of that menu save it into a text file (save yourself some grief by using notepad++ and not ms windows notepad to edit this file). Save the file as a UNIX script file and name it something like custommenu.ipxe. The ipxe extension is important.

    Now you can throw out a lot in this menu, but look for a :Menu line label. Delete the content below (but leave :Menu) down to :bootme (leave :bootme)

    Now insert this into the deleted section (between :Menu and :bootme)

    NOTE: this has NOT been tested. I only dreamed it up moments ago

    menu
    item fog.mainmenu Return to the FOG iPXE menu
    item --gap
    menu --name dell-laptop Dell Laptops
    item fog.dell.7400 Dell Latitude 7400
    item --gap
    menu --name dell-desktop Dell Desktops
    item fog.dell.3060 Dell Optiplex 3060 (mini)
    item --gap
    menu --name utilities
    item fog.mdt Boot into MDT
    choose --default fog.mainmenu --timeout 10000 target && goto ${target}
    
    :fog.mainmenu
    params
    param mac0 ${net0/mac}
    param arch ${arch}
    param platform ${platform}
    param product ${product}
    param manufacturer ${product}
    param ipxever ${version}
    param filename ${filename}
    param sysuuid ${uuid}
    chain http://${boot-url}/service/ipxe/boot.php##params
    boot || goto MENU
    
    :fog.dell.7400
    
    boot || goto MENU
    
    :fog.dell.3060
    
    boot || goto MENU
    
    :fog.mdt
    mdt.1903
    kernel http://${fog-ip}/wimboot
    imgfetch --name BCD http://${fog-ip}/mdt/Boot/BCD BCD
    imgfetch --name boot.sdi http://${fog-ip}/mdt/Boot/boot.sdi boot.sdi
    imgfetch --name boot.wim http://${fog-ip}/mdt/Sources/Boot.wim boot.wim
    boot || goto MENU
    

    Place this file on the FOG server in the /tftpboot directory.

    Now you need to make a new iPXE menu entry to call this menu.

    Menu Item: fog.CustomMenu
    Description: Custom FOG Menu
    Parameters:
    chain tftp://${fog-ip}/custommenu.ipxe
    boot || goto MENU

    Now pxe boot a target computer. See if your menu works to go into and out of the custom menu. I’ll say this again, I did not test this menu design so there are probably bugs in it. But this is the framework. Once your menu works then we can work on filling out the menu items in your custom menu. I will show you how to get the details for the menu items.

    ref:

    1. Contents of /tftpboot/default.ipxe
    2. https://forums.fogproject.org/topic/10944/using-fog-to-pxe-boot-into-your-favorite-installer-images
    3. https://ipxe.org/cmd/menu


  • @george1421 yes for sure ! you can already tell me about it if you want, I’m all ears.

    Regards,


  • Moderator

    @kgosset If you get stuck come back because I have a few ideas.



  • @Sebastian-Roth @george1421 Thanks for your replies. I’m gonna try to explore this two way and i comeback later to you !

    Regards,


  • Moderator

    You are only limited by your imagination with FOG. If you build a custom iPXE menu you can define it anyway you want it. Understand the effort will be on you to create it and maintain it.

    From the FOG iPXE menu you can chain to another iPXE menu created by you. Using the iPXE menu commands [ https://ipxe.org/cmd ] you can program the menu as you want. Understand the FOG program will not be able to interact with your custom iPXE menu, but this custom men gives you the most control over its appearance.

    The FOG deploy image menu can be configured in 2 ways. The first way is to display all images that are made active in FOG. The second way is to only show images configured for the specific target computer booting. So if you have 2 images in your FOG system and associate 1 with computer A, when you pxe boot computer A and select Deploy image, only the image you allocated to computer A will be displayed.

    You can almost get the same results with a little programming on a new custom ipxe menu.

    If you want to look at an example of what the FOG created iPXE menu looks like point your browser to http://<fog_server_ip>/fog/service/ipxe/boot.php?mac=00:00:00:00:00:00 That url will print out the iPXE menu as the FOG developers designed it.


  • Senior Developer

    @kgosset Long time ago a plugin called Capone was added to FOG. I have never used it myself and so I have no idea what stage this is in as FOG plugins are usually not updated by the FOG core developers.

    You can find very much outdated information on this in the wiki:
    https://wiki.fogproject.org/wiki/index.php/Plugins:_Capone
    https://wiki.fogproject.org/wiki/index.php/Capone

    While this says that the plugin is obsolete since FOG version 1.3.0-r2651 I can still see it in the FOG web UI plugin selection. So you might want to give that a try and see if you can make it work the way you’d like it.


Log in to reply
 

272
Online

7.2k
Users

14.4k
Topics

135.6k
Posts