• 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
    80.1k
    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

      Debian 10.7 Standard -Live

      1. First we’ll create the required directories:
      mkdir -p /images/os/debian/10.7L
      mkdir -p /tftpboot/debian/10.7L
      
      # for FOG Server with Redhat based OS
      mkdir -p /var/www/html/os/debian/10.7L
      # for FOG Server with Debian based OS
      mkdir -p /var/www/os/debian/10.7L
      
      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.
        I need to explain something here. The iso below is the "standard" version which is the debian console version. If you want to live boot into the debian XWindows interface you will need to download the ISO that contains your desired XWindows manager like Mate, XFCE, KDE, Gnome, etc The instructions are the same for all ISO, just the size if the initrd and squashfs will change
      mount -o loop -t iso9660 /{full path where you have the iso stored}/debian-live-10.7.0-amd64-standard.iso /mnt/loop
      
      cp -R /mnt/loop/* /images/os/debian/10.7L
      umount /mnt/loop
      
      1. Finally we’ll copy the pxe boot kernel and intfs to the tftpboot directory.
      cp /images/os/debian/10.7L/live/vmlinuz-4.19.0-13-amd64 /tftpboot/debian/10.7L/vmlinuz
      cp /images/os/debian/10.7L/live/initrd.img-4.19.0-13-amd64 /tftpboot/debian/10.7L/initrd
      
      # for FOG Server with RedHat based OS
      cp /images/os/debian/10.7L/live/filesystem.squashfs /var/www/html/os/debian/10.7L
      # for FOG Server with Debian based OS
      cp /images/os/debian/10.7L/live/filesystem.squashfs /var/www/os/debian/10.7L
      
      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.7L
        Description: Debian 10.7 Live
        Parameters:
        kernel tftp://${fog-ip}/debian/10.7L/vmlinuz
        initrd tftp://${fog-ip}/debian/10.7L/initrd
        imgargs vmlinuz initrd=initrd boot=live components fetch=http://${fog-ip}/os/debian/10.7L/filesystem.squashfs
        boot || goto MENU
        Menu Show with: All Hosts
      3. That’s it, just pxe boot your target system and pick Debian 10.7 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 1
      • george1421G
        george1421 Moderator
        last edited by george1421

        Debian 10.7 Standard

        1. First we’ll create the required directories:
        mkdir -p /images/os/debian/Server10.7
        mkdir -p /tftpboot/os/debian/Server10.7
        
        1. Now we’ll mount the Debian Server 10.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}/debian-10.7.0-amd64-DVD-1.iso /mnt/loop
        
        cp -R /mnt/loop/* /images/os/debian/Server10.7
        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: https://deb.debian.org/debian/dists/buster/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 https://deb.debian.org/debian/dists/buster/main/installer-amd64/current/images/netboot/netboot.tar.gz
        tar -zxf netboot.tar.gz
        cp ./debian-installer/amd64/linux /tftpboot/os/debian/Server10.7
        cp ./debian-installer/amd64/initrd.gz /tftpboot/os/debian/Server10.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.Debian.Server.10.7
          Description: Debian Server 10.7
          Parameters:
          kernel tftp://${fog-ip}/os/debian/Server10.7/linux
          initrd tftp://${fog-ip}/os/debian/Server10.7/initrd.gz
          imgargs linux initrd=initrd.gz root=/dev/nfs boot=casper netboot=nfs nfsroot=${fog-ip}:/images/os/debian/Server10.7/ 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 Debian Server 10.7 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!

        Tom ElliottT 1 Reply Last reply Reply Quote 0
        • Tom ElliottT
          Tom Elliott @george1421
          last edited by

          This post is deleted!
          1 Reply Last reply Reply Quote 0
          • george1421G
            george1421 Moderator
            last edited by george1421

            Windows 10 BIOS/UEFI 2021 edition
            17-Mar-21 this post is currently being edited, so its not complete

            1. First we’ll create the required directories. In this tutorial we will use a windows server/workstation to host the installer files. This is the easiest solution, but if your goal is to only use the FOG server follow the instructions at the end of this thread for SAMBA install instructions. On your file server copy the content of the Windows installation DVD to a folder on your file server. Be sure to set the permission so that everyone has read only access to that directory. Now share that directory. For this tutorial the Windows file server will be called \fileserv01 with the share name of \win10$

            2. In this next step you will need a valid user ID. It can be a domain level or machine level. Create this user id and password. For this tutorial we will create a domain account called consento\user01

            3. Beyond this point you will need a Windows 10 1909 (or later) workstation. You also need to be aware what version of windows 10 you intend to deploy. You need to download the proper version of Windows ADK for the version of Windows 10 you will execute these instructions against.

            4. 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 You will need both downloads “Windows ADK for Windows 10” and “Windows PE add-on for the ADK”.

            5. Launch the ADK installer. You will be presented with about 15 different modules to install. You only “need” the Deployment Tools feature from the “Windows ADK for Windows 10”. Now run the “Windows PE add-on for the ADK” installer . From this installer you will need (the only option) Windows Preinstallation Environment (Windows PE).

            6. It might take as long as 20 minutes to install both packages depending on your network connection and target computer.

            7. While this step is not necessary it is also a bit of an assurance that WinPE10 will have a good install of basic drivers needed to boot current hardware.

            8. Download the WinPE10 drivers from the Dell Enterprise site here: https://www.dell.com/support/kbdoc/en-us/000180533/dell-command-deploy-driver-packs As always download the latest WinPE Cab pack. At the time of this writing it was A23.

            9. I realize that you may not be using a Dell for your imaging, don’t worry these drivers only cover network and disk subsystems.

            10. Extract the winpe folder from the cab file and copy it in the winpe folder in the root of C drive (c:\winpe).

            11. After the install launch the ADK environment from Start Button->Windows Kits->Windows ADK->Deployment and Imaging Tools Environment Make sure you run this command window as Administrator. FYI: you’ll need admin rights to use DISM.

            12. In the Deployment and Imaging Tools Environment command window you just opened you will need to execute the following commands.

            13. 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
            

            I stopped here editing this document
            15. 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 3
            • george1421G
              george1421 Moderator
              last edited by george1421

              Bitdefender Rescue CD 31.01.2011

              1. First we’ll create the required directory:
              mkdir -p /tftpboot/os/bitdefender
              
              1. Now we’ll mount the Bitdefender Rescue CD installer over the loop directory. Then we’ll copy the required files to the directory we built above. Note: when I downloaded the iso from the bitdefender web site the file came down as file with no extension. I tacked on .iso then I was able to mount it with my linux mint desktop. I rename the entire file name to BitdefenderRescue.iso for this tutorial.
              mount -o loop -t iso9660 /{full path where you have the iso stored}/BitdefenderRescue.iso /mnt/loop
              
              cp -R /mnt/loop/casper/vmlinuz /images/os/bitdefender
              cp -R /mnt/loop/casper/initrd.gz /images/os/bitdefender
              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.BitdefenderRescue
                Description: BitdefenderRescue v31.01.2011
                Parameters:
                kernel tftp://${fog-ip}/os/bitdefender/vmlinuz
                initrd tftp://${fog-ip}/os/bitdefender/initrd.gz
                imgargs vmlinuz initrd=initrd.gz file=file=/cdrom/preseed/ubuntu.seed boot=casper splash vga=791 lang=us
                boot || goto MENU
                Menu Show with: All Hosts
              3. That’s it, just pxe boot your target system and pick BitdefenderRescue v31.01.2011 from the FOG iPXE boot menu.

              I'm going to suspect this will not work because of the reference of the ubuntu.seed file. The image args are saying to look on the cdrom for that file, but since we are pxe booting from memory it won't find that file on the dvd/cvd. I'm sure it can be worked out. It will just take some debugging
              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 @george1421
                last edited by george1421

                Platform Specific Bootable ISO, PER620

                There is a bug in the kernel parameters. I'm suspecting the root= value is incorrect. I'm getting an error when the rpms are trying to update

                1. First we’ll create the required directories:
                mkdir -p /images/os/dell/pfs620
                mkdir -p /tftpboot/os/dell/pfs620
                
                1. Now we’ll mount the Dell Bootable 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}/PER620_BOOTABLE_21.04.00.184.iso /mnt/loop
                
                cp -R /mnt/loop/* /images/os/dell/pfs620
                umount /mnt/loop
                
                1. Finally we’ll copy the pxe boot kernel and intfs to the tftpboot directory.
                cp /images/os/dell/pfs620/isolinux/SA.1 /tftpboot/os/dell/pfs620
                cp /images/os/dell/pfs620/isolinux/SA.2 /tftpboot/os/dell/pfs620
                
                
                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.platformR620
                  Description: Platform Specific Firmware R620
                  Parameters:
                  kernel tftp://${fog-ip}/os/dell/pfs620/SA.1
                  initrd tftp://${fog-ip}/os/dell/psf620/SA.2
                  imgargs SA.1 initrd=SA.2 root=live:http://${fog-ip}/dellsquashfs.img rootfstype=auto rd.live.image rd.writable.fsimg rw DEBUG=0 share_type=nfs share_location=${fog-ip}:/images/os/dell/pfs620 share_opts=nolock loglevel=7 BUILD=0 selinux=0 edd=off rd.md=0 rd.dm=0 quiet – share_script=drm_files/apply_bundles.sh
                  boot || goto MENU
                  Menu Show with: All Hosts
                3. That’s it, just pxe boot your target system and pick Platform Specific Firmware R620 from the FOG iPXE boot menu.

                References:
                https://www.dell.com/support/home/en-us/drivers/driversdetails?driverId=FRMMC&oscode=naa&productcode=poweredge-R620

                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 @george1421
                  last edited by

                  ESXi 7.0u2

                  ***This menu entry is still under development. It has not been tested in a production environment***

                  NOTE: This guidance only supports network booting of the uefi installer for ESXi.

                  1. First we’ll create the required directories:
                  mkdir -p /images/os/esxi/7.0u2
                  
                  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-7.0U2a-17867351.x86_64.iso /mnt/loop
                  
                  cp -R /mnt/loop/* /images/os/esxi/7.0u2
                  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/7.0u2/efi/boot/boot.cfg
                  

                  Now we need to edit the/images/os/esxi/7.0u2/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/7.0u2
                  
                  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.esxi7.0u2
                    Description: ESXi 7.0u2 Installer
                    Parameters:
                    kernel nfs://${fog-ip}:/images/os/esxi/7.0u2/efi/boot/bootx64.efi -c nfs://${fog-ip}:/images/os/esxi/7.0u2/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 7.0u2 Installer 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 @george1421
                    last edited by george1421

                    Debian 11.3 Server

                    1. First we’ll create the required directories:
                    mkdir -p /images/os/debian/Server11.3
                    mkdir -p /tftpboot/os/debian/Server11.3
                    
                    1. Now we’ll mount the Debian Server 11.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}/debian-11.3.0-amd64-DVD-1.iso /mnt/loop
                    
                    cp -R /mnt/loop/* /images/os/debian/Server11.3
                    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: https://deb.debian.org/debian/dists/bullseye/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 https://deb.debian.org/debian/dists/bullseye/main/installer-amd64/current/images/netboot/netboot.tar.gz
                    tar -zxf netboot.tar.gz
                    cp ./debian-installer/amd64/linux /tftpboot/os/debian/Server11.3
                    cp ./debian-installer/amd64/initrd.gz /tftpboot/os/debian/Server11.3
                    
                    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.Server.11.3
                      Description: Debian Server 11.3
                      Parameters:
                      kernel tftp://${fog-ip}/os/debian/Server11.3/linux
                      initrd tftp://${fog-ip}/os/debian/Server11.3/initrd.gz
                      imgargs linux initrd=initrd.gz root=/dev/nfs boot=casper netboot=nfs nfsroot=${fog-ip}:/images/os/debian/Server11.3/ 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 Debian Server 11.3 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 referenced this topic on
                    • george1421G george1421 referenced this topic on
                    • george1421G george1421 referenced this topic on
                    • Tom ElliottT Tom Elliott referenced this topic on
                    • D dvorak referenced this topic on
                    • george1421G george1421 referenced this topic on
                    • george1421G george1421 referenced this topic on
                    • george1421G george1421 referenced this topic on
                    • george1421G george1421 referenced this topic on
                    • george1421G george1421 referenced this topic on
                    • M mashina referenced this topic on
                    • george1421G george1421 referenced this topic on
                    • george1421G
                      george1421 Moderator
                      last edited by

                      Paragon Hard Disk Manager

                      Information kindly contributed by @Wolfbane8653

                      Configuration currently works for UEFI only. It appears the wim file is missing bootmgr.exe for the BIOS booting systems

                      It is highly recommended to use this on a machine that has 4GB+ RAM.

                      First we’ll create the required directories:

                      mkdir -p /var/www/fog/Tools/{iso folder name}
                      chmod -R 777 /var/www/fog/Tools/{iso folder name}
                      

                      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.

                      mkdir -p /mnt/loop
                      mount -o loop /{full path where you have the iso stored}/{iso file} /mnt/loop
                      

                      We are going to copy to /var/www/fog/Tools so we can use the http protocal already setup for fog management.

                      cp /mnt/loop/bootmgr /var/www/fog/Tools/{iso folder name}
                      cp /mnt/loop/boot/bcd /var/www/fog/Tools/{iso folder name}
                      cp /mnt/loop/boot/boot.sdi /var/www/fog/Tools/{iso folder name}
                      cp /mnt/loop/sources/boot.wim /var/www/fog/Tools/{iso folder name}
                      cp /mnt/loop/efi /var/www/fog/Tools/{iso folder name}
                      
                      umount /mnt/loop
                      

                      Download and install the latest wimboot kernel and extract it from the zip file.

                      • https://github.com/ipxe/wimboot/blob/master/wimboot
                        The issue was discussed in this post: https://forums.fogproject.org/post/144293
                        We will use tftp protocal for this file in the fog menu.
                      cd /tmp
                      wget http://git.ipxe.org/releases/wimboot/wimboot-latest.zip
                      unzip wimboot-latest.zip
                      

                      Copy the wimboot file from the archive directory to root of the os directory (we’ll need this for every windows boot media, so we’ll place it in a common spot).

                      mkdir -p /tftpboot/os
                      cp ./wimboot-2.6.0-signed/wimboot /tftpboot/os
                      chmod -R 777 tftpboot/os
                      

                      The last bit of magic we need to do is setup a new FOG iPXE boot menu entry for this OS.
                      In the fog WebGUI go to FOG Configuration->iPXE New Menu Entry
                      Set the following fields

                      Menu Item: os.{iso file name}
                      Description: {iso file you would like to boot from}
                      Parameters:
                      set tftp-path tftp://${fog-ip}
                      set http-path http://${fog-ip}/fog/Tools/HD_Manager
                      kernel ${tftp-path}/os/wimboot gui
                      imgfetch --name bootmgr ${http-path}/bootmgr bootmgr
                      imgfetch --name bootx64.efi ${http-path}/efi/boot/en_us/bootx64.efi bootx64.efi
                      imgfetch --name BCD ${http-path}/bcd BCD
                      imgfetch --name boot.sdi ${http-path}/boot.sdi boot.sdi
                      imgfetch --name boot.wim ${http-path}/boot.wim boot.wim
                      boot || goto MENU
                      

                      That’s it, just pxe boot your target system and pick os.{iso file name} 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 referenced this topic on
                      • Tom ElliottT Tom Elliott referenced this topic on
                      • george1421G
                        george1421 Moderator @george1421
                        last edited by

                        Parted Magic version from May 2023

                        Please see this article posted by @renewedharry

                        https://forums.fogproject.org/topic/17498/successfully-booting-parted-magic

                        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
                        • Tom ElliottT Tom Elliott referenced this topic on
                        • george1421G george1421 referenced this topic on
                        • Tom ElliottT Tom Elliott referenced this topic on
                        • O okafor-abc referenced this topic on
                        • Tom ElliottT Tom Elliott referenced this topic on
                        • george1421G george1421 referenced this topic on
                        • 1
                        • 2
                        • 2 / 2
                        • First post
                          Last post

                        178

                        Online

                        12.1k

                        Users

                        17.3k

                        Topics

                        155.3k

                        Posts
                        Copyright © 2012-2024 FOG Project