<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Tutorials]]></title><description><![CDATA[Share your knowledge]]></description><link>http://forums.fogproject.org/category/13</link><generator>RSS for Node</generator><lastBuildDate>Thu, 16 Jul 2026 01:03:43 GMT</lastBuildDate><atom:link href="http://forums.fogproject.org/category/13.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 26 Oct 2025 10:09:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[FOG Server – Full Migration from an old HTTPS‑FOG to a new Server (Debian 12)]]></title><description><![CDATA[<h1>FOG Server – Full Migration from an old HTTPS‑FOG to a new Server (Debian 12)</h1>
<p dir="auto">This guide explains how to fully back up an older FOG server and restore it to a freshly installed server – especially for installations using HTTPS communication between server and clients.</p>
<p dir="auto"><img src="http://forums.fogproject.org/assets/plugins/nodebb-plugin-emoji/emoji/android/26a0.png?v=av3o5fakf9o" class="not-responsive emoji emoji-android emoji--warning" style="height:23px;width:auto;vertical-align:middle" title=":warning:" alt="⚠" />️ Note:</p>
<ul>
<li>Modern FOG versions only allow TLS 1.2.</li>
<li>Older Windows FOG clients may not connect anymore → update required!</li>
</ul>
<ol>
<li>Create backup from the old FOG server</li>
</ol>
<p dir="auto">In the old FOG web interface:</p>
<p dir="auto">FOG Configuration → Configuration Save → Export Database → Export<br />
➜ Save the SQL backup</p>
<p dir="auto">Backup the SSL certificates:</p>
<pre><code>sudo bash -c '
set -euo pipefail

DEST="/root/fogcerts"
mkdir -p "$DEST/CA"

echo "[1/5] Collecting files …"
# Collect mandatory files (if present)
cp -a /opt/fog/snapins/ssl/.srvprivate.key            "$DEST/"           2&gt;/dev/null || true
cp -a /opt/fog/snapins/ssl/CA/.fogCA.key              "$DEST/CA/"        2&gt;/dev/null || true
cp -a /opt/fog/snapins/ssl/CA/.fogCA.pem              "$DEST/CA/"        2&gt;/dev/null || true
cp -a /opt/fog/snapins/ssl/CA/.fogCA.srl              "$DEST/CA/"        2&gt;/dev/null || true
cp -a /var/www/fog/management/other/ssl/srvpublic.crt "$DEST/"           2&gt;/dev/null || true
cp -a /var/www/fog/management/other/ca.cert.pem       "$DEST/"           2&gt;/dev/null || true
cp -a /var/www/fog/management/other/ca.cert.der       "$DEST/"           2&gt;/dev/null || true

# Optional helpful templates/CSR (if present)
cp -a /opt/fog/snapins/ssl/ca.cnf                     "$DEST/"           2&gt;/dev/null || true
cp -a /opt/fog/snapins/ssl/req.cnf                    "$DEST/"           2&gt;/dev/null || true
cp -a /opt/fog/snapins/ssl/fog.csr                    "$DEST/"           2&gt;/dev/null || true

echo "[2/5] Hardening permissions …"
chown -R root:root "$DEST"
chmod 700 "$DEST"
[ -f "$DEST/.srvprivate.key" ] &amp;&amp; chmod 600 "$DEST/.srvprivate.key"
[ -f "$DEST/CA/.fogCA.key"   ] &amp;&amp; chmod 600 "$DEST/CA/.fogCA.key"

echo "[3/5] Listing content …"
ls -lah "$DEST" || true
ls -lah "$DEST/CA" || true

echo "[4/5] Creating checksums …"
( cd "$DEST" &amp;&amp;   find . -type f \( -name "*.key" -o -name "*.crt" -o -name "*.pem" -o -name "*.der" \) -print0   | xargs -0 sha256sum &gt; SHA256SUMS.txt )

echo "[5/5] Creating archive …"
ARCH="/root/fogcerts_$(date +%F).tar.gz"
tar -czf "$ARCH" -C /root fogcerts
chmod 600 "$ARCH"

echo
echo "Done. Archive: $ARCH"
echo "To list archive content: tar -tzf $ARCH"
echo "To verify checksums: cat /root/fogcerts/SHA256SUMS.txt"
'
</code></pre>
<p dir="auto">Save the archive (e.g. fogcerts_YYYY-MM-DD.tar.gz) using WinSCP<br />
→ Old server may now be shut down</p>
<ol start="2">
<li>Prepare new Debian-12 server</li>
</ol>
<ul>
<li>Install Debian 12 without GUI but WITH SSH server</li>
<li>Allow root login via SSH (/etc/ssh/sshd_config)</li>
<li>Configure IP &amp; reboot</li>
<li>Connect via PuTTY as root</li>
</ul>
<ol start="3">
<li>Install FOG server</li>
</ol>
<pre><code>apt update &amp;&amp; apt install git -y
cd /root
cd /root
git clone https://github.com/FOGProject/fogproject.git
cd fogproject/bin
./installfog.sh
</code></pre>
<p dir="auto">Configure FOG as usual</p>
<ol start="4">
<li>Import database from the old server</li>
</ol>
<hr />
<p dir="auto">In the new FOG web interface:</p>
<p dir="auto">• FOG Configuration → FOG Settings</p>
<ul>
<li>Save mysqlpass (under Storage Nodes)</li>
<li>Save TFTP FTP Password (under TFTP Server)</li>
</ul>
<p dir="auto">• Storage → DefaultMember → Save Management Password</p>
<p dir="auto">• Configuration Save → Import Database<br />
→ Select the SQL backup &amp; import it</p>
<p dir="auto">Afterwards: Enter the three passwords back in their original places</p>
<ol start="5">
<li>Copy certificates to the new server</li>
</ol>
<p dir="auto">Transfer the archive to /root<br />
(e.g. fogcerts_2025-10-25.tar.gz)</p>
<p dir="auto">Stop services:</p>
<pre><code>systemctl stop apache2
systemctl stop FOGImageReplicator
systemctl stop FOGScheduler
</code></pre>
<p dir="auto">Extract archive:</p>
<pre><code>cd /root
tar -xzf fogcerts_*.tar.gz
</code></pre>
<p dir="auto">Copy certificates &amp; set permissions:</p>
<pre><code># Private Keys &amp; CA
cp -a /root/fogcerts/.srvprivate.key /opt/fog/snapins/ssl/
cp -a /root/fogcerts/CA/.fogCA.key /opt/fog/snapins/ssl/CA/
cp -a /root/fogcerts/CA/.fogCA.pem /opt/fog/snapins/ssl/CA/
[ -f /root/fogcerts/CA/.fogCA.srl ] &amp;&amp; cp -a /root/fogcerts/CA/.fogCA.srl /opt/fog/snapins/ssl/CA/

# Server Public Cert &amp; CA Public
cp -a /root/fogcerts/srvpublic.crt /var/www/fog/management/other/ssl/
cp -a /root/fogcerts/ca.cert.pem /var/www/fog/management/other/
cp -a /root/fogcerts/ca.cert.der /var/www/fog/management/other/

chown -R fogproject:www-data /opt/fog/snapins/ssl
chmod 600 /opt/fog/snapins/ssl/.srvprivate.key
chmod 600 /opt/fog/snapins/ssl/CA/.fogCA.key

chown -R www-data:www-data /var/www/fog/management/other
</code></pre>
<p dir="auto">Start services:</p>
<pre><code>systemctl start apache2
systemctl start FOGImageReplicator
systemctl start FOGScheduler
</code></pre>
<ol start="6">
<li>Rebuild boot images (with certificate)</li>
</ol>
<p dir="auto">Install required software:</p>
<pre><code>apt-get update
apt-get install -y git build-essential gcc make binutils perl mtools   liblzma-dev libssl-dev zlib1g-dev pkg-config nasm libiberty-dev uuid-dev   xz-utils cpio gcc-aarch64-linux-gnu
</code></pre>
<p dir="auto">Rebuild PXE boot loaders:</p>
<pre><code>cd /root/fogproject/utils/FOGiPXE
# Select one CA certificate path:
CA=/var/www/fog/management/other/ca.cert.pem
# or:
# CA=/opt/fog/snapins/ssl/CA/.fogCA.pem

bash ./buildipxe.sh "$CA"
</code></pre>
<p dir="auto">Copy new files:</p>
<pre><code># Standard loader (without 10s delay)
cp -av /root/fogproject/packages/tftp/* /tftpboot/

# Optional 10s-delay loaders:
# cp -av /root/fogproject/packages/tftp/10secdelay/* /tftpboot/
</code></pre>
<p dir="auto">Restart TFTP service:</p>
<pre><code>systemctl restart tftpd-hpa
</code></pre>
<p dir="auto">FINISHED<br />
If all steps were successful, clients will securely reconnect using HTTPS again.</p>
]]></description><link>http://forums.fogproject.org/topic/18033/fog-server-full-migration-from-an-old-https-fog-to-a-new-server-debian-12</link><guid isPermaLink="true">http://forums.fogproject.org/topic/18033/fog-server-full-migration-from-an-old-https-fog-to-a-new-server-debian-12</guid><dc:creator><![CDATA[PCF24]]></dc:creator><pubDate>Sun, 26 Oct 2025 10:09:05 GMT</pubDate></item><item><title><![CDATA[FOG Secure Boot with Shim]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="http://forums.fogproject.org/uid/6483">@jmeyer</a> Good work. So far looks very similar to what I was doing above but with grub instead. I’m guessing you’re aiming for something along the lines of the archived project you mentioned earlier that did this. Make sure you modify your ipxe scripts to load the shim with the shim command, and then sign whatever you’re booting from ipxe and you should be more or less there.</p>
<p dir="auto">It’s worth noting if you want you should be able to skip the grub stage entirely, if you load the shim directly and name your ipxe binary what you’re grub binary currently is you should be able to net boot any shim pretty easily, from there the shim can automatically call mok manager as long as it’s in the same directory as your shim.</p>
<p dir="auto">Sorry for responding so late. I’m out on training this week.</p>
]]></description><link>http://forums.fogproject.org/topic/17949/fog-secure-boot-with-shim</link><guid isPermaLink="true">http://forums.fogproject.org/topic/17949/fog-secure-boot-with-shim</guid><dc:creator><![CDATA[KMEH]]></dc:creator><pubDate>Fri, 08 Aug 2025 09:04:14 GMT</pubDate></item><item><title><![CDATA[Inject drivers via Fog]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="http://forums.fogproject.org/uid/30416">@george1421</a> Thanks for your help.</p>
<p dir="auto">I solve the problem with this AutoUnatted.xml</p>
<p dir="auto">&lt;?xml version=“1.0” encoding=“utf-8”?&gt;<br />
&lt;unattend xmlns=“urn:schemas-microsoft-com:unattend”&gt;<br />
&lt;!-- Bypass OOBE --&gt;<br />
&lt;settings pass=“oobeSystem”&gt;<br />
&lt;component name=“Microsoft-Windows-Shell-Setup” processorArchitecture=“amd64” publicKeyToken=“31bf3856ad364e35” language=“neutral” versionScope=“nonSxS” xmlns:wcm=“<a href="http://schemas.microsoft.com/WMIConfig/2002/State" target="_blank" rel="noopener noreferrer nofollow ugc">http://schemas.microsoft.com/WMIConfig/2002/State</a>” xmlns:xsi=“<a href="http://www.w3.org/2001/XMLSchema-instance" target="_blank" rel="noopener noreferrer nofollow ugc">http://www.w3.org/2001/XMLSchema-instance</a>”&gt;<br />
&lt;OOBE&gt;<br />
&lt;HideEULAPage&gt;true&lt;/HideEULAPage&gt;<br />
&lt;HideLocalAccountScreen&gt;true&lt;/HideLocalAccountScreen&gt;<br />
&lt;HideOEMRegistrationScreen&gt;true&lt;/HideOEMRegistrationScreen&gt;<br />
&lt;HideOnlineAccountScreens&gt;true&lt;/HideOnlineAccountScreens&gt;<br />
&lt;HideWirelessSetupInOOBE&gt;true&lt;/HideWirelessSetupInOOBE&gt;<br />
&lt;ProtectYourPC&gt;3&lt;/ProtectYourPC&gt;<br />
&lt;SkipUserOOBE&gt;true&lt;/SkipUserOOBE&gt;<br />
&lt;SkipMachineOOBE&gt;true&lt;/SkipMachineOOBE&gt;<br />
&lt;UnattendEnableRetailDemo&gt;false&lt;/UnattendEnableRetailDemo&gt;<br />
&lt;NetworkLocation&gt;Other&lt;/NetworkLocation&gt;<br />
&lt;/OOBE&gt;<br />
&lt;/component&gt;<br />
&lt;component name=“Microsoft-Windows-International-Core” processorArchitecture=“amd64” publicKeyToken=“31bf3856ad364e35” language=“neutral” versionScope=“nonSxS” xmlns:wcm=“<a href="http://schemas.microsoft.com/WMIConfig/2002/State" target="_blank" rel="noopener noreferrer nofollow ugc">http://schemas.microsoft.com/WMIConfig/2002/State</a>” xmlns:xsi=“<a href="http://www.w3.org/2001/XMLSchema-instance" target="_blank" rel="noopener noreferrer nofollow ugc">http://www.w3.org/2001/XMLSchema-instance</a>”&gt;<br />
&lt;SystemLocale&gt;pt-PT&lt;/SystemLocale&gt;<br />
&lt;UILanguage&gt;pt-PT&lt;/UILanguage&gt;<br />
&lt;UserLocale&gt;pt-PT&lt;/UserLocale&gt;<br />
&lt;InputLocale&gt;0816:00000816&lt;/InputLocale&gt;<br />
&lt;/component&gt;<br />
&lt;/settings&gt;</p>
&lt;!-- Run SetupComplete.cmd via PostOOBE --&gt;
&lt;settings pass="specialize"&gt;
    &lt;component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;
        &lt;RunSynchronous&gt;
            &lt;RunSynchronousCommand wcm:action="add"&gt;
                &lt;Order&gt;1&lt;/Order&gt;
                &lt;Path&gt;reg add "HKEY_LOCAL_MACHINE\SYSTEM\Setup\FirstBoot\PostOobe" /v "00" /t REG_SZ /d "cmd /c C:\Windows\Setup\Scripts\SetupComplete.cmd &amp;amp; exit /b 0" /f&lt;/Path&gt;
            &lt;/RunSynchronousCommand&gt;
        &lt;/RunSynchronous&gt;
    &lt;/component&gt;
&lt;/settings&gt;

<p dir="auto">&lt;/unattend&gt;</p>
<p dir="auto">The AutoUnatted.xml will call the the script C:\Windows\Setup\Scripts\SetupComplete.cmd</p>
<p dir="auto">I make the sysprep with AutoUnatted.xml</p>
]]></description><link>http://forums.fogproject.org/topic/17945/inject-drivers-via-fog</link><guid isPermaLink="true">http://forums.fogproject.org/topic/17945/inject-drivers-via-fog</guid><dc:creator><![CDATA[diogo.seabra]]></dc:creator><pubDate>Wed, 06 Aug 2025 08:28:16 GMT</pubDate></item><item><title><![CDATA[Getting started video]]></title><description><![CDATA[<p dir="auto">Thanks <a class="mention plugin-mentions-user plugin-mentions-a" href="http://forums.fogproject.org/uid/30416">@george1421</a>,<br />
I haven’t setup Fog yet so was looking for a step by step guide to getting it installed and configured.</p>
]]></description><link>http://forums.fogproject.org/topic/17943/getting-started-video</link><guid isPermaLink="true">http://forums.fogproject.org/topic/17943/getting-started-video</guid><dc:creator><![CDATA[cwhitmore]]></dc:creator><pubDate>Mon, 04 Aug 2025 13:41:52 GMT</pubDate></item><item><title><![CDATA[confusion creating fos-usb stick]]></title><description><![CDATA[<p dir="auto">Re: <a href="/topic/7727/building-usb-booting-fos-image">Building USB Booting FOS Image</a></p>
<p dir="auto">Greetings,</p>
<p dir="auto">I was going to implement the script for my organizations fog server to boot macbook proz.  When scrolling down through the  code,  I noticed that there is two sections, with different menu entrys but using dd to write out to a usb stick.  How is this to be interpreted?  Do I need all of it for just the first section or the second?</p>
<p dir="auto">Thanks</p>
]]></description><link>http://forums.fogproject.org/topic/17791/confusion-creating-fos-usb-stick</link><guid isPermaLink="true">http://forums.fogproject.org/topic/17791/confusion-creating-fos-usb-stick</guid><dc:creator><![CDATA[Mr_____T]]></dc:creator><pubDate>Wed, 22 Jan 2025 17:39:29 GMT</pubDate></item><item><title><![CDATA[Windows Powershell script for DHCP config]]></title><description><![CDATA[<p dir="auto">Thought I might share this for others who are using DHCP via Windows Server OS (2016+). The following script is what I’ve been using to quickly add all the entries and whatnot to have legacy and UEFI PXE options.  Just copy/paste the code below and run it on the Windows server in question. It will ask for the DHCP server name (FQDN preferred), IP address of the scope you wish to modify and the IP address of the FOG server. May need to run it as admin and enable scripts on the OS.</p>
<pre><code>#Add-WindowsFeature -Name DHCP –IncludeManagementTools
Import-Module DhcpServer
cls
"
This script will add new vendor classes, policies and options
66/67 for Legacy &amp; UEFI PXE booting. Please double check what
you enter in the prompts or you will need to rerun the script.
This script will also update/replace entries that already
exist so you can use it to change the IP of the FOG server.
"
$Server	= Read-Host -Prompt 'Enter the FULL name of the DHCP server (FQDN)'
$Scope	= Read-Host -Prompt 'Enter the network scope IP address (DHCP server has the scope IP listed)'
$WDSvr	= Read-Host -Prompt 'Enter the IP of the FOG server'

$VendorClassUEFIx64 = @{
	Name = "PXEClient UEFI (x64)"
	Description = "PXEClient UEFI (x64)"
	Type = "Vendor"
	Data = "PXEClient:Arch:00007"
	}

$VendorClassUEFIx64_2 = @{
	Name = "PXEClient UEFI (x64)_2"
	Description = "PXEClient UEFI (x64)_2"
	Type = "Vendor"
	Data = "PXEClient:Arch:00008"
	}

$VendorClassUEFIx64_3 = @{
	Name = "PXEClient UEFI (x64)_3"
	Description = "PXEClient UEFI (x64)_3"
	Type = "Vendor"
	Data = "PXEClient:Arch:00009"
	}	

$VendorClassUEFIx86 = @{
	Name = "PXEClient UEFI (x86)"
	Description = "PXEClient UEFI (x86)"
	Type = "Vendor"
	Data = "PXEClient:Arch:00002"
	}

$VendorClassUEFIx86_2 = @{
	Name = "PXEClient UEFI (x86)_2"
	Description = "PXEClient UEFI (x86)_2"
	Type = "Vendor"
	Data = "PXEClient:Arch:00006"
	}

$VendorClassBIOS = @{
	Name = "PXEClient BIOS (x86 &amp; x64)"
	Description = "PXEClient BIOS (x86 &amp; x64)"
	Type = "Vendor"
	Data = "PXEClient:Arch:00000"
	}

Add-DhcpServerv4Class @VendorClassUEFIx64 -ComputerName $Server
Add-DhcpServerv4Class @VendorClassUEFIx64_2 -ComputerName $Server
Add-DhcpServerv4Class @VendorClassUEFIx64_3 -ComputerName $Server
Add-DhcpServerv4Class @VendorClassUEFIx86 -ComputerName $Server
Add-DhcpServerv4Class @VendorClassUEFIx86_2 -ComputerName $Server
Add-DhcpServerv4Class @VendorClassBIOS -ComputerName $Server

Add-DhcpServerv4Policy -Name "PXEClient UEFI (x64)" -ScopeId $Scope -Condition OR -VendorClass EQ,"PXEClient UEFI (x64)*"
Add-DhcpServerv4Policy -Name "PXEClient UEFI (x86)" -ScopeId $Scope -Condition OR -VendorClass EQ,"PXEClient UEFI (x86)*"
Add-DhcpServerv4Policy -Name "PXEClient BIOS" -ScopeId $Scope -Condition OR -VendorClass EQ,"PXEClient BIOS (x86 &amp; x64)*"

Set-DhcpServerv4OptionValue -OptionId 66 -Value $WDSvr -ComputerName $Server -ScopeId $Scope
Set-DhcpServerv4OptionValue -OptionId 67 -Value "undionly.kpxe" -ComputerName $Server -ScopeId $Scope
Set-DhcpServerv4OptionValue -OptionId 66 -Value $WDSvr -ComputerName $Server -ScopeId $Scope -PolicyName "PXEClient BIOS"
Set-DhcpServerv4OptionValue -OptionId 67 -Value "undionly.kpxe" -ComputerName $Server -ScopeId $Scope -PolicyName "PXEClient BIOS"
Set-DhcpServerv4OptionValue -OptionId 66 -Value $WDSvr -ComputerName $Server -ScopeId $Scope -PolicyName "PXEClient UEFI (x64)"
Set-DhcpServerv4OptionValue -OptionId 67 -Value "ipxe.efi" -ComputerName $Server -ScopeId $Scope -PolicyName "PXEClient UEFI (x64)"
Set-DhcpServerv4OptionValue -OptionId 66 -Value $WDSvr -ComputerName $Server -ScopeId $Scope -PolicyName "PXEClient UEFI (x86)"
Set-DhcpServerv4OptionValue -OptionId 67 -Value "i386-efi/ipxe.efi" -ComputerName $Server -ScopeId $Scope -PolicyName "PXEClient UEFI (x86)"
</code></pre>
]]></description><link>http://forums.fogproject.org/topic/17674/windows-powershell-script-for-dhcp-config</link><guid isPermaLink="true">http://forums.fogproject.org/topic/17674/windows-powershell-script-for-dhcp-config</guid><dc:creator><![CDATA[psyfer9983]]></dc:creator><pubDate>Sat, 21 Sep 2024 01:26:54 GMT</pubDate></item><item><title><![CDATA[Successfully booting Parted Magic]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="http://forums.fogproject.org/uid/47874">@renewedharry</a></p>
<blockquote>
<p dir="auto">I’m sure some of these parameters are not relevant as I don’t really know what I’m doing,</p>
</blockquote>
<p dir="auto">It looks like you are doing very well.</p>
<p dir="auto">I can add a little context as in the kernel parameter loads the linux kernel. The initrd commands load these image files onto a virtual hard drive created by iPXE so the kernel can locate them. The .img files would actually be mapped as hard drives to the kernel. The kernel would know how to connect to them and use them.</p>
<p dir="auto">As for the imgargs these are flags for the kernel as it boots. The different flags tell the startup scripts in the kernel how to react dynamically to the external environment. The alternative would be to build the flags into the kernel, but then you would need to recompile the kernel every time you wanted to make a change. Hint: kernel args are the way to go.</p>
<p dir="auto">I don’t see much room for improvements with this design. You are currently using http to transfer the boot files. Once the kernel starts up then iPXE is out of the picture. I’m going to suspect most of the slowness is because most of the files are the pmodules directory. iPXE should load bzImage, initrd.img, fu.img and m.img very quickly. Where most of your time is probably once bzImage starts to boot. Then you are at the mercy of what Parted Magic does.</p>
]]></description><link>http://forums.fogproject.org/topic/17498/successfully-booting-parted-magic</link><guid isPermaLink="true">http://forums.fogproject.org/topic/17498/successfully-booting-parted-magic</guid><dc:creator><![CDATA[george1421]]></dc:creator><pubDate>Wed, 12 Jun 2024 11:09:35 GMT</pubDate></item><item><title><![CDATA[Configure iVentoy as netboot-Option in boot menu]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="http://forums.fogproject.org/uid/47177">@youzersef</a> Ok, see how long it takes me to get back on a project…lol</p>
<p dir="auto">I did some more looking, and found yes, the GUI will re-write the dhcp config file.  However I did some more reading and I guess services.inc determines what is written by the GUI.</p>
<p dir="auto">Sorry, not a CLI guy, and I love the quick and easy edits, viewing issues that the GUI provides.  Like Fog !  However my servers are headless…lol</p>
<p dir="auto">Anyway, looking that route now, and will update if I find how Negate wants services edited so when it reboots, DHCP will remain.</p>
<p dir="auto">Determined 🙂</p>
<p dir="auto">Any thank you everyone here .  This place has always been great for information !</p>
]]></description><link>http://forums.fogproject.org/topic/17360/configure-iventoy-as-netboot-option-in-boot-menu</link><guid isPermaLink="true">http://forums.fogproject.org/topic/17360/configure-iventoy-as-netboot-option-in-boot-menu</guid><dc:creator><![CDATA[Cire3]]></dc:creator><pubDate>Thu, 25 Apr 2024 17:36:46 GMT</pubDate></item><item><title><![CDATA[Basics for WinPE PXE boot using fog]]></title><description><![CDATA[<p dir="auto">Hi,<br />
I know this is a bit old, but I found it when I was searching for an answer to the following question:</p>
<p dir="auto">I have prepared USB bootable image based in WinPE. I use it to boot from USB. I have this image in iso file and I use it to place it on USB with rufus software.</p>
<p dir="auto">I wonder if I can use this tutorial of yours in exactly same way only to use my custom iso image instead of your mentioned WinPE.</p>
<p dir="auto">I know this may be trivial question and I may just try it, but I am really only beginner in WinPE and fog project.</p>
<p dir="auto">Thank you for your kind answer.<br />
-r-</p>
]]></description><link>http://forums.fogproject.org/topic/17325/basics-for-winpe-pxe-boot-using-fog</link><guid isPermaLink="true">http://forums.fogproject.org/topic/17325/basics-for-winpe-pxe-boot-using-fog</guid><dc:creator><![CDATA[richo]]></dc:creator><pubDate>Wed, 03 Apr 2024 12:31:21 GMT</pubDate></item><item><title><![CDATA[Clone over network]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="http://forums.fogproject.org/uid/7217">@Tom-Elliott</a> Tanks a lot, i gonna check the documentation about PXE boot.<br />
Have a nice day.</p>
]]></description><link>http://forums.fogproject.org/topic/17217/clone-over-network</link><guid isPermaLink="true">http://forums.fogproject.org/topic/17217/clone-over-network</guid><dc:creator><![CDATA[rccc]]></dc:creator><pubDate>Wed, 24 Jan 2024 13:59:09 GMT</pubDate></item><item><title><![CDATA[LDAP Authentication]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="http://forums.fogproject.org/uid/7217">@Tom-Elliott</a> I will try thanks.</p>
]]></description><link>http://forums.fogproject.org/topic/17215/ldap-authentication</link><guid isPermaLink="true">http://forums.fogproject.org/topic/17215/ldap-authentication</guid><dc:creator><![CDATA[nas_kai1]]></dc:creator><pubDate>Tue, 23 Jan 2024 13:32:09 GMT</pubDate></item><item><title><![CDATA[FOG server Withou dhcp services]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="http://forums.fogproject.org/uid/30416">@george1421</a></p>
<p dir="auto">Yes, I changed it, exactly as you just mentioned, and it still didn’t work, it worked fine when I added those two lines of code I mentioned earlier.</p>
<p dir="auto">Anyway, thank you very much for your help and attention.</p>
]]></description><link>http://forums.fogproject.org/topic/17074/fog-server-withou-dhcp-services</link><guid isPermaLink="true">http://forums.fogproject.org/topic/17074/fog-server-withou-dhcp-services</guid><dc:creator><![CDATA[errbravosix]]></dc:creator><pubDate>Mon, 16 Oct 2023 21:04:48 GMT</pubDate></item><item><title><![CDATA[Checking file after moving them (CRC with cksum and File-Hast)]]></title><description><![CDATA[<p dir="auto">Hello,</p>
<p dir="auto">For the first time, I had “zstd /<em>stdin</em> unsupported format” during deploy after moving an image between FOG servers and crossing two Windows computers.</p>
<p dir="auto">I end checking CRC with the commands directly inside image directory :</p>
<ul>
<li>On Linux with :</li>
</ul>
<pre><code>cksum *
</code></pre>
<p dir="auto">Result :</p>
<pre><code>4102865288 6 d1.fixed_size_partitions
1553301511 1048576 d1.mbr
21074109 873 d1.minimum.partitions
3930731312 20 d1.original.fstypes
4294967295 0 d1.original.swapuuids
3323012245 11304005 d1p1.img
4080882029 767 d1p2.img
4038447468 7834146234 d1p3.img
1735290603 153344 d1p4.img
1356735187 873 d1.partitions
2087979657 873 d1.shrunken.partitions
</code></pre>
<ul>
<li>On Windows Powershell with :</li>
</ul>
<pre><code>Get-ChildItem * | Select-Object -Property Name,@{name="Hash";expression={(Get-FileHash $_.FullName).hash}}
</code></pre>
<p dir="auto">Result :</p>
<pre><code>d1.fixed_size_partitions 8F2326E98FF66634578EC07879B45A6ADA0B681444819A581F5F3BFCA5FA6029
d1.mbr                   5113DDB273F26E0D6F88367B5330BEF6E2A7FD399984EDB3519268DDE7B4FFCE
d1.minimum.partitions    8A04A480F69C6A6084DDF9EB43F37E913C14C5EF57AF58CBB7406CD2CB832CAC
d1.original.fstypes      A061EFCFAA6B32FBD533450D14E71E2C1EC422AC67A8F8296B773A46407F5914
d1.original.swapuuids    E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855
d1.partitions            3F23AA64C5AFDCE83CCB59AACF2F03EDAD3EA6429B22010339C43B29DE406D2C
d1.shrunken.partitions   59D5B234D923B3B73EA0CB808853397B8D19644C9E135BFDD8C538633ECE4106
d1p1.img                 6B3A9D5B0C26BE448A24339F7DE1067A4C0F3615D9BE42B86BEB355BA6F9BCE6
d1p2.img                 511CBE019A39980DF90F7D9A547BAE4521551EEF53625705538713AB14311DD0
d1p3.img                 5F2223BB3D63C9400C77C10A5ADF5AE2DCA48D8C768AC2097F20E3731E843FC9
d1p4.img                 A8D21F3E22C596EA01B8F7BAC981C9FB265938D0A1A3F2C3599ADF170A75CE9E
</code></pre>
<p dir="auto">This way I can check between my 2 computer under Windows before checking between my two FOG servers.</p>
]]></description><link>http://forums.fogproject.org/topic/17064/checking-file-after-moving-them-crc-with-cksum-and-file-hast</link><guid isPermaLink="true">http://forums.fogproject.org/topic/17064/checking-file-after-moving-them-crc-with-cksum-and-file-hast</guid><dc:creator><![CDATA[jmeyer]]></dc:creator><pubDate>Tue, 10 Oct 2023 08:13:28 GMT</pubDate></item><item><title><![CDATA[How to configure pfSense for netbooting]]></title><description><![CDATA[<p dir="auto">If you use a pfSense router as your primary dhcp server you can configure it to provide dynamic PXE booting information to your target computers that you wish to image.</p>
<p dir="auto">To configure PXE (Network) Booting with pfSense please do the following.</p>
<ol>
<li>Edit your DHCP Server configuration for the subnet where you require pxe booting.</li>
<li>At the top of the DHCP Server conifugration page for the network interface (LAN in this example). Make sure that you have the <strong>DHCP server</strong> enabled and  Ignore <strong>Bootp queries</strong> disabled.<br />
<img src="/assets/uploads/files/1694787336959-ignore_bootp.png" alt="ignore_bootp.png" class=" img-fluid img-markdown" /></li>
<li>Scroll down the page until you see the <strong>Network Booting</strong> section and press the <strong>Display Advanced</strong> button.<br />
<img src="/assets/uploads/files/1694787440830-do_netbooting.png" alt="do_netbooting.png" class=" img-fluid img-markdown" /></li>
<li>Tick the checkbox for <strong>Enable network booting</strong> and then enter the <code>IP address</code> of the FOG server (netboot server) in the <strong>Next Server</strong> field.</li>
<li>Complete the form as below<br />
<img src="/assets/uploads/files/1694787560593-boot_settings.png" alt="boot_settings.png" class=" img-fluid img-markdown" /></li>
<li>Make sure you don’t have any value populated for the <strong>TFTP server</strong> field<br />
<img src="/assets/uploads/files/1694787616301-no_tftp.png" alt="no_tftp.png" class=" img-fluid img-markdown" /></li>
<li>As well as under the <strong>Additional Bootp/DHCP options</strong> section. Make sure you are not populating dhcp options 60, 66, or 67.<br />
<img src="/assets/uploads/files/1694787672469-no_advanced_dhcp.png" alt="no_advanced_dhcp.png" class=" img-fluid img-markdown" /></li>
<li>Save the configuration and then restart the dhcp server.<br />
9, Be aware that you might need to enable some additional firewall rules if you have the LAN inteface locked down. Net/PXE booting requires access to the TFTP server on udp port 69 on the FOG server.</li>
</ol>
<p dir="auto">Note: If you are running pfSense as a VM, you may need to configure promiscuous mode on the network interface for your hypervisor. You would only need this option if your external target computer’s can’t pick up an IP address from pfSense. This promiscuous mode is a requirement of dhcp and not network booting.</p>
]]></description><link>http://forums.fogproject.org/topic/17021/how-to-configure-pfsense-for-netbooting</link><guid isPermaLink="true">http://forums.fogproject.org/topic/17021/how-to-configure-pfsense-for-netbooting</guid><dc:creator><![CDATA[george1421]]></dc:creator><pubDate>Fri, 15 Sep 2023 14:23:19 GMT</pubDate></item><item><title><![CDATA[Using FOG to boot Sergei Strelec over Network]]></title><description><![CDATA[<p dir="auto">hi<br />
do you have any idea to deploy sergei strelec over FOG?<br />
tnx</p>
]]></description><link>http://forums.fogproject.org/topic/16918/using-fog-to-boot-sergei-strelec-over-network</link><guid isPermaLink="true">http://forums.fogproject.org/topic/16918/using-fog-to-boot-sergei-strelec-over-network</guid><dc:creator><![CDATA[smtadmin67]]></dc:creator><pubDate>Wed, 05 Jul 2023 11:39:28 GMT</pubDate></item><item><title><![CDATA[Bootres-dll Error]]></title><description><![CDATA[<p dir="auto">Hey guys,<br />
It’s been about a week since i am having an issue regarding <a href="https://pcpatchedup.com/bootres-dll" target="_blank" rel="noopener noreferrer nofollow ugc">bootres-dll error</a> missing, It’s causing an app i frequently use crash, can someone tell how to fix this problem.<br />
Thank you,<br />
(Emily Lee)</p>
]]></description><link>http://forums.fogproject.org/topic/16893/bootres-dll-error</link><guid isPermaLink="true">http://forums.fogproject.org/topic/16893/bootres-dll-error</guid><dc:creator><![CDATA[Emily7422]]></dc:creator><pubDate>Sat, 17 Jun 2023 10:56:33 GMT</pubDate></item><item><title><![CDATA[WinGet installation as a snapin]]></title><description><![CDATA[<p dir="auto">Copy and pasted for the Chocolatey wrapper ChocolatePy<br />
Pretty much same same. Just Chocolatey won’t neccessarily give an error on the exit code on failure if a program is already installed.</p>
<p dir="auto"><a href="https://github.com/mediocreatmybest/FOG-O-Matic/blob/main/FOG-Snapins/ChocolatePy.py" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/mediocreatmybest/FOG-O-Matic/blob/main/FOG-Snapins/ChocolatePy.py</a></p>
]]></description><link>http://forums.fogproject.org/topic/16857/winget-installation-as-a-snapin</link><guid isPermaLink="true">http://forums.fogproject.org/topic/16857/winget-installation-as-a-snapin</guid><dc:creator><![CDATA[RipAU]]></dc:creator><pubDate>Mon, 29 May 2023 02:06:01 GMT</pubDate></item><item><title><![CDATA[Modifiying the Init Image - Help adding GPU info to Other data field.]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="http://forums.fogproject.org/uid/47288">@mmw_canada</a>  lspci and lsusb is already built into the FOS Linux image. You should only need to patch fog.auto.reg if you need extra stuff. There is no need to unpack and repack init.xz unless you really want you. I have a tutorial on dynamically patching the init.xz file here: <a href="https://forums.fogproject.org/topic/14278/creating-custom-hostname-default-for-fog-man-reg" target="_blank" rel="noopener noreferrer nofollow ugc">https://forums.fogproject.org/topic/14278/creating-custom-hostname-default-for-fog-man-reg</a></p>
]]></description><link>http://forums.fogproject.org/topic/16848/modifiying-the-init-image-help-adding-gpu-info-to-other-data-field</link><guid isPermaLink="true">http://forums.fogproject.org/topic/16848/modifiying-the-init-image-help-adding-gpu-info-to-other-data-field</guid><dc:creator><![CDATA[george1421]]></dc:creator><pubDate>Mon, 22 May 2023 21:52:05 GMT</pubDate></item><item><title><![CDATA[Double-checking the &quot;Synology NAS as FOG Storage node&quot; tutorial details]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="http://forums.fogproject.org/uid/47270">@gafferwiles</a> When you use a NAS as a storage node there are a few things that happens.</p>
<p dir="auto">FOS Linux (the OS that runs on the target computer) loads the image from the target computer onto the storage node (FOG or NAS) using NFS. The files are uploaded using NFS to /images/dev directory which is read write access. Now the  user ID and password comes into play. The management user ID and password is used because the FOS Linux OS connects to the storage node using FTP to move the raw data files from /images/dev/&lt;mac_address&gt; to /images&lt;image_name&gt; directory. So you need to make sure the management user ID and password has rights on the NAS to login via FTP and can execute the mv command to move the files.</p>
]]></description><link>http://forums.fogproject.org/topic/16840/double-checking-the-synology-nas-as-fog-storage-node-tutorial-details</link><guid isPermaLink="true">http://forums.fogproject.org/topic/16840/double-checking-the-synology-nas-as-fog-storage-node-tutorial-details</guid><dc:creator><![CDATA[george1421]]></dc:creator><pubDate>Mon, 15 May 2023 13:12:38 GMT</pubDate></item><item><title><![CDATA[Storage with NFS share on NetGear ReadyNAS]]></title><description><![CDATA[<p dir="auto">Add NAS on the same network of the FOG server.<br />
In my case, FOG server has IP 192.168.0.50 and NAS has 192.168.0.55.</p>
<p dir="auto">On the ReadyNAS web interface</p>
<ul>
<li>
<p dir="auto">Add a share and select NFS protocol.<br />
<img src="/assets/uploads/files/1680698558092-9f2e0b61-e22f-4109-b8b8-9f9341ae1c65-image.png" alt="9f2e0b61-e22f-4109-b8b8-9f9341ae1c65-image.png" class=" img-fluid img-markdown" /></p>
</li>
<li>
<p dir="auto">Click on the<br />
<img src="/assets/uploads/files/1680698659979-bc4c565a-f944-40b0-a2ed-adf455de886b-image.png" alt="bc4c565a-f944-40b0-a2ed-adf455de886b-image.png" class=" img-fluid img-markdown" /><br />
of the share to add allowed computer.</p>
</li>
<li>
<p dir="auto">Enter the IP of the FOG server and clic Add<br />
<img src="/assets/uploads/files/1680698726656-3992f960-1a47-4963-8df0-ca1fb7c51456-image.png" alt="3992f960-1a47-4963-8df0-ca1fb7c51456-image.png" class=" img-fluid img-markdown" /></p>
</li>
<li>
<p dir="auto">On the FOG server, create a new image directory and mount your NAS share<br />
<img src="/assets/uploads/files/1680698915718-a86bbebd-6947-4418-80f7-1dc9f691b67d-image.png" alt="a86bbebd-6947-4418-80f7-1dc9f691b67d-image.png" class=" img-fluid img-markdown" /></p>
</li>
<li>
<p dir="auto">Test write from FOG server<br />
<img src="/assets/uploads/files/1680699003635-6e5ea8db-1147-420e-86ee-0e815dbf727c-image.png" alt="6e5ea8db-1147-420e-86ee-0e815dbf727c-image.png" class=" img-fluid img-markdown" /></p>
</li>
</ul>
<p dir="auto">You should see the new directory on the ReadyNAS web interface<br />
<img src="/assets/uploads/files/1680699041199-12f39e1f-3d0c-4d7c-bc28-c885d76bfd4b-image.png" alt="12f39e1f-3d0c-4d7c-bc28-c885d76bfd4b-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">To mount it add FOG server boot, edit the /etc/fstab file and add this line</p>
<pre><code>192.168.0.55:/data/images /images2  nfs      defaults    0       0
</code></pre>
<p dir="auto"><img src="/assets/uploads/files/1680699747804-e7b3be57-677b-4bd9-afc5-de3b179adc5b-image.png" alt="e7b3be57-677b-4bd9-afc5-de3b179adc5b-image.png" class=" img-fluid img-markdown" /></p>
<ul>
<li>
<p dir="auto">Reboot and check auto mount working (create a file or a directory as previous test from manual mount)</p>
</li>
<li>
<p dir="auto">Change owner of the /images2 directory with command</p>
</li>
</ul>
<pre><code>chown fogproject:root /images2
</code></pre>
<ul>
<li>
<p dir="auto">Edit or add your storage on FOG GUI to use it.<br />
<img src="/assets/uploads/files/1680703424132-a67d4de1-e25f-4cea-adb6-7e547a0c196c-capture-web_5-4-2023_17415_fogserver.jpeg" alt="a67d4de1-e25f-4cea-adb6-7e547a0c196c-Capture web_5-4-2023_17415_fogserver.jpeg" class=" img-fluid img-markdown" /></p>
</li>
<li>
<p dir="auto">If you added a new storage node in the same storage group, you should see your images, dev and postdownloadscripts directories on NAS share after replication.<br />
<img src="/assets/uploads/files/1680703257237-dbf6da1b-2392-4670-b1f2-fe50622ccd11-image.png" alt="dbf6da1b-2392-4670-b1f2-fe50622ccd11-image.png" class=" img-fluid img-markdown" /></p>
</li>
</ul>
]]></description><link>http://forums.fogproject.org/topic/16790/storage-with-nfs-share-on-netgear-readynas</link><guid isPermaLink="true">http://forums.fogproject.org/topic/16790/storage-with-nfs-share-on-netgear-readynas</guid><dc:creator><![CDATA[jmeyer]]></dc:creator><pubDate>Wed, 05 Apr 2023 13:04:28 GMT</pubDate></item><item><title><![CDATA[Powershell and fog]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="http://forums.fogproject.org/uid/1188">@jamaal</a> said in <a href="/post/150994">Powershell and fog</a>:</p>
<blockquote>
<p dir="auto">. I’m not sure on how to check the apache error logs.</p>
</blockquote>
<p dir="auto">You need console access (e.g. SSH) to your FOG server. See my signature on where to find the logs files.</p>
]]></description><link>http://forums.fogproject.org/topic/16648/powershell-and-fog</link><guid isPermaLink="true">http://forums.fogproject.org/topic/16648/powershell-and-fog</guid><dc:creator><![CDATA[Sebastian Roth]]></dc:creator><pubDate>Fri, 30 Dec 2022 10:48:12 GMT</pubDate></item><item><title><![CDATA[Image Manager Definition]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="http://forums.fogproject.org/uid/28061">@sebastian-roth</a> thx for ur info</p>
]]></description><link>http://forums.fogproject.org/topic/16566/image-manager-definition</link><guid isPermaLink="true">http://forums.fogproject.org/topic/16566/image-manager-definition</guid><dc:creator><![CDATA[zfeng]]></dc:creator><pubDate>Tue, 01 Nov 2022 14:12:42 GMT</pubDate></item><item><title><![CDATA[WAPT snapins]]></title><description><![CDATA[<p dir="auto">I use WAPT to deploy softwares but i don’t understand your use case.<br />
Why not just deploy WAPT agent and use command like “wapt-get install tis-yourPackage” ?</p>
]]></description><link>http://forums.fogproject.org/topic/16553/wapt-snapins</link><guid isPermaLink="true">http://forums.fogproject.org/topic/16553/wapt-snapins</guid><dc:creator><![CDATA[Florent]]></dc:creator><pubDate>Wed, 19 Oct 2022 09:32:52 GMT</pubDate></item><item><title><![CDATA[Install a new server FOG and use the old disk images from a old fog server]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="http://forums.fogproject.org/uid/43144">@fog_newb</a> Thanks a lot,</p>
]]></description><link>http://forums.fogproject.org/topic/16537/install-a-new-server-fog-and-use-the-old-disk-images-from-a-old-fog-server</link><guid isPermaLink="true">http://forums.fogproject.org/topic/16537/install-a-new-server-fog-and-use-the-old-disk-images-from-a-old-fog-server</guid><dc:creator><![CDATA[DARUN974]]></dc:creator><pubDate>Fri, 07 Oct 2022 06:40:25 GMT</pubDate></item><item><title><![CDATA[Spec pc deploy]]></title><description><![CDATA[<p dir="auto">hi is it possible to view as the first page of the fog after pxe and the specifications of the pc in question before injecting the image?<br />
then logically once we have seen the specifications we return to the menu and inject the image.<br />
thank you</p>
]]></description><link>http://forums.fogproject.org/topic/16458/spec-pc-deploy</link><guid isPermaLink="true">http://forums.fogproject.org/topic/16458/spec-pc-deploy</guid><dc:creator><![CDATA[alexamore90]]></dc:creator><pubDate>Fri, 19 Aug 2022 06:32:56 GMT</pubDate></item></channel></rss>