Using FOG to install VMware Mirage client



  • Sorry if this is the incorrect place to post this question but here is the backstory. I am currently using FOG to manage our intern laptops which use a Lubuntu desktop to connect to our virtual desktop infrastructure and it works great for that. I am trying to integrate our current windows 7 deployment with Mirage into FOG so that we can manage physical laptops all from one source instead of two. I have the Mirage winPE image built and working from a usb stick but would like to be able to boot to it from the FOG menu. I followed the instructions on the wiki ( https://wiki.fogproject.org/wiki/index.php?title=Include_any_ISO_in_the_FOG_Bootmenu ) to add the iso to the FOG menu but I get the following error (https://drive.google.com/file/d/1suXUBxdqFHop8WWsPYrGSFIELG7Hw0c5bg/view?usp=sharing) when I attempt to boot from it. Any help or a point in the right direction would be greatly appreciated.

    edit - forgot this might be helpful also here is a my boot.php config

    #!ipxe
    set fog-ip x.x.x.x
    set fog-webroot fog
    set boot-url http://${fog-ip}/${fog-webroot}
    cpuid --ext 29 && set arch x86_64 || set arch i386
    goto get_console
    :console_set
    colour --rgb 0x00567a 1 ||
    colour --rgb 0x00567a 2 ||
    colour --rgb 0x00567a 4 ||
    cpair --foreground 7 --background 2 2 ||
    goto MENU
    :alt_console
    cpair --background 0 1 ||
    cpair --background 1 2 ||
    goto MENU
    :get_console
    console --picture http://x.x.x.x/fog/service/ipxe/bg.png --left 100 --right 80 && goto console_set || goto alt_console
    :MENU
    menu
    colour --rgb 0xff0000 0 ||
    cpair --foreground 1 1 ||
    cpair --foreground 0 3 ||
    cpair --foreground 4 4 ||
    item --gap Host is NOT registered!
    item --gap -- -------------------------------------
    item fog.local Boot from hard disk
    item fog.memtest Run Memtest86+
    item fog.reginput Perform Full Host Registration and Inventory
    item fog.reg Quick Registration and Inventory
    item fog.deployimage Deploy Image
    item fog.multijoin Join Multicast Session
    item fog.sysinfo Client System Information (Compatibility)
    item Mirage Mirage WinPE x64
    choose --default fog.local --timeout 3000 target && goto ${target}
    :fog.local
    sanboot --no-describe --drive 0x80 || goto MENU
    kernel bzImage32 loglevel=4 initrd=init_32.xz root=/dev/ram0 rw ramdisk_size=127000 web=x.x.x.x/fog/ consoleblank=0 rootfstype=ext4 loglevel=4
    imgfetch init_32.xz
    boot || goto MENU
    :fog.memtest
    kernel memdisk iso raw
    initrd memtest.bin
    boot || goto MENU
    kernel bzImage32 loglevel=4 initrd=init_32.xz root=/dev/ram0 rw ramdisk_size=127000 web=x.x.x.x/fog/ consoleblank=0 rootfstype=ext4 loglevel=4
    imgfetch init_32.xz
    boot || goto MENU
    :fog.reginput
    kernel bzImage32 loglevel=4 initrd=init_32.xz root=/dev/ram0 rw ramdisk_size=127000 web=x.x.x.x/fog/ consoleblank=0 rootfstype=ext4 loglevel=4 mode=manreg
    imgfetch init_32.xz
    boot || goto MENU
    :fog.reg
    kernel bzImage32 loglevel=4 initrd=init_32.xz root=/dev/ram0 rw ramdisk_size=127000 web=x.x.x.x/fog/ consoleblank=0 rootfstype=ext4 loglevel=4 mode=autoreg
    imgfetch init_32.xz
    boot || goto MENU
    :fog.deployimage
    login
    params
    param mac0 ${net0/mac}
    param arch ${arch}
    param username ${username}
    param password ${password}
    param qihost 1
    isset ${net1/mac} && param mac1 ${net1/mac} || goto bootme
    isset ${net2/mac} && param mac2 ${net2/mac} || goto bootme
    :fog.multijoin
    login
    params
    param mac0 ${net0/mac}
    param arch ${arch}
    param username ${username}
    param password ${password}
    param sessionJoin 1
    isset ${net1/mac} && param mac1 ${net1/mac} || goto bootme
    isset ${net2/mac} && param mac2 ${net2/mac} || goto bootme
    :fog.sysinfo
    kernel bzImage32 loglevel=4 initrd=init_32.xz root=/dev/ram0 rw ramdisk_size=127000 web=x.x.x.x/fog/ consoleblank=0 rootfstype=ext4 loglevel=4 mode=sysinfo
    imgfetch init_32.xz
    boot || goto MENU
    :Mirage
    :MIRAGE
    kernel ${boot_url}/mirage/sources/boot.wim
    boot
    :bootme
    chain -ar http://x.x.x.x/fog/service/ipxe/boot.php##params ||
    goto MENU
    autoboot```

  • Moderator

    While its a bit of a moot point now. There is a tutorial on pxe booting the MDT wim image: https://forums.fogproject.org/topic/6284/booting-mdt-2013-litetouch-with-fog/6



  • @Wayne-Workman thanks for the reply. I stumbled upon that documentation yesterday right before l left the office, and that was my problem. I needed to use initrd to boot the wim file. I am going to upload my fixed and working boot.php for anybody else that might have this problem or setup. Thanks for the help.

    Also I intentionally removed my ip addresses and replaced them with x’s (im slightly paranoid).

    #!ipxe
    set fog-ip x.x.x.x
    set fog-webroot fog
    set boot-url http://${fog-ip}/${fog-webroot}
    cpuid --ext 29 && set arch x86_64 || set arch i386
    goto get_console
    :console_set
    colour --rgb 0x00567a 1 ||
    colour --rgb 0x00567a 2 ||
    colour --rgb 0x00567a 4 ||
    cpair --foreground 7 --background 2 2 ||
    goto MENU
    :alt_console
    cpair --background 0 1 ||
    cpair --background 1 2 ||
    goto MENU
    :get_console
    console --picture http://x.x.x.x/fog/service/ipxe/bg.png --left 100 --right 80 && goto console_set || goto alt_console
    :MENU
    menu
    colour --rgb 0xff0000 0 ||
    cpair --foreground 1 1 ||
    cpair --foreground 0 3 ||
    cpair --foreground 4 4 ||
    item --gap Host is NOT registered!
    item --gap -- -------------------------------------
    item fog.local Boot from hard disk
    item fog.memtest Run Memtest86+
    item fog.reginput Perform Full Host Registration and Inventory
    item fog.reg Quick Registration and Inventory
    item fog.deployimage Deploy Image
    item fog.multijoin Join Multicast Session
    item fog.sysinfo Client System Information (Compatibility)
    item Mirage Mirage WinPE x64
    choose --default fog.local --timeout 3000 target && goto ${target}
    :fog.local
    sanboot --no-describe --drive 0x80 || goto MENU
    kernel bzImage32 loglevel=4 initrd=init_32.xz root=/dev/ram0 rw ramdisk_size=127000 web=x.x.x.x/fog/ consoleblank=0 rootfstype=ext4 loglevel=4
    imgfetch init_32.xz
    boot || goto MENU
    :fog.memtest
    kernel memdisk iso raw
    initrd memtest.bin
    boot || goto MENU
    kernel bzImage32 loglevel=4 initrd=init_32.xz root=/dev/ram0 rw ramdisk_size=127000 web=x.x.x.x/fog/ consoleblank=0 rootfstype=ext4 loglevel=4
    imgfetch init_32.xz
    boot || goto MENU
    :fog.reginput
    kernel bzImage32 loglevel=4 initrd=init_32.xz root=/dev/ram0 rw ramdisk_size=127000 web=x.x.x.x/fog/ consoleblank=0 rootfstype=ext4 loglevel=4 mode=manreg
    imgfetch init_32.xz
    boot || goto MENU
    :fog.reg
    kernel bzImage32 loglevel=4 initrd=init_32.xz root=/dev/ram0 rw ramdisk_size=127000 web=x.x.x.x/fog/ consoleblank=0 rootfstype=ext4 loglevel=4 mode=autoreg
    imgfetch init_32.xz
    boot || goto MENU
    :fog.deployimage
    login
    params
    param mac0 ${net0/mac}
    param arch ${arch}
    param username ${username}
    param password ${password}
    param qihost 1
    isset ${net1/mac} && param mac1 ${net1/mac} || goto bootme
    isset ${net2/mac} && param mac2 ${net2/mac} || goto bootme
    :fog.multijoin
    login
    params
    param mac0 ${net0/mac}
    param arch ${arch}
    param username ${username}
    param password ${password}
    param sessionJoin 1
    isset ${net1/mac} && param mac1 ${net1/mac} || goto bootme
    isset ${net2/mac} && param mac2 ${net2/mac} || goto bootme
    :fog.sysinfo
    kernel bzImage32 loglevel=4 initrd=init_32.xz root=/dev/ram0 rw ramdisk_size=127000 web=x.x.x.x/fog/ consoleblank=0 rootfstype=ext4 loglevel=4 mode=sysinfo
    imgfetch init_32.xz
    boot || goto MENU
    :Mirage
    :MIRAGE
    kernel ${boot_url}/Mirage_WinPE_x64/wimboot
    initrd ${boot_url}/Mirage_WinPE_x64/BOOT/BCD BCD
    initrd ${boot_url}/Mirage_WinPE_x64/BOOT/BOOT.SDI BOOT.SDI
    initrd ${boot_url}/Mirage_WinPE_x64/SOURCES/BOOT.WIM BOOT.WIM
    boot
    :bootme
    chain -ar http://x.x.x.x/fog/service/ipxe/boot.php##params ||
    goto MENU
    autoboot```

  • Moderator

    1. What version of FOG?

    2. Make sure the files you placed on your FOG server are actually accessible via http. In your web browser open a new tab, try to go to this address, where x.x.x.x is your fog server’s IP address:
      x.x.x.x/mirage/sources
      If you get permission denied, ensure apache has access to the files. For me to help you with that, I need to know exactly what OS the fog server is running.

    3. Briefly reading over the ipxe article about boot.wim files, it looks like you should be using initrd instead of kernel for the line specifying the .wim file. See this as a reference:
      http://ipxe.org/wimboot


Log in to reply
 

356
Online

39.3k
Users

11.0k
Topics

104.4k
Posts

Looks like your connection to FOG Project was lost, please wait while we try to reconnect.