• 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.6k
    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

      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
                              • george1421G
                                george1421 Moderator
                                last edited by george1421

                                Ubuntu 1910 Desktop

                                1. First we’ll create the required directories:
                                mkdir -p /images/os/ubuntu/Desk19.10
                                mkdir -p /tftpboot/os/ubuntu/Desk19.10
                                
                                1. Now we’ll mount the Ubuntu 19.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-19.10-desktop-amd64.iso /mnt/loop
                                
                                cp -R /mnt/loop/* /images/os/ubuntu/Desk19.10
                                umount /mnt/loop
                                
                                1. Finally we’ll copy the pxe boot kernel and intfs to the tftpboot directory. We’ll need to download the netboot version from here: http://archive.ubuntu.com/ubuntu/dists/eoan/main/installer-amd64/current/images/netboot/netboot.tar.gz This version of bzlinuz.efi and initrd.lz support booting over an NFS share instead of the local DVD Drive.
                                wget http://archive.ubuntu.com/ubuntu/dists/eoan/main/installer-amd64/current/images/netboot/netboot.tar.gz
                                tar -zxf netboot.tar.gz
                                cp ./ubuntu-installer/amd64/linux /tftpboot/os/ubuntu/Desk19.10
                                cp ./ubuntu-installer/amd64/initrd.gz /tftpboot/os/ubuntu/Desk19.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.19.10
                                  Description: Ubuntu Desktop 19.10
                                  Parameters:
                                  kernel tftp://${fog-ip}/os/ubuntu/Desk19.10/linux
                                  initrd tftp://${fog-ip}/os/ubuntu/Desk19.10/initrd.gz
                                  imgargs linux root=/dev/nfs boot=casper netboot=nfs nfsroot=${fog-ip}:/images/os/ubuntu/Desk19.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 19.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 1
                                • george1421G
                                  george1421 Moderator
                                  last edited by george1421

                                  Veeam Agent Rescue DVD

                                  1. First we’ll create the required directories:
                                  mkdir -p /tftpboot/os/veeam
                                  
                                  1. Now we’ll mount the Veeam Recovery 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}/ VeeamRecoveryMedia.iso /mnt/loop
                                  
                                  cp /mnt/loop/boot/BCD /tftpboot/os/veeam/
                                  cp /mnt/loop/boot/boot.sdi /tftpboot/os/veeam/
                                  cp /mnt/loop/sources/boot.wim /tftpboot/os/veeam/
                                  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 Veeam Recover Image.
                                  2. In the fog WebGUI go to FOG Configuration->iPXE New Menu Entry
                                    Set the following fields
                                    Menu Item: os.VeeamRecovery
                                    Description: Veeam Agent 4
                                    Parameters:
                                    set tftp-path tftp://${fog-ip}
                                    set pe-path ${tftp-path}/os/veeam
                                    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 Veeam Agent 4 from the FOG iPXE boot menu.

                                  Bonus round NOTE: the code below doesn't work at the moment, I'm getting an HTTP access denied message. The info is right, there is just something with apache at the moment that is stopping access to these individual files
                                  The above method shows how to load the Veeam Recover image over tftp. The following instructions show how to do the same thing over the faster http protocol.

                                  1. First we’ll create the required directories:
                                  mkdir -p /var/www/html/os/veeam
                                  
                                  1. Now we’ll mount the Veeam Recovery 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}/ VeeamRecoveryMedia.iso /mnt/loop
                                  
                                  cp /mnt/loop/boot/BCD /var/www/html/os/veeam
                                  cp /mnt/loop/boot/boot.sdi /var/www/html/os/veeam
                                  cp /mnt/loop/sources/boot.wim /var/www/html/os/veeam
                                  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 /var/www/html/os 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 /var/www/html/os
                                  
                                  1. The last bit of magic we need to do is setup a new FOG iPXE boot menu entry for this Veeam Recover Image.
                                  2. In the fog WebGUI go to FOG Configuration->iPXE New Menu Entry
                                    Set the following fields
                                    Menu Item: os.VeeamRecoveryHTTP
                                    Description: Veeam Agent 4 (http)
                                    Parameters:
                                    set http-path http://${fog-ip}/os
                                    set pe-path ${http-path}/veeam
                                    kernel ${http-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 Veeam Agent 4 (http) 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 george1421

                                    Ubuntu 1910 Server

                                    WARNING: The installer files needed for 19.10 has been removed from the download site. Noticed 25-Jan-2021. This tutorial is for reference only.

                                    1. First we’ll create the required directories:
                                    mkdir -p /images/os/ubuntu/Server19.10
                                    mkdir -p /tftpboot/os/ubuntu/Server19.10
                                    
                                    1. Now we’ll mount the Ubuntu Server 19.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-19.10-live-server-amd64.iso /mnt/loop
                                    
                                    cp -R /mnt/loop/* /images/os/ubuntu/Server19.10
                                    umount /mnt/loop
                                    
                                    1. Finally we’ll copy the pxe boot kernel and intfs to the tftpboot directory. We’ll need to download the netboot version from here: http://archive.ubuntu.com/ubuntu/dists/eoan/main/installer-amd64/current/images/netboot/netboot.tar.gz This version of bzlinuz.efi and initrd.lz support booting over an NFS share instead of the local DVD Drive.
                                    wget http://archive.ubuntu.com/ubuntu/dists/eoan/main/installer-amd64/current/images/netboot/netboot.tar.gz
                                    tar -zxf netboot.tar.gz
                                    cp ./ubuntu-installer/amd64/linux /tftpboot/os/ubuntu/Server19.10
                                    cp ./ubuntu-installer/amd64/initrd.gz /tftpboot/os/ubuntu/Server19.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.Server.19.10
                                      Description: Ubuntu Server 19.10
                                      Parameters:
                                      kernel tftp://${fog-ip}/os/ubuntu/Server19.10/linux
                                      initrd tftp://${fog-ip}/os/ubuntu/Server19.10/initrd.gz
                                      imgargs linux root=/dev/nfs boot=casper netboot=nfs nfsroot=${fog-ip}:/images/os/ubuntu/Server19.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 Server 19.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 Sebastian Roth

                                      Ubuntu 20.04 Server

                                      This is solution still under investigation. It appears that Canonical has changed how their installer works and for me, its a bit strange since now they require the entire live iso to run from memory. That means transferring the 2.1GB iso image over the network to the network computer before the kernel boots. This kind of (imo) limits the target hardware to have at least 4GB of ram (2GB for the iso, 1GB for the OS and then 1GB for free RAM, said from an uneducated guess POV). To me this change seems a bit tone deaf to the Ubuntu user community only supplying the iso image in live boot mode.

                                      Reference threads:
                                      https://discourse.ubuntu.com/t/netbooting-the-live-server-installer/14510
                                      https://bugs.launchpad.net/ubuntu/+source/debian-installer/+bug/1429030?_ga=2.229105820.1620676036.1595355002-1365610273.1592834629
                                      https://forums.fogproject.org/topic/14590/20-04-autoinstall

                                      Also looking into the mini.iso referenced here (but only for bios installs, it appears that the uefi bits are broken and won’t be fix to drive folks away from this solution): http://archive.ubuntu.com/ubuntu/dists/focal/main/installer-amd64/current/legacy-images/netboot

                                      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 10.5 Standard-Live

                                        1. First we’ll create the required directories:
                                        mkdir -p /images/os/debian/10.5L
                                        mkdir -p /tftpboot/debian/10.5L
                                        
                                        # for FOG Server with RedHat based OS
                                        mkdir -p /var/www/html/os/debian/10.5L
                                        # for FOG Server with Debian based OS
                                        mkdir -p /var/www/os/debian/10.5L
                                        
                                        1. Now we’ll mount the Debian live DVD 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-live-10.5.0-amd64-standard.iso /mnt/loop
                                        
                                        cp -R /mnt/loop/* /images/os/debian/10.5L
                                        umount /mnt/loop
                                        
                                        1. Finally we’ll copy the pxe boot kernel and intfs to the tftpboot directory.
                                        cp /images/os/debian/10.5L/live/vmlinuz-4.19.0-10-amd64 /tftpboot/debian/10.5L/vmlinuz
                                        cp /images/os/debian/10.5L/live/initrd.img-4.19.0-10-amd64 /tftpboot/debian/10.5L/initrd
                                        
                                        # for FOG Server with RedHat based OS
                                        cp /images/os/debian/10.5L/live/filesystem.squashfs /var/www/html/os/debian/10.5L
                                        # for FOG Server with Debian based OS
                                        cp /images/os/debian/10.5L/live/filesystem.squashfs /var/www/os/debian/10.5L
                                        
                                        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.Debian.10.5L
                                          Description: Debian 10.5 Live
                                          Parameters:
                                          kernel tftp://${fog-ip}/debian/10.5L/vmlinuz
                                          initrd tftp://${fog-ip}/debian/10.5L/initrd
                                          imgargs vmlinuz boot=live components fetch=http://${fog-ip}/os/debian/10.5L/filesystem.squashfs
                                          boot || goto MENU
                                          Menu Show with: All Hosts
                                        3. That’s it, just pxe boot your target system and pick Debian 10.5 Live 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 george1421

                                          Acronis 2018 (WinPE)

                                          1. First we’ll create the required directories:
                                          mkdir -p /tftpboot/os/acronis18
                                          
                                          1. Now we’ll mount the Acronis 2018 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}/acronis2018pe.iso /mnt/loop
                                          
                                          cp /mnt/loop/boot/BCD /tftpboot/os/acronis18/
                                          cp /mnt/loop/boot/boot.sdi /tftpboot/os/acronis18/
                                          cp /mnt/loop/sources/boot.wim /tftpboot/os/acronis18/
                                          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 Acronis 2018 WinPE Image.
                                          2. In the fog WebGUI go to FOG Configuration->iPXE New Menu Entry
                                            Set the following fields
                                            Menu Item: os.Acronis2018PE
                                            Description: Acronis 2018 WinPE
                                            Parameters:
                                            set tftp-path tftp://${fog-ip}
                                            set pe-path ${tftp-path}/os/acronis18
                                            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 Acronis 2018 WinPE 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 1
                                          • george1421G
                                            george1421 Moderator
                                            last edited by george1421

                                            XenServer 8.2 Installer

                                            1. Create the target directory on the FOG server
                                            mkdir -p /tftpboot/EFI/xenserver
                                            
                                            
                                            1. From the XenServer installer iso the following files and place them in the /tftpboot/EFI/xenserver directory
                                              grubx64.efi install.img vmlinuz xen.gz
                                            2. Create the grub.cfg configuration file in the /tftpboot/EFI/xenserver and insert this text into the grub.cfg file.
                                            menuentry "XenServer Install (serial)" {
                                             multiboot2 /EFI/xenserver/xen.gz dom0_mem=1024M,max:1024M watchdog dom0_max_vcpus=4 com1=115200,8n1 console=com1,vga
                                             module2 /EFI/xenserver/vmlinuz console=hvc0
                                             module2 /EFI/xenserver/install.img
                                            } 
                                            
                                            1. Create a new FOG iPXE menu entry using the FOG Web ui FOG Configuration -> New iPXE Menu. Fill out the form using this data
                                              Menu Item: os.xen.install
                                              Description: XEN 8.2 Installer
                                              Parameters:
                                              chain tftp://${fog-ip}/EFI/xenserver/grubx64.efi || goto MENU
                                              Menu Show with: All Hosts
                                            2. That’s it, just pxe boot your target system and pick XEN 8.2 Installer from the FOG iPXE boot menu.

                                            ref: https://support.citrix.com/article/CTX217680
                                            ref: https://forums.fogproject.org/topic/14970/uefi-boot-install-of-xenserver-close-but-no-cigar

                                            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

                                            199

                                            Online

                                            12.0k

                                            Users

                                            17.3k

                                            Topics

                                            155.2k

                                            Posts
                                            Copyright © 2012-2024 FOG Project