• New Intel's NUC stuck in init BzImage and

    Unsolved
    1
    0 Votes
    1 Posts
    267 Views
    No one has replied
  • DELL OptiPlex 7000 can't disable UEFI. Help for FOG neophyte?

    4
    0 Votes
    4 Posts
    1k Views
    george1421G

    @tcso Surely run this by your network admins but if you use my configuration there is low risk to your network infrastructure. https://forums.fogproject.org/topic/12796/installing-dnsmasq-on-your-fog-server?_=1690230679683

    dnsmasq is a swiss army knife of services and if misconfigured will cause problems in your network. But using it in a proxydhcp configuration it will only provide pxe boot information only for your network. When the fog server is powered off then no pxe boot information, which you can’t pxe boot without fog anyway. So no harm no foul here. FWIW, proxydhcp is what windows wds uses to configure the target computers for pxe booting. A ProxyDHCP announcement will override anything configured in dhcp options 66 and 67.

  • HP Z8 iPXE Hangs after starting (after BIOS update)

    5
    0 Votes
    5 Posts
    887 Views
    E

    @engineerfranko

    We can close this off for now, having spoken to HP they are now aware of ipxe not working. However on our end we changed to load snponly.efi and this allows it to boot using the newer BIOS.

  • Host Hardware Inventory - Hard Disk Model - M.2 Nvme not identify

    38
    0 Votes
    38 Posts
    10k Views
    T

    @AlexPDX since also the computer names are known it should be possible to add it to the database.
    But it would not make much sense because when running a Hardware Inventory task or deploying a client (where also a Hardware Inventory task is run automatically) I think the data would be removed from the database.

    To have the data in the fog database permanently I guess we have to wait untill FOS is able to get this data by itself and add it to the database.
    For now to get the SSD model data without accessing each computer physically and have it in one place is enough for us to check for possible firmware updates, run the firmware updates and re-check if the updates were applied correctly.

  • Dell Latitude 3540

    12
    0 Votes
    12 Posts
    2k Views
    Z

    @Sebastian-Roth said in Dell Latitude 3540:

    @Zourous said in Dell Latitude 3540:

    I’m on 1.5.5

    Well then you might want to upgrade to 1.5.10 or manually download newer iPXE binaries here: https://github.com/FOGProject/fogproject/tree/master/packages/tftp

    I tried to updater to 1.5.10 but ran into new issues so decided to try a newer IPXE binaries as you stated.

    This I’m glad to say this worked, so thank you Sebastian.

  • Dell Latitude 3500

    7
    0 Votes
    7 Posts
    2k Views
    george1421G

    @koenr said in Dell Latitude 3500:

    class “LATITIDE-3340” {
    match if substring(option vendor-class-identifier, 0, 32) = “PXEClient:Arch:00007:UNDI:003016”;
    filename “realtek.efi”;
    }

    This will cause other systems to fail. There is nothing unique about “PXEClient:Arch:00007:UNDI:003016” multiple hardware will match.

    Also order that the item appears in the list is important. The first match wins rule. For Dells the UUID field of the ethernet header should be unique within a model. If you use wireshark you can pick up the uuid of the pxe booting computer in dhcp option 97. You can tell if you have the right value because the first 4 characters spell DELL in reverse in ascii.

    The other option if you only have a few of these devices is to use mac address matching to target specific computers with specific boot loaders.

  • Can't boot on PXE with a specific computer

    7
    0 Votes
    7 Posts
    3k Views
    george1421G

    @Kusa555 To add on to what Tom said just remember this,

    ipxe.{efi or kpxe} contains all of the common network drivers much like linux or windows OS’ contains all of the common network drivers already built in.

    The undionly.kpxe only contains 1 network driver for the undi network protocol that is built into each bios network adapter’s firmware.
    The snp.efi and snponly.efi only contain 1 network driver for the snp network protocol built into each uefi network adapter’s firmware.

    Boot loaders that end in .pxe, .kpxe, .kkpxe are bios boot loaders
    Boot loaders that end in .efi are uefi boot loaders

    So what should you use?

    For bios, undionly.kpxe
    For older uefi system (older than 4 years) use ipxe.efi.
    For current uefi systems you may have better utility from snp.efi

  • FOG can't deploy image to HP EliteBook

    Solved
    8
    0 Votes
    8 Posts
    2k Views
    george1421G

    @Florent for the 64 bit versions of uefi, you would replace ipxe.efi with snp.efi or snponly.efi in the config file and then restart the dns server.

    The difference between snp.efi and snponly.efi is that the snponly.efi will only init the network interface where the snponly.efi was downloaded from, where the snp.efi will init (and try to boot from) all interfaces in the target computer.

  • Problema com placa de rede Chip LAN PHY RTL 8111G (Gbe)

    1
    0 Votes
    1 Posts
    209 Views
    No one has replied
  • >FOG vs UEFI

    7
    0 Votes
    7 Posts
    1k Views
    JJ FullmerJ

    @Sebastian-Roth said in >FOG vs UEFI:

    @jeremyvdv Maybe this is going to help you: https://wiki.fogproject.org/wiki/index.php/Windows_DHCP_Server

    This is also on the new docs page https://docs.fogproject.org/en/latest/installation/network-setup/dhcp-server-settings/

    @george1421 said in >FOG vs UEFI:

    @jeremyvdv If you have a windows dhcp server AND you need to pxe boot both bios and uefi based computers you might want to review this wiki page to setup dhcp profiles so your dhcp server sends the proper boot file name based on the target computer: https://wiki.fogproject.org/wiki/index.php/BIOS_and_UEFI_Co-Existence#Using_Windows_Server_2012_.28R1_and_later.29_DHCP_Policy

    This is also on the new docs page

    https://docs.fogproject.org/en/latest/kb/how-tos/bios-and-uefi-co-existence/

  • HP EliteBook 840 G9 - Cannot deploy image

    Solved
    20
    0 Votes
    20 Posts
    4k Views
    A

    As for the Windows computers that need an external ethernet adaptor, I took a powershell script the FOG team made and added some lines to lookup the HP computer by serial and update the primary MAC to the HP MAC instead of the adaptor to avoid the “computer already exists” problems. When this is working, I leave the computer on the same adaptor until it’s all imaged and joined to my AD domain before moving the adaptor to another computer to start another image, at which point the script should have fixed the MAC address in the FOG database.

    I believe you have to install the FOG powershell API in the base image, and then have this powershell script run after sysprep. I use the Setupcomplete.cmd method by putting a cmd file in %WINDIR%\Setup\Scripts. On an HP, I make sure and have the MAC Address Manager app installed and the service is running before the API script runs.

    NOTE I have not used this method since FOG 1.5.6. I’m trying to get my servers updated with 1.5.10.

    Setupcomplete.cmd:

    Start "Starting HP Services" /wait /separate /realtime CMD /C c:\windows\system32\sysprep\services.cmd Start "Updating MAC Address" /wait /separate /realtime CMD /C powershell -executionpolicy bypass -file c:\windows\system32\sysprep\macupdate.ps1 exit

    services.cmd

    for /F "tokens=3 delims=: " %%H in ('sc query "HPMAMSrv" ^| findstr " STATE"') do ( if /I "%%H" NEQ "RUNNING" ( net start "HPMAMSrv" timeout /nobreak 3 ) )

    macupdate.ps1

    <# This script updates the primary MAC address in the FOG database POST sysprep. This is for computers that use the Host-Based-MAC-Address feature to overwrite the MAC address of an attached ethernet dongle (ie the HP x360 which does not have an integrated NIC.) Invoke-FogApi written by the FOG development team. Updated 9-26-2017. #> function Invoke-FogApi { <# .SYNOPSIS a cmdlet function for making fogAPI calls via powershell .DESCRIPTION takes a few parameters with a default that will get all hosts Makes a call to the api of a fog server and returns the results of the call The returned value is an object that can then be easily filtered, processed, and otherwise manipulated in poweshell. i.e. you could take the return value of the default all hosts and run $(invoke-fogapi).hosts | where name -match "$(hostname)" to get the host information for the current computer .PARAMETER fogApiToken a string of your fogApiToken gotten from the fog web ui. Can be set in the function as a default or passed to the function .PARAMETER fogUserToken a string of your fog user token gotten from the fog web ui in the user section. Can be set in the function as a default or passed to the function .PARAMETER fogServer The hostname or ip address of your fogserver, defaults to the default fog-server .PARAMETER uriPath Put in the path of the apicall that would follow http://fog-server/fog/ i.e. 'host/1234' would access the host with an id of 1234 .PARAMETER Method Defaults to 'Get' can also be .PARAMETER jsonData The jsondata string for including data in the body of a request .EXAMPLE #if you had the api tokens set as default values and wanted to get all hosts and info you could run this, assuming your fogserver is accessible on http://fog-server Invoke-FogApi; .Example #if your fogserver was named rawr and you wanted to put rename host 123 to meow Invoke-FogApi -fogServer "rawr" -uriPath "host/123" -Method "Put" -jsonData "{ `"name`": meow }"; .Link https://news.fogproject.org/simplified-api-documentation/ .NOTES The online version of this help takes you to the fog project api help page #> [CmdletBinding()] param ( #took out my api tokens, you can default apitoken strings here or pass them to the function [string]$fogApiToken = 'token...', [string]$fogUserToken = 'token...', [string]$fogServer = "x.x.x.x", [string]$uriPath = "host", #default to get all hosts [string]$Method = "Get", [string]$jsonData #default to empty ) begin { # Create headers Write-Verbose "Building Headers..."; $headers = @{}; $headers.Add('fog-api-token', $fogApiToken); $headers.Add('fog-user-token', $fogUserToken); # Set the baseUri Write-Verbose "Building api call URI..."; $baseUri = "http://$fogServer/fog"; $uri = "$baseUri/$uriPath"; } process { Write-Verbose "$Method`ing $jsonData to/from $uri"; if ($Method -eq "Get") { #don't include body with get $result = Invoke-RestMethod -Uri $uri -Method $Method -Headers $headers -ContentType "application/json"; } else { $result = Invoke-RestMethod -Uri $uri -Method $Method -Headers $headers -Body $jsonData -ContentType "application/json"; } } end { Write-Verbose "finished api call"; return $result; } } # Get MAC addresses of local ethernet adapters, should return only the live (plugged into switch and lit) ethernet MAC. # Will fail if no live adapters found or more than one found. Should ignore WiFi. $colItems = get-netadapter | where {$_.name -like "ethernet*" -and $_.status -match "up"} | select -expandproperty macaddress $c = 0; foreach ($objItem in $colItems) { $c++; $hostMAC = $objItem; } if ($c -ne 1) {exit;} # Remove dashes from get-netadapter for simple match later. Replace the dashes in the MAC with colons, and make lower case for FOG format. $hostMACsimple = $hostMAC -replace '-',''; $hostMAC = $hostMAC.ToLower() -replace '-',':'; # Grab the computer serial number from the BIOS, really only works on brand name computers. $theserial = gwmi win32_bios | select -expandproperty serialnumber if ($theserial -eq $null) {exit;} # Find the database host id number on the FOG server. $hostId = ((Invoke-FogApi -uriPath "inventory").inventorys | Where-Object sysserial -match "$theserial").hostID; if ($hostId -eq $null) {exit;} # With the host id get the primary mac association that matches that host id. $primacitem = (Invoke-FogApi -uriPath "macaddressassociation").macaddressassociations | Where-Object {$_.hostID -match "$hostId" -and $_.primary -eq 1}; $primac = ((Invoke-FogApi -uriPath "macaddressassociation").macaddressassociations | Where-Object {$_.hostID -match "$hostId" -and $_.primary -eq 1}).mac; if ($primac -eq $null) {exit;} $primac = $primac -replace ':',''; # If the MACs are different, update the fog database if ($hostMACsimple -match $primac) {exit;} else { $primacitem.mac = $hostMAC; Invoke-FogApi -jsonData ($primacitem | ConvertTo-Json) -Method "Put" -uriPath "macaddressassociation/$($primacitem.id)/edit"; }
  • Lenovo ThinkPad P15

    9
    0 Votes
    9 Posts
    1k Views
    F

    @Sebastian-Roth
    Thank you

  • Problem With Network Card Realtek RTL8168/8111

    5
    0 Votes
    5 Posts
    1k Views
    george1421G

    @fagner-patricio How is this network card attached to the computer? Is it built in or via some kind of usb adapter?

    The lspci -nn command lists all of the pci attached hardware. Since nothing was returned I’m suspecting the network adapter is not being detected by the kernel or for some reason the network card doesn’t have net in the name.

    I’m also suspicious since the searching messages for “firm” did not turn up any kernel messages saying the network adapter needed special “firmware drivers” loaded to configure the network adapter.

    The above commands usually gives us a clue to what is wrong 99.9% of the time. So now I have to ask how is this network adapter attached, is it built in or via the usb interface?

  • UEFI vs fog

    2
    0 Votes
    2 Posts
    456 Views
    JJ FullmerJ

    @jeremyvdv The vendor classes bit in dhcp is only required when you need some hosts to boot with bios and others to boot with uefi. If everything uses uefi then you can just set option 66/67 on the server or scope options. Server options will apply to all dhcp scopes in one spot, but you can also apply it more modularing in dhcp scope options.

    I would suggest trying ipxe.efi instead of snponly.efi and see if that makes a difference.

  • Deploying disk to disk

    3
    0 Votes
    3 Posts
    662 Views
    S

    Hello, guys!

    Today i captured my pc. My resuilts of speed: 240gb SSD WD GREEN was done for 5-10 minutes with speed ~12-13gb/min. For me it’s good resuilt, with acronis i’m clonning ~10-15 minutes.

    But 2TB hdd tottaly made me wait… Used space of the disk like ~50% and writing image was 8 hours. Аverage speed 2.5gb/min. Who can say, it’s normal or i cant check for some hardware/software?

    For my server specs: i3-9100f, 16gb ram, 240ssd for main sysstem + 2tb for store images. Main OS is win10, fog deployed in wm virtualbox + 2nd virtual disk was stored on 2tb hdd (likes container in container).

    9f0f6019-9704-4459-839f-51670e95dc56-image.png

  • deploy the OS to the HP server problem

    2
    0 Votes
    2 Posts
    262 Views
    S

    @mlcloud Have you made sure the filesystem is clean and in proper state before capturing? I have to admit that I would expect for partclone to bail out on capturing an unclean filesystem but you never know.

  • 0 Votes
    7 Posts
    1k Views
    S

    @DARUN974 said in FUJITSU ESPRIMO G6012 : no network interfaces found , your kernel is most proba:

    Downloaded bzImage files from https://fogproject.org/kernels/ then copy to /var/www/fog/servçice/ipxe/

    This used to be the kernel download URL but we switched over to Github more than a year ago: https://github.com/FOGProject/fos/releases

    While the old one still exists it is not updated anymore. See the readme.

  • Laptops without ethernet port

    7
    0 Votes
    7 Posts
    2k Views
    S

    @polar-bear said in Laptops without ethernet port:

    I’ve taken simple approach of using USB NIC (Realtek 8152) with ipxe added to flash drive as EFI boot module.

    That’s another solution to go. Though you are left with the issue of MAC addresses I suppose.

  • aQuantia AQtion PXE Compatability?

    13
    0 Votes
    13 Posts
    2k Views
    S

    @madnm You are welcome.

  • Asus B660 M-C

    7
    0 Votes
    7 Posts
    1k Views
    george1421G

    @sonic136 All I can say is that we’ve seen early versions of uefi bios have poor snp uefi drivers. But if this mobo was created in the last 5-6 years it shouldn’t have an issue with snp because uefi firmware has matured quite a bit. Strange, but we’ve seen it happen on certain models.

135

Online

12.3k

Users

17.4k

Topics

155.6k

Posts