• Recent
    • Unsolved
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Using FOG to PXE boot into your favorite installer images

    Scheduled Pinned Locked Moved
    Tutorials
    2
    38
    78.4k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • george1421G
      george1421 Moderator
      last edited by george1421

      Setting up the foundation for installation

      Hopefully this setup will be pretty clean and easy (just hoping…)

      In this tutorial, I’ve personally setup each distribution and booted it into a virtual machine. I didn’t run the installer to completion, but I did ensure the installer was running as far as I took the install (unless otherwise noted).

      These setups were only tested with a bios (legacy mode) target computer. They WILL NOT work with uefi systems. For uefi based systems they have their own kernel requirements and options. The intent of this tutorial was to show its possible to boot your installation media via pxe booting.

      First we need to setup the storage locations for our boot images. The plan is to put the installation media on the /images nfs share and the boot kernel and initfs in the tftp boot directory.

      mkdir /images/os
      mkdir /tftpboot/os
      mkdir /mnt/loop
      

      For the foundation setup that should do it. On to the OS specific configuration…

      Link to Windows 7 & Windows 10 BIOS Mode Only
      Link WinPE 10 for BIOS and UEFI based systems
      Link to Centos 7
      Link to Ubuntu 16.04.03
      Link to Ubuntu Desktop 19.10
      Link to Ubuntu Server 19.10
      Link to Ubuntu 17.10 Desktop
      Link to Ubuntu 16.04.03
      Link to Linux Mint 18.1
      Link to Linux Mint 19.1 Cinnamon
      Link to Debian 9.2
      Link to OpenSuSE Leap 42.3
      Link to Fedora Workstation v26
      Link to Fedora Workstation v27
      Link to Ubuntu Desktop 17.10
      Link to installing Samba on your FOG server
      Link to Kali Live 2017.3
      Link to ESXi v6.5u1
      Link to ESXi v6.7u2
      Link to SystemRescueCd 5.2.2 x64
      Link to GParted 0.33.0 x86
      Veeam Agent Rescue DVD
      Acronis 2018 (WinPE version)
      Paragon Hard Disk Manager
      Parted Magic version from May 2023

      Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

      george1421G 4 Replies Last reply Reply Quote 7
      • george1421G
        george1421 Moderator
        last edited by george1421

        Installing SAMBA on the FOG Server
        In this section we’ll setup samba on your fog server. This will give your WinPE environment access to the MS Windows images we stored in the /images/os/mswindows directory. You could use a traditional MS Windows server for this function and skip the entire samba setup. That decision is up to you. I’m documenting the process of enabling CIFS (windows file share access) on your fog server to provide a consistent place to store your imaging files. In this setup the samba file shares will be share as read only and can only be access by the user account we will setup in this post. SAMBA will not be connected to your AD. AD users will not be able to mount or access these shares. Your FOG server will be a standalone server with its own access control and users.

        Centos 7 Instructions:

        yum install samba samba-common samba-winbind 
        
        systemctl enable smb
        systemctl enable winbind
        systemctl enable nmb
        
        # Create a linux user called fogpxeu we will use this account to connect to
        # the server from our WinPE environment. 
        adduser --no-create-home --shell /sbin/nologin --user-group fogpxeu
        # Assign a complex password since we will never use it we will use
        # the samba password we will define below.
        passwd fogpxeu
        
        mv /etc/samba/smb.conf /etc/samba/smb.conf.old
        

        We need to create our custom config file for samba. So use your favorite text editor and edit /etc/samba/smb.conf. My favorite is vi.

        vi /etc/samba/smb.conf
        

        Insert the following text into the smb.conf file.

        [global]
        workgroup = FOGPXE
        server string = Fog Project Imaging
        log file = /var/log/samba/log.%m
        max log size = 50
        idmap config * : backend = tdb
        cups options = raw
        netbios name = fogpxeserver
        map to guest = bad user
        dns proxy = no
        public = yes
        nt acl support = no
        security = user
        guest account = nobody
        
        [win7oem]
           path = /images/os/mswindows/7Pro-x64
           comment = Windows 7 OEM Installation DVD
           valid users = "fogpxeu"
           writeable = no
           browseable = yes
           read only = yes
        
        [win10-1607]
           path = /images/os/mswindows/10-1607
           comment = Windows 10 1607 Installation DVD
           valid users = "fogpxeu" 
           writeable = no
           browseable = yes
           read only = yes
        

        Now lets start the samba services

        systemctl restart smb
        systemctl restart winbind
        systemctl restart nmb
        systemctl status smb
        
        # Define the password here  you will use to connect to the network
        # share from the WinPE environment. Document this password, 
        # you will need it when you setup your WinPE boot image. 
        smbpasswd -a 'fogpxeu'
        $ New SMB password:
        $ Retype new SMB password:
        $ Added user fogpxeu.
        
        

        Ubuntu Instructions:
        <Coming Soon>

        Testing to setup:
        Lets see if the shares are visible from a windows computer. On your favorite windows computer, open a command window and key in the net view command.

        C:\Users\admin>net view \\192.168.1.55
        Shared resources at \\192.168.1.55
        
        Fog Project Imaging
        
        Share name  Type  Used as  Comment
        
        -------------------------------------------------------------------------------
        win10-1607  Disk           Windows 10 1607 Installation DVD
        win7oem     Disk           Windows 7 OEM Installation DVD
        The command completed successfully.
        

        Nice! we can see our shares. Now lets see if we can mount the network share. From the same command window used above key in the following.

        C:\Users\admin>net use t: \\192.168.1.55\win10-1607  /user:fogpxeu
        Enter the password for 'fogpxeu' to connect to '192.168.1.55':
        The command completed successfully.
        

        Double nice!! We are able to map the drive as the fogpxeu user. Lets see if we can see any files on the share.

        C:\Users\admin>dir t:
         Volume in drive T is win10-1607
         Volume Serial Number is B512-AE19
        
         Directory of T:\
        
        10/13/2017  01:50 PM    <DIR>          .
        10/13/2017  09:35 PM    <DIR>          ..
        10/13/2017  01:50 PM    <DIR>          boot
        10/13/2017  01:51 PM    <DIR>          sources
        10/13/2017  01:50 PM    <DIR>          efi
        10/13/2017  01:48 PM               135 readme.txt
        10/13/2017  01:50 PM         1,152,864 bootmgr.efi
        10/13/2017  01:50 PM           395,268 bootmgr
                       3 File(s)      1,548,267 bytes
                       5 Dir(s)  34,709,315,584 bytes free
        

        Great!! we can mount the share and can view the contents. The last bit is to disconnect from the share since our test was successful.

        net use t: /delete
        

        Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

        1 Reply Last reply Reply Quote 0
        • george1421G
          george1421 Moderator
          last edited by george1421

          Fedora 26 Workstation

          1. First we’ll create the required directories:
          mkdir -p /images/os/fedora/W26
          mkdir -p /tftpboot/os/fedora/W26
          
          1. Now we’ll mount the Fedora 26 Workstation installer over the loop directory. Then we’ll copy the contents of the DVD to the directory we built above.
          mount -o loop -t iso9660 /{full path where you have the iso stored}/Fedora-Workstation-Live-x86_64-26-1.5.iso /mnt/loop
          
          cp -R /mnt/loop/* /images/os/fedora/W26
          umount /mnt/loop
          
          1. Finally we’ll copy the pxe boot kernel and intfs to the tftpboot directory.
          cp /images/os/fedora/W26/isolinux/vmlinuz /tftpboot/os/fedora/W26
          cp /images/os/fedora/W26/isolinux/initrd.img /tftpboot/os/fedora/W26
          
          1. The last bit of magic we need to do is setup a new FOG iPXE boot menu entry for this OS.
          2. In the fog WebGUI go to FOG Configuration->iPXE New Menu Entry
            Set the following fields
            Menu Item: os.FedoraW26
            Description: Fedora Workstation v26
            Parameters:
            kernel tftp://${fog-ip}/os/fedora/W26/vmlinuz
            initrd tftp://${fog-ip}/os/fedora/W26/initrd.img
            imgargs vmlinuz initrd=initrd.img root=live:nfs://${fog-ip}/images/os/fedora/W26/LiveOS/squashfs.img ip=dhcp repo=nfs://${fog-ip}/images/os/fedora/W26 splash quiet
            boot || goto MENU
            Menu Show with: All Hosts
          3. That’s it, just pxe boot your target system and pick Fedora Workstation v26 from the FOG iPXE boot menu.

          Reference:
          https://forums.fedoraforum.org/showthread.php?t=310643

          Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

          1 Reply Last reply Reply Quote 0
          • george1421G
            george1421 Moderator
            last edited by george1421

            OpenSuSE Leap 42.3

            Note: I have not personally tested this configuration. When I went to download the OpenSuse ISO it was going to take about 3hrs on my FIOS internet connection. I tried a few times and the download as interrupted each time. So I decided, "I don't got time for this". I put together these instructions based on dead reckoning on what was needed. Will it work?? YMMV

            1. First we’ll create the required directories:
            mkdir -p /images/os/opensuse/Leap43.2
            mkdir -p /tftpboot/os/opensuse/Leap43.2
            
            1. Now we’ll mount the OpenSuSE Leap 43.2 installer over the loop directory. Then we’ll copy the contents of the DVD to the directory we built above.
            mount -o loop -t iso9660 /{full path where you have the iso stored}/openSUSE-Leap-42.3-DVD-x86_64.iso /mnt/loop
            
            cp -R /mnt/loop/* /images/os/opensuse/Leap43.2
            umount /mnt/loop
            
            1. At this point we need to go out and download the network/usb kernel and initrd files from the OpenSuSE site. We’ll create a temp directory, download and mount the iso image as we have done before. Then extract the two files we need.
            cd /tmp
            wget http://download.opensuse.org/distribution/leap/42.3/iso/openSUSE-Leap-42.3-NET-x86_64.iso
            mount -o loop -t iso9660 /tmp/openSUSE-Leap-42.3-NET-x86_64.iso /mnt/loop
            cp /mnt/loop/boot/x86_64/loader/linux /tftpboot/os/opensuse/Leap43.2
            cp /mnt/loop/boot/x86_64/loader/initrd /tftpboot/os/opensuse/Leap43.2
            umount /mnt/loop
            
            rm -rf /tmp/openSUSE-Leap-42.3-NET-x86_64.iso
            

            Note: If you get to the point of booting into the installer and the installer keeps asking for a cdrom, you have the wrong initfs. You must have the initrd file from the OpenSuSE Net/USB boot ISO.
            4. The last bit of magic we need to do is setup a new FOG iPXE boot menu entry for this OS.
            5. In the fog WebGUI go to FOG Configuration->iPXE New Menu Entry
            Set the following fields
            Menu Item: os.OpenSuSEL42-3
            Description: OpenSuSE Leap 42.3
            Parameters:
            kernel tftp://${fog-ip}/os/opensuse/Leap43.2/linux
            initrd tftp://${fog-ip}/os/opensuse/Leap43.2/initrd
            imgargs linux initrd=initrd ip=dhcp repo=nfs://${fog-ip}:/images/os/opensuse/Leap43.2/
            boot || goto MENU
            Menu Show with: All Hosts
            6. That’s it, just pxe boot your target system and pick OpenSuSE Leap 42.3 from the FOG iPXE boot menu.

            Reference:
            https://tr.opensuse.org/SDB:Network_Installation_of_SuSE_Linux_via_PXE_Boot

            Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

            1 Reply Last reply Reply Quote 0
            • george1421G
              george1421 Moderator
              last edited by george1421

              Debian 9.2

              1. First we’ll create the required directories:
              mkdir -p /images/os/debian/9.2
              mkdir -p /tftpboot/os/debian/9.2
              
              1. Now we’ll mount the Debian 9.2 installer over the loop directory. Then we’ll copy the contents of the DVD to the directory we built above.
              mount -o loop -t iso9660 /{full path where you have the iso stored}/debian-9.2.1-amd64-xfce-CD-1.iso /mnt/loop
              
              cp -R /mnt/loop/* /images/os/debian/9.2
              umount /mnt/loop
              
              1. At this point we need to go out and download the netboot kernel and initrd files from the Debian site. We’ll create a temp directory, download the tar ball and extract the two files we need.
              cd /tmp
              mkdir netboot
              cd /tmp/netboot
              wget http://ftp.nl.debian.org/debian/dists/stretch/main/installer-amd64/current/images/netboot/netboot.tar.gz
              tar -zxf netboot.tar.gz
              cd ./debian-installer/amd64
              cp linux /tftpboot/os/debian/9.2
              cp initrd.gz /tftpboot/os/debian/9.2
              cd /tmp
              rm -rf ./netboot
              

              Note: If you get to the point of booting into the installer and the installer keeps asking for a cdrom, you have the wrong initfs. You must have the initrd file from the Debian netboot package. Unlike other distributions, the netboot files are not on the typical installation media as far as I found.
              4. The last bit of magic we need to do is setup a new FOG iPXE boot menu entry for this OS.
              5. In the fog WebGUI go to FOG Configuration->iPXE New Menu Entry
              Set the following fields
              Menu Item: os.Debian92
              Description: Debian 9.2.1
              Parameters:
              kernel tftp://${fog-ip}/os/debian/9.2/linux
              initrd tftp://${fog-ip}/os/debian/9.2/initrd.gz
              imgargs linux initrd=initrd.gz root=/dev/nfs netboot=nfs nfsroot=${fog-ip}:/images/os/debian/9.2/ ip=dhcp rw
              boot || goto MENU
              Menu Show with: All Hosts
              6. That’s it, just pxe boot your target system and pick Debian 9.2.1 from the FOG iPXE boot menu.

              References:
              http://students.mimuw.edu.pl/~bassa/uo/linux-adv/debian-install-pxe-netboot.pdf

              Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

              1 Reply Last reply Reply Quote 0
              • george1421G
                george1421 Moderator
                last edited by george1421

                Ubuntu 16.04.03

                1. First we’ll create the required directories:
                mkdir -p /images/os/ubuntu/16.04
                mkdir -p /tftpboot/os/ubuntu/16.04
                
                1. Now we’ll mount the Ubuntu 16.04 installer over the loop directory. Then we’ll copy the contents of the DVD to the directory we built above.
                mount -o loop -t iso9660 /{full path where you have the iso stored}/ubuntu-16.04.3-server-amd64.iso /mnt/loop
                
                cp -R /mnt/loop/* /images/os/ubuntu/16.04
                umount /mnt/loop
                
                1. Finally we’ll copy the pxe boot kernel and intfs to the tftpboot directory.
                cp /images/os/ubuntu/16.04/install/vmlinuz /tftpboot/os/ubuntu/16.04
                # See Note2 below
                cp /images/os/ubuntu/16.04/install/netboot/ubuntu-installer/amd64/initrd.gz /tftpboot/os/ubuntu/16.04
                

                Note1: If you get to the point of booting into the installer and the installer keeps asking for a cdrom, you have the wrong initfs. This tripped me up for quite some time until I found a post that solved what I was doing wrong. The path above is accurate and works. You have been warned!!
                and…
                Note2: If your Ubuntu 16.04 disk image does NOT CONTAIN A NETBOOT DIRECTORY (some users are reporting this), then download http://archive.ubuntu.com/ubuntu/dists/artful/main/installer-amd64/current/images/netboot/netboot.tar.gz file and extract the initrd.gz from ubuntu-installer/amd64 directory and copy to /tftpboot/os/ubuntu/16.04. The DVD I downloaded {ubuntu-16.04.3-server-amd64.iso} contained the netboot files
                4. The last bit of magic we need to do is setup a new FOG iPXE boot menu entry for this OS.
                5. In the fog WebGUI go to FOG Configuration->iPXE New Menu Entry
                Set the following fields
                Menu Item: os.Ubuntu1604
                Description: Ubuntu 16.04.03
                Parameters:
                kernel tftp://${fog-ip}/os/ubuntu/16.04/vmlinuz
                initrd tftp://${fog-ip}/os/ubuntu/16.04/initrd.gz
                imgargs vmlinuz initrd=initrd.gz root=/dev/nfs netboot=nfs nfsroot=${fog-ip}:/images/os/ubuntu/16.04/ locale=en_US.UTF-8 ip=dhcp rw
                boot || goto MENU
                Menu Show with: All Hosts
                6. That’s it, just pxe boot your target system and pick Ubuntu 16.04.03 from the FOG iPXE boot menu.

                References:
                https://help.ubuntu.com/community/DisklessUbuntuHowto
                https://askubuntu.com/questions/476508/why-ubuntu-server-asks-to-insert-a-cd-rom-when-installed-from-pxe

                Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

                1 Reply Last reply Reply Quote 0
                • george1421G
                  george1421 Moderator
                  last edited by george1421

                  Windows 7 and Windows 10 BIOS mode only
                  DO NOT USE THIS METHOD anymore. I'm leaving these instructions here for legacy reasons. This method will NOT work with UEFI based systems.

                  1. First we’ll create the required directories:
                  mkdir -p /images/os/mswindows/7Pro-x64
                  mkdir -p /images/os/mswindows/10Pro-x64
                  mkdir -p /tftpboot/mswindows/7Pro-x64
                  mkdir -p /tftpboot/mswindows/10Pro-x64
                  
                  1. Now we’ll mount the Windows install media iso over the loop directory. Then we’ll copy the contents of the DVD to the directory we built above.
                  mount -o loop /{full path where you have the iso stored}/Win7ProX64.iso /mnt/loop
                  
                  cp -R /mnt/loop/* /images/os/mswindows/7Pro-x64
                  umount /mnt/loop
                  
                  mount -o loop /{full path where you have the iso stored}/Win10ProX64.iso /mnt/loop
                  
                  cp -R /mnt/loop/* /images/os/mswindows/10Pro-x64
                  umount /mnt/loop
                  
                  1. Beyond this point you will need a Windows 10 workstation. You also need to be aware what version of windows 10 you current have. You need to download the proper version of Windows ADK for the version of Windows 10 you will execute these instructions on. Yes I know this is a Win7 guide. I wanted to create a single how-to for both Windows 7 and Windows 10. Since support for Win7 is up in just a few years, I have to except that Win10 will be a reality soon and get with the program.
                  2. Download the appropriate ADK for the version of Win10 you have from here: https://developer.microsoft.com/en-us/windows/hardware/windows-assessment-deployment-kit
                  3. Launch the ADK installer. You will be presented with about 15 different modules to install. You only “need” the preboot environment (WinPE) stuff. You will have an option to install a bunch of stuff. You can either pick the defaults or just narrow down your selection to the WinPE stuff.
                  4. It might take as long as 15 minutes to install depending on your network connection and target computer.
                  5. While this step is not necessairy it is also a bit of an assurance that WinPE10 will have a good install of drivers needed to boot new hardware.
                  6. Download the WinPE10 drivers from the Dell Enterprise site here: http://en.community.dell.com/techcenter/enterprise-client/w/wiki/11530.winpe-10-driver-pack
                  7. I realize that you may not be using a Dell for your imaging, don’t worry these drivers only cover network and disk subsystems.
                  8. Extract the winpe folder from the cab file and install it in the winpe folder in the root of 😄 drive (c:\winpe).
                  9. After the install launch the ADK environment from Start Button->Windows Kits->Windows ADK-><something> Make sure you run this command window as Administrator. You need admin rights to use DISM.
                  10. In the command window, you will probably want to change back to the root of 😄 because the path is a bit long and confusing.
                  11. For the rest of the instructions we’ll just go copy and paste. Its fast and quick.
                  cd c:\
                  copype amd64 C:\WinPE_amd64
                  
                  Dism /Mount-Image /ImageFile:"C:\WinPE_amd64\media\sources\boot.wim" /index:1 /MountDir:"C:\WinPE_amd64\mount"
                  
                  Dism /Add-Driver /Image:"C:\WinPE_amd64\mount" /Driver:"c:\winpe\x64" /Recurse /ForceUnsigned
                  
                  1. Now we need to edit the WinPE startup file to have it mount our windows (samba) network share.
                  notepad C:\WinPE_amd64\mount\Windows\System32\Startnet.cmd
                   @echo off
                    echo Setting up WinPE
                    wpeinit
                  
                    REM Set power configuration to Performance
                    powercfg /s 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
                  
                    echo Connecting to the remote share
                    net use z: \\<server_name>\<share_name> /user:<domain\uid> <pass>
                    z:
                    setup.exe
                  
                  1. Now that we have the settings the way we need them. Lets close the wim file and create our ISO.
                  Dism /Unmount-Image /MountDir:"C:\WinPE_amd64\mount" /commit
                  
                  MakeWinPEMedia /ISO C:\WinPE_amd64 C:\WinPE_amd64\WinPE_amd64.iso
                  
                  1. Now move the C:\WinPE_amd64\WinPE_amd64.iso file to the FOG server in the /images/os/mswindows/7Pro-x64 directory.

                  2. The last bit of magic we need to do is setup a new FOG iPXE boot menu entry for this OS.

                  3. NOTE: This instruction is for legacy bios only. If you need to boot both uefi and bios installs follow the WinPE10 section above. The issue is that memdisk utility is not supported in uefi mode, so another method is required. For bios mode memdisk IS the quickest method to boot a small iso image. https://forums.fogproject.org/topic/10944/using-fog-to-pxe-boot-into-your-favorite-installer-images/10
                    In the fog WebGUI go to FOG Configuration->iPXE New Menu Entry
                    Set the following fields
                    Menu Item: os.Win7Pro-x64
                    Description: Windows 7 Pro x64 OEM
                    Parameters:
                    initrd nfs://${fog-ip}:/images/os/mswindows/7Pro-x64/WinPE_amd64.iso
                    chain memdisk iso raw
                    boot || goto MENU
                    Menu Show with: All Hosts

                  4. That’s it, just pxe boot your target system and pick Windows 7 Pro x64 OEM from the FOG iPXE boot menu.

                  For this process to function you must also setup SAMBA on your fog server below.

                  References:
                  https://forums.fogproject.org/topic/7765/pxe-booting-into-ms-windows-7-setup

                  Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

                  1 Reply Last reply Reply Quote 0
                  • george1421G
                    george1421 Moderator
                    last edited by george1421

                    Centos 7

                    1. First we’ll create the required directories:
                    mkdir -p /images/os/centos/7
                    mkdir -p /tftpboot/os/centos/7
                    
                    1. Now we’ll mount the Centos 7 installer over the loop directory. Then we’ll copy the contents of the DVD to the directory we built above.
                    mount -o loop -t iso9660 /{full path where you have the iso stored}/CentOS7-x86_64.iso /mnt/loop
                    
                    cp -R /mnt/loop/* /images/os/centos/7
                    umount /mnt/loop
                    
                    1. Finally we’ll copy the pxe boot kernel and intfs to the tftpboot directory.
                    cp /images/os/centos/7/images/pxeboot/vmlinuz /tftpboot/os/centos/7
                    cp /images/os/centos/7/images/pxeboot/initrd.img /tftpboot/os/centos/7
                    
                    1. The last bit of magic we need to do is setup a new FOG iPXE boot menu entry for this OS.
                    2. In the fog WebGUI go to FOG Configuration->iPXE New Menu Entry
                      Set the following fields
                      Menu Item: os.Centos7
                      Description: Centos 7 v1607 {or what ever version you are building}
                      Parameters:
                      kernel tftp://${fog-ip}/os/centos/7/vmlinuz
                      initrd tftp://${fog-ip}/os/centos/7/initrd.img
                      imgargs vmlinuz initrd=initrd.img root=live:nfs://${fog-ip}:/images/os/centos/7/LiveOS/squashfs.img ip=dhcp inst.repo=nfs:${fog-ip}:/images/os/centos/7 splash quiet
                      boot || goto MENU
                      Menu Show with: All Hosts
                    3. That’s it, just pxe boot your target system and pick Centos 7 from the FOG iPXE boot menu.

                    References:
                    https://forums.fogproject.org/topic/8488/how-to-pxe-boot-cent-os-7/63
                    https://www.tecmint.com/install-pxe-network-boot-server-in-centos-7/

                    Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

                    1 Reply Last reply Reply Quote 2
                    • george1421G
                      george1421 Moderator
                      last edited by george1421

                      Linux Mint

                      1. First we’ll create the required directories:
                      mkdir -p /images/os/mint/18.1
                      mkdir -p /tftpboot/mint/18.1
                      
                      1. Now we’ll mount the Linux Mint 18.1 installer over the loop directory. Then we’ll copy the contents of the DVD to the directory we built above.
                      mount -o loop -t iso9660 /{full path where you have the iso stored}/linuxmint-18.1-cinnamon-64bit.iso /mnt/loop
                      
                      cp -R /mnt/loop/* /images/os/mint/18.1
                      umount /mnt/loop
                      
                      1. Finally we’ll copy the pxe boot kernel and intfs to the tftpboot directory.
                      cp /images/os/mint/18.1/casper/vmlinuz /tftpboot/mint/18.1
                      cp /images/os/mint/18.1/casper/initrd.lz /tftpboot/mint/18.1
                      
                      1. The last bit of magic we need to do is setup a new FOG iPXE boot menu entry for this OS.
                      2. In the fog WebGUI go to FOG Configuration->iPXE New Menu Entry
                        Set the following fields
                        Menu Item: os.Mint18.1
                        Description: Linux Mint 18.1
                        Parameters:
                        kernel tftp://${fog-ip}/mint/18.1/vmlinuz
                        initrd tftp://${fog-ip}/mint/18.1/initrd.lz
                        imgargs vmlinuz root=/dev/nfs boot=casper netboot=nfs nfsroot=${fog-ip}:/images/os/mint/18.1/ locale=en_US.UTF-8 keyboard-configuration/layoutcode=us quiet splash
                        boot || goto MENU
                        Menu Show with: All Hosts
                      3. That’s it, just pxe boot your target system and pick Linux Mint 18.1 from the FOG iPXE boot menu.

                      Gamienator posted an update that with Linux Mint 19, you need to add an additional kernel parameter of "toram" to the imgargs line or the kernel won't be able to mount the /tmp directory correctly and will fail into emergency mode. The updated imgargs would need to be this under LM 19.
                      imgargs vmlinuz root=/dev/nfs boot=casper netboot=nfs nfsroot=${fog-ip}:/images/os/mint/18.1/ locale=en_US.UTF-8 keyboard-configuration/layoutcode=us toram quiet splash
                      `

                      References:
                      http://labalec.fr/erwan/?p=534
                      https://forums.fogproject.org/topic/10939/fog-iso-booting

                      Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

                      1 Reply Last reply Reply Quote 0
                      • george1421G
                        george1421 Moderator
                        last edited by george1421

                        WinPE 10 for BIOS and UEFI based systems

                        1. First we’ll create the required directories:
                        mkdir -p /tftpboot/os/winpe
                        
                        1. Now we’ll mount the WinPE iso over the loop directory. Then we’ll copy the contents of the DVD to the directory we built above.
                        mount -o loop /{full path where you have the iso stored}/WinPE_amd64.iso /mnt/loop
                        
                        cp /mnt/loop/Boot/BCD /tftpboot/os/winpe/
                        cp /mnt/loop/Boot/boot.sdi /tftpboot/os/winpe/
                        cp /mnt/loop/sources/boot.wim /tftpboot/os/winpe/
                        umount /mnt/loop
                        
                        1. Download and install the latest wimboot kernel and extract it from the zip file.
                        cd /tmp
                        wget http://git.ipxe.org/releases/wimboot/wimboot-latest.zip
                        unzip wimboot-latest.zip
                        
                        1. Copy the wimboot file from the archive directory to root of the /tftpboot directory (we’ll need this for every windows boot media, so we’ll place it in a common spot).
                        cp ./wimboot-2.6.0-signed/wimboot /tftpboot
                        
                        1. The last bit of magic we need to do is setup a new FOG iPXE boot menu entry for this OS.
                        2. In the fog WebGUI go to FOG Configuration->iPXE New Menu Entry
                          Set the following fields
                          Menu Item: os.WinPE10
                          Description: WinPE 10
                          Parameters:
                          set tftp-path tftp://${fog-ip}
                          set pe-path ${tftp-path}/os/winpe
                          kernel ${tftp-path}/wimboot gui
                          imgfetch --name BCD ${pe-path}/BCD BCD
                          imgfetch --name boot.sdi ${pe-path}/boot.sdi boot.sdi
                          imgfetch --name boot.wim ${pe-path}/boot.wim boot.wim
                          boot || goto MENU
                        3. That’s it, just pxe boot your target system and pick WinPE 10 from the FOG iPXE boot menu.

                        References:

                        Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

                        T 1 Reply Last reply Reply Quote 3
                        • george1421G
                          george1421 Moderator
                          last edited by george1421

                          To keep this thread clean, I’m going to fork all discussions related to this thread into a new thread and post a cross link here. This is only done to keep the thread orderly and easy to follow. The discussions regarding this thread ARE important to vet any issues before this tutorial is converted into a wiki document.

                          The thread discussion are here

                          1. https://forums.fogproject.org/topic/11027/problems-with-using-fog-to-pxe-boot-into-your-favorite-installer

                          Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

                          1 Reply Last reply Reply Quote 0
                          • george1421G
                            george1421 Moderator
                            last edited by george1421

                            Ubuntu 17.10 Desktop

                            1. First we’ll create the required directories:
                            mkdir -p /images/os/ubuntu/Desk17.10
                            mkdir -p /tftpboot/os/ubuntu/Desk17.10
                            
                            1. Now we’ll mount the Ubuntu 17.10 installer over the loop directory. Then we’ll copy the contents of the DVD to the directory we built above.
                            mount -o loop -t iso9660 /{full path where you have the iso stored}/ubuntu-17.10-desktop-amd64.iso /mnt/loop
                            
                            cp -R /mnt/loop/* /images/os/ubuntu/Desk17.10
                            umount /mnt/loop
                            
                            1. Finally we’ll copy the pxe boot kernel and intfs to the tftpboot directory.
                            cp /images/os/ubuntu/Desk17.10/casper/vmlinuz.efi /tftpboot/os/ubuntu/Desk17.10
                            cp /images/os/ubuntu/Desk17.10/casper/initrd.lz /tftpboot/os/ubuntu/Desk17.10
                            
                            1. The last bit of magic we need to do is setup a new FOG iPXE boot menu entry for this OS.
                            2. In the fog WebGUI go to FOG Configuration->iPXE New Menu Entry
                              Set the following fields
                              Menu Item: os.Ubuntu.Desktop.17.10
                              Description: Ubuntu Desktop 17.10
                              Parameters:
                              kernel tftp://${fog-ip}/os/ubuntu/Desk17.10/vmlinuz.efi
                              initrd tftp://${fog-ip}/os/ubuntu/Desk17.10/initrd.lz
                              imgargs vmlinuz.efi root=/dev/nfs boot=casper netboot=nfs nfsroot=${fog-ip}:/images/os/ubuntu/Desk17.10/ locale=en_US.UTF-8 keyboard-configuration/layoutcode=us quiet splash ip=dhcp rw
                              boot || goto MENU
                              Menu Show with: All Hosts
                            3. That’s it, just pxe boot your target system and pick Ubuntu Desktop 17.10 from the FOG iPXE boot menu.

                            References:

                            Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

                            1 Reply Last reply Reply Quote 0
                            • george1421G
                              george1421 Moderator
                              last edited by george1421

                              Kali Linux 2017.2

                              At this point the instructions don't work completely. I can get the installer to boot, but it appears to want to download files from Debian to complete the installation

                              1. First we’ll create the required directories:
                              mkdir -p /images/os/kali/2017.2
                              mkdir -p /tftpboot/os/kali/2017.2
                              
                              1. Now we’ll mount the Kali 2017.2 DVD installer over the loop directory. Then we’ll copy the contents of the DVD to the directory we built above.
                              mount -o loop -t iso9660 /{full path where you have the iso stored}/kali-linux-2017.2-amd64.iso /mnt/loop
                              
                              cp -R /mnt/loop/* /images/os/kali/2017.2
                              umount /mnt/loop
                              
                              1. At this point we need to go out and download the netboot kernel and initrd files from the Kali site. We’ll create a temp directory, download the tar ball and extract the two files we need.
                              cd /tmp
                              mkdir netboot
                              cd /tmp/netboot
                              cd /tmp
                              mkdir netboot
                              cd /tmp/netboot
                              wget http://repo.kali.org/kali/dists/kali-rolling/main/installer-amd64/current/images/netboot/netboot.tar.gz
                              tar -zxf netboot.tar.gz
                              cd ./debian-installer/amd64
                              cp linux /tftpboot/os/kali/2017.2
                              cp initrd.gz /tftpboot/os/kali/2017.2
                              cd /tmp
                              rm -rf ./netboot
                              

                              Note: If you get to the point of booting into the installer and the installer keeps asking for a cdrom, you have the wrong initfs. You must have the initrd file from the Debian netboot package. Unlike other distributions, the netboot files are not on the typical installation media as far as I found.
                              4. The last bit of magic we need to do is setup a new FOG iPXE boot menu entry for this OS.
                              5. In the fog WebGUI go to FOG Configuration->iPXE New Menu Entry
                              Set the following fields
                              Menu Item: os.Kali.2017.2
                              Description: Kali 2017.2
                              Parameters:
                              kernel tftp://${fog-ip}/os/kali/2017.2/linux
                              initrd tftp://${fog-ip}/os/kali/2017.2/initrd.gz
                              imgargs linux initrd=initrd.gz root=/dev/nfs netboot=nfs nfsroot=${fog-ip}:/images/os/kali/2017.2/ ip=dhcp rw language=en country=US keymap=us hostname=kali domain=domain.com
                              boot || goto MENU
                              Menu Show with: All Hosts
                              6. That’s it, just pxe boot your target system and pick Kali 2017.2 from the FOG iPXE boot menu.

                              Note 1: If you want the gui network installer you can download this netboot gzip instead of the one referenced above: http://repo.kali.org/kali/dists/kali-rolling/main/installer-amd64/current/images/netboot/gtk/netboot.tar.gz

                              Note 2: When you us the netboot installer kali linux will have to download the install files from the internet even though you have them on DVD. It appears that the installer tries to mount the DVD during netboot, but since that fails it falls over to network install mode. This appears to be a feature in kali linux and not a limitation in FOG or netbooting

                              Note 3: You can set the majority of the values in the network installer by using a preseed file. Also with that preseed file you can direct kali linux to install from a local mirrored repository by changing some values in the preseed file below

                              Repository preseed file from: Offensive Security site

                              d-i debian-installer/locale string en_US
                              d-i console-keymaps-at/keymap select us
                              
                              d-i mirror/country string enter information manually
                              d-i mirror/suite string kali
                              d-i mirror/codename string kali
                              d-i mirror/http/hostname string archive.kali.org
                              d-i mirror/http/directory string /kali
                              d-i mirror/http/proxy string
                              d-i clock-setup/utc boolean true
                              d-i time/zone string US/Eastern
                              
                              # Disable volatile and security
                              d-i apt-setup/services-select multiselect
                              
                              # Enable contrib and non-free
                              d-i apt-setup/non-free boolean true
                              d-i apt-setup/contrib boolean true
                              
                              d-i partman-auto/method string regular
                              d-i partman-lvm/device_remove_lvm boolean true
                              d-i partman-md/device_remove_md boolean true
                              d-i partman-lvm/confirm boolean true
                              d-i partman-auto/choose_recipe select atomic
                              d-i partman/confirm_write_new_label boolean true
                              d-i partman/choose_partition select finish
                              d-i partman/confirm boolean true
                              d-i partman/confirm_nooverwrite boolean true
                              
                              # Add our own security mirror
                              d-i apt-setup/local0/repository string http://archive.kali.org/kali-security kali/updates main
                              d-i apt-setup/local0/comment string Security updates
                              d-i apt-setup/local0/source boolean false
                              d-i apt-setup/use_mirror boolean true
                              
                              # Upgrade installed packages
                              tasksel tasksel/first multiselect standard
                              d-i pkgsel/upgrade select full-upgrade
                              # Install a limited subset of tools from the Kali Linux repositories
                              d-i pkgsel/include string openssh-server openvas metasploit-framework metasploit nano
                              
                              # Change default hostname
                              d-i netcfg/get_hostname string unassigned-hostname
                              d-i netcfg/get_domain string unassigned-domain
                              d-i netcfg/hostname string kali
                              
                              # Do not create a normal user account
                              d-i passwd/make-user boolean false
                              d-i passwd/root-password password toor
                              d-i passwd/root-password-again password toor
                              
                              popularity-contest popularity-contest/participate boolean false
                              d-i grub-installer/only_debian boolean true
                              d-i grub-installer/with_other_os boolean false
                              d-i finish-install/reboot_in_progress note
                              
                              d-i preseed/late_command string \
                                  in-target wget http://192.168.101.54/postseed.sh; \
                                  in-target /bin/bash -x chmod 755 ./postseed.sh; \
                                  in-target /bin/bash -x ./postseed.sh;
                              

                              Note 4: You should be able to boot a live instance of kali with these actions

                              mkdir /var/www/html/kali
                              cp /images/os/kali/2017.2/live/filesystem.squashfs /var/www/html/kali
                              chmod 755 /var/www/html/kali/filesystem.squashfs
                              

                              And then add this parameter block to a FOG iPXE menu entry. I can say I have not tried this, but assembled the information from a few blogs.

                              kernel tftp://${fog-ip}/os/kali/2017.2/linux
                              initrd tftp://${fog-ip}/os/kali/2017.2/initrd.gz
                              imgargs vga=788 initrd=initrd.gz boot=live components fetch=http://${fog-ip}/kali/filesystem.squashfs

                              References:
                              Kali linux appears to be based on Debian linux. I used the foundation for Debian to create this installer.
                              https://www.offensive-security.com/kali-linux/kali-linux-unattended-network-install-pxe/

                              Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

                              1 Reply Last reply Reply Quote 0
                              • george1421G
                                george1421 Moderator
                                last edited by george1421

                                Fedora 27 Workstation

                                1. First we’ll create the required directories:
                                mkdir -p /images/os/fedora/W27
                                mkdir -p /tftpboot/os/fedora/W27
                                
                                1. Now we’ll mount the Fedora 26 Workstation installer over the loop directory. Then we’ll copy the contents of the DVD to the directory we built above.
                                mount -o loop -t iso9660 /{full path where you have the iso stored}/Fedora-Xfce-Live-x86_64-27-1.6.iso /mnt/loop
                                
                                cp -R /mnt/loop/* /images/os/fedora/W27
                                umount /mnt/loop
                                
                                1. Finally we’ll copy the pxe boot kernel and intfs to the tftpboot directory.
                                cp /images/os/fedora/W27/isolinux/vmlinuz /tftpboot/os/fedora/W27
                                cp /images/os/fedora/W27/isolinux/initrd.img /tftpboot/os/fedora/W27
                                
                                1. The last bit of magic we need to do is setup a new FOG iPXE boot menu entry for this OS.
                                2. In the fog WebGUI go to FOG Configuration->iPXE New Menu Entry
                                  Set the following fields
                                  Menu Item: os.FedoraW27
                                  Description: Fedora Workstation v27
                                  Parameters:
                                  kernel tftp://${fog-ip}/os/fedora/W27/vmlinuz
                                  initrd tftp://${fog-ip}/os/fedora/W27/initrd.img
                                  imgargs vmlinuz initrd=initrd.img root=live:nfs://${fog-ip}/images/os/fedora/W27/LiveOS/squashfs.img ip=dhcp repo=nfs://${fog-ip}/images/os/fedora/W27 splash quiet
                                  boot || goto MENU
                                  Menu Show with: All Hosts
                                3. That’s it, just pxe boot your target system and pick Fedora Workstation v27 from the FOG iPXE boot menu.

                                Reference:
                                https://forums.fogproject.org/topic/11108/can-fog-replace-my-urbackup-server/8

                                Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

                                1 Reply Last reply Reply Quote 0
                                • george1421G
                                  george1421 Moderator
                                  last edited by george1421

                                  Kali Live 2017.3 - v0.1

                                  1. First we’ll create the required directories:
                                  mkdir -p /tftpboot/os/kali/2017.3/live
                                  
                                  1. Now we’ll mount the Kali Live 2017.3 installer over the loop directory. Then we’ll copy the contents of the DVD to the directory we built above.
                                  mount -o loop -t iso9660 /{full path where you have the iso stored}/kali-linux-2017.3-amd64.iso /mnt/loop
                                  
                                  cp /mnt/loop/live/{initrd.img,vmlinuz,filesystem.squashfs} /tftpboot/os/kali/2017.3/live/
                                  umount /mnt/loop
                                  
                                  1. The last bit of magic we need to do is setup a new FOG iPXE boot menu entry for this OS.
                                  2. In the fog WebGUI go to FOG Configuration->iPXE New Menu Entry
                                    Set the following fields
                                    Menu Item: os.Kali.live.2017.3
                                    Description: Kali Live 2017.3
                                    Parameters:
                                    kernel tftp://${fog-ip}/os/kali/2017.3/live/vmlinuz
                                    initrd tftp://${fog-ip}/os/kali/2017.3/live/initrd.img
                                    imgargs vmlinuz initrd=initrd.img append boot=live components fetch=tftp://${fog-ip}/os/kali/2017.3/live/filesystem.squashfs
                                    boot || goto MENU
                                    Menu Show with: All Hosts
                                  3. That’s it, just pxe boot your target system and pick Kali Live 2017.3 from the FOG iPXE boot menu.

                                  References:
                                  https://forums.fogproject.org/topic/11108/can-fog-replace-my-urbackup-server/9

                                  Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

                                  1 Reply Last reply Reply Quote 1
                                  • george1421G
                                    george1421 Moderator
                                    last edited by george1421

                                    ESXi 6.5u1

                                    NOTE: This guidance only supports network booting of the uefi installer for ESXi. The reason for this is the fog project does not ship iPXE kernels that support the comboot function. If you want to boot your ESXi server in legacy mode you will need to compile your own specific version of undionly.kpxe to add in the IMG_COMBOOT.

                                    1. First we’ll create the required directories:
                                    mkdir -p /images/os/esxi/6.5u1
                                    
                                    1. Now we’ll mount the ESXi installer iso over the loop directory. Then we’ll copy the contents of the DVD to the directory we built above.
                                    mount -o loop -t iso9660 /{full path where you have the iso stored}/VMware-VMvisor-Installer-6.5.0.update01-5969303.x86_64.iso /mnt/loop
                                    
                                    cp -R /mnt/loop/* /images/os/esxi/6.5u1
                                    umount /mnt/loop
                                    
                                    1. Edit the boot configuration file to use NFS to access all of ESXi’s files.
                                    # remove forward slashes from the config file
                                    sed -i 's/\///g' /images/os/esxi/6.5u1/efi/boot/boot.cfg
                                    

                                    Now we need to edit the/images/os/esxi/6.5u1/efi/boot/boot.cfg file to insert the prefix parameter. Insert the following line just below the title parameter. Also, be sure to replace {fog_server_ip} with the actual IP address of your fog server.

                                    prefix=nfs://{fog_server_ip}:/images/os/esxi/6.5u1
                                    
                                    1. The last bit of magic we need to do is setup a new FOG iPXE boot menu entry for this OS.
                                    2. In the fog WebGUI go to FOG Configuration->iPXE New Menu Entry
                                      Set the following fields
                                      Menu Item: os.esxi65u1
                                      Description: ESXi 6.5u1 Installer
                                      Parameters:
                                      kernel nfs://${fog-ip}:/images/os/esxi/6.5u1/efi/boot/bootx64.efi -c nfs://${fog-ip}:/images/os/esxi/6.5u1/efi/boot/boot.cfg
                                      boot || goto MENU
                                      Menu Show with: All Hosts
                                    3. That’s it, just pxe boot your target system and pick ESXi 6.5u1 Installer from the FOG iPXE boot menu.

                                    If for some reason you can not use NFS to pxe boot into the ESXi installer you can use tftp or http. If you want to use tftp extract the ESXi install files to /tftpboot/os/esxi/6.5u1. Then update the nfs:// protocols to tftp:// Be sure to remove the ':/images' after the host name or you will have errors. (i.e. kernel nfs://${fog-ip}:/images/os/esxi would become kernel tftp://${fog-ip}/os/esxi)

                                    References:
                                    https://www.reversengineered.com/2015/02/11/booting-vmware-esxi-in-ipxe/
                                    http://forum.ipxe.org/showthread.php?tid=8164

                                    Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

                                    1 Reply Last reply Reply Quote 0
                                    • george1421G
                                      george1421 Moderator
                                      last edited by george1421

                                      SystemRescueCd 5.2.2 x64

                                      1. First we’ll create the required directories:
                                      mkdir -p /tftpboot/os/RescueCd/5.2.2
                                      
                                      1. Now we’ll mount the SystemRescueCd boot iso over the loop directory. Then we’ll copy the contents of the DVD to the directory we built above.
                                      mount -o loop -t iso9660 /{full path where you have the iso stored}/systemrescuecd-x86-5.2.2.iso /mnt/loop
                                      
                                      cp /mnt/loop/isolinux/{rescue64,initram.igz} /tftpboot/os/RescueCd/5.2.2/
                                      umount /mnt/loop
                                      
                                      1. The last bit of magic we need to do is setup a new FOG iPXE boot menu entry for this OS.
                                      2. In the fog WebGUI go to FOG Configuration->iPXE New Menu Entry
                                        Set the following fields
                                        Menu Item: os.SystemRescueCd.5.2.2
                                        Description: SystemRescueCd 5.2.2
                                        Parameters:
                                        kernel tftp://${fog-ip}/os/RescueCd/5.2.2/rescue64
                                        initrd tftp://${fog-ip}/os/RescueCd/5.2.2/initram.igz
                                        imgargs docache
                                        boot || goto MENU
                                        Menu Show with: All Hosts
                                      3. That’s it, just pxe boot your target system and pick SystemRescueCd 5.2.2 from the FOG iPXE boot menu.

                                      References:
                                      None

                                      Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

                                      1 Reply Last reply Reply Quote 0
                                      • george1421G
                                        george1421 Moderator
                                        last edited by george1421

                                        Linux Mint 19.1 Cinnamon

                                        1. First we’ll create the required directories:
                                        mkdir -p /images/os/mint/19.1
                                        mkdir -p /tftpboot/mint/19.1
                                        
                                        1. Now we’ll mount the Linux Mint 19.1 installer over the loop directory. Then we’ll copy the contents of the DVD to the directory we built above.
                                        mount -o loop -t iso9660 /{full path where you have the iso stored}/linuxmint-19.1-cinnamon-64bit.iso /mnt/loop
                                        
                                        cp -R /mnt/loop/* /images/os/mint/19.1
                                        umount /mnt/loop
                                        
                                        1. Finally we’ll copy the pxe boot kernel and intfs to the tftpboot directory.
                                        cp /images/os/mint/19.1/casper/vmlinuz /tftpboot/mint/19.1
                                        cp /images/os/mint/19.1/casper/initrd.lz /tftpboot/mint/19.1
                                        
                                        1. The last bit of magic we need to do is setup a new FOG iPXE boot menu entry for this OS.
                                        2. In the fog WebGUI go to FOG Configuration->iPXE New Menu Entry
                                          Set the following fields
                                          Menu Item: os.Mint19.1
                                          Description: Linux Mint 19.1
                                          Parameters:
                                          kernel tftp://${fog-ip}/mint/19.1/vmlinuz
                                          initrd tftp://${fog-ip}/mint/19.1/initrd.lz
                                          imgargs vmlinuz root=/dev/nfs boot=casper netboot=nfs nfsroot=${fog-ip}:/images/os/mint/19.1/ locale=en_US.UTF-8 keyboard-configuration/layoutcode=us toram quiet splash
                                          boot || goto MENU
                                          Menu Show with: All Hosts
                                        3. That’s it, just pxe boot your target system and pick Linux Mint 19.1 from the FOG iPXE boot menu.

                                        Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

                                        1 Reply Last reply Reply Quote 0
                                        • george1421G
                                          george1421 Moderator
                                          last edited by

                                          GParted 0.33.0 x86

                                          1. First we’ll create the required directories:
                                          mkdir -p /tftpboot/gparted
                                          mkdir -p /tmp/gparted
                                          
                                          1. Download the gparted zip file from sourceforge site and save it to the /tmp/gparted directory
                                          2. Change to the /tmp/gparted directory and expand the zip file. Then change into the live directory and finally copy the required files to the tftpboot/gparted directory
                                          cd /tmp/gparted
                                          unzip gparted-live-0.33.0-2-i686.zip
                                          cd live
                                          cp {vmlinuz,initrd.img,filesystem.squashfs} /tftpboot/gparted
                                          
                                          1. In the fog WebGUI go to FOG Configuration->iPXE New Menu Entry
                                            Set the following fields
                                            Menu Item: os.GParted
                                            Description: GParted 0.33.0
                                            Parameters:
                                            kernel tftp://${fog-ip}/gparted/vmlinuz
                                            initrd tftp://${fog-ip}/gparted/initrd.img
                                            imgargs vmlinuz initrd=initrd.img boot=live config components union=overlay username=user noswap noeject ip= vga=788 fetch=tftp://${fog-ip}/gparted/filesystem.squashfs
                                            boot || goto MENU

                                          Menu Show with: All Hosts
                                          5. That’s it, just pxe boot your target system and pick GParted 0.33.0 from the FOG iPXE boot menu.

                                          References:
                                          https://gparted.org/livepxe.php

                                          Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

                                          1 Reply Last reply Reply Quote 2
                                          • george1421G
                                            george1421 Moderator
                                            last edited by

                                            ESXi 6.7u2

                                            NOTE: This guidance only supports network booting of the uefi installer for ESXi. The reason for this is the fog project does not ship iPXE kernels that support the comboot function. If you want to boot your ESXi server in legacy mode you will need to compile your own specific version of undionly.kpxe to add in the IMG_COMBOOT.

                                            1. First we’ll create the required directories:
                                            mkdir -p /images/os/esxi/6.7u2
                                            
                                            1. Now we’ll mount the ESXi installer iso over the loop directory. Then we’ll copy the contents of the DVD to the directory we built above.
                                            mount -o loop -t iso9660 /{full path where you have the iso stored}/VMware-VMvisor-Installer-6.7.0.update02-13006603.x86_64.iso /mnt/loop
                                            
                                            cp -R /mnt/loop/* /images/os/esxi/6.7u2
                                            umount /mnt/loop
                                            
                                            1. Edit the boot configuration file to use NFS to access all of ESXi’s files.
                                            # remove forward slashes from the config file
                                            sed -i 's/\///g' /images/os/esxi/6.7u2/efi/boot/boot.cfg
                                            

                                            Now we need to edit the/images/os/esxi/6.7u2/efi/boot/boot.cfg file to insert or modify the prefix parameter. Insert/modify the following line just below the title parameter. Also, be sure to replace {fog_server_ip} (exactly including the curly braces) with the actual IP address of your fog server. Your prefix line should look similar to this:

                                            prefix=nfs://192.168.1.20:/images/os/esxi/6.7u2
                                            
                                            1. The last bit of magic we need to do is setup a new FOG iPXE boot menu entry for this OS.
                                            2. In the fog WebGUI go to FOG Configuration->iPXE New Menu Entry
                                              Set the following fields
                                              Menu Item: os.esxi67u2
                                              Description: ESXi 6.7u2 Installer
                                              Parameters:
                                              kernel nfs://${fog-ip}:/images/os/esxi/6.7u2/efi/boot/bootx64.efi -c nfs://${fog-ip}:/images/os/esxi/6.7u2/efi/boot/boot.cfg
                                              boot || goto MENU
                                              Menu Show with: All Hosts
                                            3. That’s it, just pxe boot your target system and pick ESXi 6.7u2 Installer from the FOG iPXE boot menu.

                                            If for some reason you can not use NFS to pxe boot into the ESXi installer you can use tftp or http. If you want to use tftp extract the ESXi install files to /tftpboot/os/esxi/6.7u2. Then update the nfs:// protocols to tftp:// Be sure to remove the ':/images' after the host name or you will have errors. (i.e. kernel nfs://${fog-ip}:/images/os/esxi would become kernel tftp://${fog-ip}/os/esxi)

                                            Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • First post
                                              Last post

                                            179

                                            Online

                                            12.0k

                                            Users

                                            17.3k

                                            Topics

                                            155.2k

                                            Posts
                                            Copyright © 2012-2024 FOG Project