• Recent
    • Unsolved
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login
    1. Home
    2. george1421
    3. Posts
    • Profile
    • Following 1
    • Followers 65
    • Topics 113
    • Posts 15,352
    • Groups 2

    Posts

    Recent Best Controversial
    • RE: Dell OptiPlex 3000 Thin Client

      @phant0mbot said in Dell OptiPlex 3000 Thin Client:

      The Thin Client is able to pxe boot and accepts the image, but then can’t get past booting the final time.

      It just attempts to boot from hard drive on the Fogproject Menu and keeps refreshing.

      1. Just to be clear here. You CAN get to the FOG iPXE menu?

      2. What happens when you pick a FOG iPXE menu. This will cause bzImage and init.xz to the target computer. Does the kernel attempt to boot?

      posted in Hardware Compatibility
      george1421G
      george1421
    • RE: How do i add more storage space to my Fog Storage repository

      @Jchinn412 The answer is it depends on how you have your disk structure setup

      Post the results of these two commands.

      lsblk
      df -h

      It maybe easy or harder (but not impossible) depending on how you have the disk created.

      posted in Linux Problems
      george1421G
      george1421
    • RE: Using if/then during PXE boot for proper boot loader

      @aurfalien The arch value is not going to be fine grained enough for what you want.

      This is a short table of what is available in the arch field.
      Arch:00000: This is often associated with the non-UEFI, or legacy BIOS, boot process.
      Arch:00007: This value typically indicates a 32-bit UEFI system.
      Arch:00009: This value identifies a 64-bit UEFI system

      So if you want to send bios or uefi boot loaders this is the method you want to use.

      But from your post you want to switch between "undionly.kpxe while others the ipxe.kpxe " This are both bios boot loaders so the arch value == 0 for both hosts.

      …However would you know how I can determine the client-arch value for a particular host?

      If you know how to use wireshark you can get the answer you seek. Take a witness computer (third computer not part of the pxe booting process) and load wireshark on it (you may need to disable the windows firewall for this) Plug this witness computer into the same subnet as the pxe booting computer. When you startup wireshark set the capture filter to port 67 or port 68 and then select your ethernet adapter that is plugged into the same vlan subnet as the target computer. With the witness computer scanning pxe boot the target computer. Keep the scanner running until the pxe booting computer gets to the fog menu.

      Now stop wireshark from scanning. Look at the packets it captured, it should have captured about 4 if you setup the capture filter correctly. If it collected a lot of traffic (like if you forgot to set the capture filter) set the view or display filter of bootp.

      So with the 4 packets these should be the DORA packets Discover, Offer, Request, Ack/Nak. What you are interested in is the Discover packet, this is from the target computer saying hello world. Look into this packet. Scroll down the list of values until you see the dhcp options. To see the arch value its in dhcp option 93 or 94, or right in that area. You can use most of these dhcp options to set special filters on the dhcp server and then send different boot files depending on the values. You need to find what is unique between these systems so you can tell the dhcp how to react when it sees that particular value from the client during the discover / offer part of DORA

      posted in General
      george1421G
      george1421
    • RE: Using if/then during PXE boot for proper boot loader

      @aurfalien I’m right there with you. The iPXE menu can also do a if/then action but that is more limited than what you can do on the dhcp server side.

      OK so it looks like your dhcp server is linux based and not via windows or third party.

      So to my question, what is unique you can identify (from a computer standpoint) so your dhcp server knows which boot loader name to send out?

      The method to take really depends on the number of clients you are looking at and what the uniqueness of the machines are.

      When a client computer starts the DORA process for pxe booting it sends out a DISCOVER packet. That packet tells the dhcp server about the client. Those parameters can be used to customize the OFFER response back from the dhcp server.

      Common parameters might be if the client is uefi or bios, or x64 or x32 architecture, mac address, or stripping out the manufacture from the mac address, or system UUID.

      The simplest and most accurate method is to send the unique boot file based on the mac address.

      for the standard isc dhcp server you would put in something that looks like this for each host. The host specific settings will override the pool options.

          host myhost01{
              hardware ethernet 00:11:22:33:44:55;
              filename "undionly.kpxe";
          }
          host myhost02{
              hardware ethernet 00:a1:b2:c3:d4:e5;
              filename "ipxe.kpxe";
          }
      
          # General configuration for other clients
          subnet 192.168.1.0 netmask 255.255.255.0 {
              range 192.168.1.10 192.168.1.200;
              option routers 192.168.1.1;
              filename "snponly.efi";
              next-server 192.168.1.100;
          }
      

      While that is the most accurate and simplest to implement if you have just a few hosts, if you are dealing with 100s of hosts that might be challenging.

      If your targets have multiple network adapters you could use the system UUID (if the vendor populates this field)

          # Define a class for clients identified by a specific UUID
          class "uuid-clients" {
              match option dhcp-client-identifier;
          }
      
          # Host declaration for a specific client identified by its UUID
          host myclient {
              option dhcp-client-identifier = 0:1:2:3:4:5:6:7:8:9:a:b:c:d:e:f; # Replace with actual UUID
              filename "ipxe.efi";
          }
      

      There are options but the path forward depends on the number of hosts you are trying to manage.

      posted in General
      george1421G
      george1421
    • RE: Using if/then during PXE boot for proper boot loader

      @aurfalien The quick answer is you can’t do what you want with an if/then in iPXE. I’m not saying there isn’t a solution but with iPXE it might be difficult.

      So lets start with undionly.kpxe and ipxe.kpxe. Undionly.kpxe uses the undi driver built into the network card. Almost all bios cards in the last 20 years support the undi driver format that is almost 30 years old. The ipxe.kpxe boot loader uses iPXE built in network drivers, much like linux has built in network drivers. I’m finding it strange that undionly.kpxe doesn’t work where ipxe.kpxe does work. These must be some really old network cards where only ipxe.kpxe only works. Lets make sure you don’t mean ipxe.efi (which is the uefi driver version).

      So from a programic standpoint how will the system know what iPXE boot loader to pick between undionly and ipxe? What is unique between these two systems?

      How many systems are on each side of the fence?

      The solution lies in your dhcp server. We have some options as long as the dhcp server can tell or identify system A get boot loader X and system B gets boot loader Y. We’ll need more background information here to give you a complete solution.

      posted in General
      george1421G
      george1421
    • RE: Consolidating FOG and AikenWorkbench to one subnet. One PXE for both.

      @jatosaj I think I would approach this by having FOG as your PXE boot source. This will use iPXE as your boot loader. iPXE is a very powerful boot loader as compare to syslinux (pelinux). Both are capable of doing what you want, just you’ll have an easier time managing this setup from FOG.

      The idea is to pxe boot into the FOG menu, then have FOG chain (load) the aikenwb environment.

      Understand I’m just spitballing this configuration. But within the fog UI under FOG Configuration there is an iPXE menu manager. You will create a new iPXE menu using these settings.

      Menu Item: os.chainaikenwb
      Description: Boot AikenWorkbench
      Parameters:
      iseq ${platform} pcbios && set bootfname “bios/pxelinux.0” ||
      iseq ${platform} efi && set bootfname “grub/bootx64.efi” ||
      chain -ar tftp://192.168.2.1/${bootfname}
      boot || goto MENU
      Menu Show with: All Hosts

      If AikenWorkbench requires the dhcp settings to contain the exact values we will need to get a bit more creative with the FOG menu.
      (this one I have about 60% confidence I created the menu correctly)

      Menu Item: os.chainaikenwb
      Description: Boot AikenWorkbench
      Parameters:
      set next-server 192.168.2.1

      iseq ${platform} efi && goto is_awb_efi || goto is_awb_bios

      :is_awb_efi
      set bootfile “grub/bootx64.efi”
      goto awb_boot

      :is_awb_bios
      set bootfile “bios/pxelinux.0”

      :awb_boot
      set filename ${bootfile}
      set net0.dhcp/filename ${bootfile}
      set proxydhcp/filename ${bootfile}
      chain -ar tftp://${next-server }/${bootfile}
      boot || goto MENU
      Menu Show with: All Hosts

      Even if I missed on the menu, using FOG and iPXE is the easiest answer to get what you need. You CAN do it with FOG. For full disclosure you can also create a menu in syslinux to chain load into iPXE too. So if you have a way to create customer menues in AikenWB you can pxe boot into AikenWB and then chain to fog, but you’ll lose out in some of the boot features of FOG.

      posted in General Problems
      george1421G
      george1421
    • RE: Dnsmasq on your FOG server

      @diogo-seabra As for the picture, I think we need to clearly define your network.

      dnsmasq works by using broadcast messages. So that means dnsmasq will only work on the local subnet. If your pxe booting computers are on a different subnet then you will need to add the fog server’s IP address to the list in the dhcp relay service on your router.

      Also if you have dhcp snooping enabled on your network switches, that may also cause dnsmasq to not respond properly.

      posted in FOG Problems
      george1421G
      george1421
    • RE: Dnsmasq on your FOG server

      @diogo-seabra Just to be clear you WILL need to have this as the last line in your configuration for dnsmasq.

      dhcp-range=<fog_server_IP>,proxy
      

      Where you replace <fog_server_IP> with the IP address of your fog server.

      posted in FOG Problems
      george1421G
      george1421
    • RE: Dnsmasq on your FOG server

      @diogo-seabra said in Dnsmasq on your FOG server:

      At DHCP main not needed configure the option 66 and 67, right?

      Correct. We use dnsmasq for those dhcp servers that setting dhcp options 66 and 67 are impossible. Such as when an external company manages your dhcp infrastructure.

      posted in FOG Problems
      george1421G
      george1421
    • RE: Dnsmasq on your FOG server

      @diogo-seabra said in Dnsmasq on your FOG server:

      dhcp-range=192.168.10.0,proxy,255.255.255.0
      dhcp-range=172.30.20.0,proxy,255.255.255.0

      These should not be necessary. In this configuration dnsmasq is only in proxy-dhcp mode. It will not hand out IP addresses, that is the responsibility of your main dhcp server. DNSMASQ in this mode will only send out a proxy dhcp OFFER packet telling the target computer after it gets its IP address contact the proxy dhcp server for additional information.

      As for your main dhcp server, its not necessary to set dhcp option 66, because the proxy dhcp server (dnsmasq) will override that setting.

      PXE-E16 no valid offer received

      This means the pxe booting client didn’t either receive an IP address or the DHCP Discovery from the target computer didn’t make it to the dnsmasq server because it didn’t respond.

      So I have to ask you if you have a microsoft dhcp server, why do you feel the need to run dnsmasq? (this is a specific and intentional question). Microsoft dhcp server can do everything (almost) that a dnsmasq server can do.

      posted in FOG Problems
      george1421G
      george1421
    • RE: FOG not saving images in the directory

      @BrightPipe said in FOG not saving images in the directory:

      EDIT---- Running the installer again seems to have fixed the issue. Thanks.

      Good deal because that was going to me my next request. I’m glad you have it sorted out.

      posted in FOG Problems
      george1421G
      george1421
    • RE: FOG not saving images in the directory

      @BrightPipe When FOS Linux captures an image it will do that as root on FOS Linux. The issue we need to see is not specifically the owner permission but the group permission. From command line if you change into /images/dev and then issues ls -la * what is the group ownership of that 408… directory.

      What actually happens here is FOS Linux connects to the FOG server over ftp as the fogproject user that is also a member of the fogproject group. That file we need to move is owned by root, but hopefully the group is fogproject so the fogproject user can move the file.

      One way to test this permission issue is to (from the fog server cli) connect to the fog server using ftp. The user ID is fogproject and the password for fogproject is found in a hidden file /opt/fog/.fogsettings Use that to log into the fog server over ftp then issue the following commands.

      cd /images/dev
      mv 408d5caa1a89 /images
      
      

      If you have the proper permissions on that directory then the directory should move to /images.

      If the permissions are messed up (as in you mapped the /images directory over to a new disk to add more space) just rerun the fog installer, that will fix the permissions on the /image and /image/dev directory.

      posted in FOG Problems
      george1421G
      george1421
    • RE: Windows 11 SetupComplete.cmd skipped

      @cookc I can’t speak specifically to Win11 deployment since I’ve left that space, but I’ve seen reports that the setupcomplete.cmd file doesn’t run in Win11 if you are using OEM media. VLK media appears to still run this file, but not OEM. I think that is regardless of the actual key you are using. Its the media (DVD Image) that seems to be causing this issue. But again I need to clarify that I don’t deploy windows products now so I have no first hand experience.

      You maybe able to get around this by using the autoadmin login and the first run commands in the unattend.xml file.

      I had to explain the process for another reason here: https://forums.fogproject.org/post/157075

      posted in Windows Problems
      george1421G
      george1421
    • RE: Problem PCX Boot HP 17x104fg

      @mchristo said in Problem PCX Boot HP 17x104fg:

      As far as i investigated, the lapto has a NIC of the Realtek+RTL8102/8103/8136 Family.

      Just for clarification, when you see the FOG iPXE menu then the pxe booting is done and iPXE has taken over control of your PC. When you select a FOG iPXE menu item, iPXE transfer control over to FOS Linux (bzImage+init.xz). So your problem is within FOS Linux.

      This is a pretty old 10/100 nic, so I would think FOS Linux would know about it. I’ve never hear that family of nic’s before so I can’t be for sure that linux supports it.

      If this computer has windows on it go into the device manager, and select that nic. Get the hardware ID of that nic, it will be in the form of vend_id=8086&device_id=1cfd that was a totally made up number. I need the 2 groups of hex codes to match the linux driver ID.

      I can’t seem to find a HP 17-x104fg but I can find a 17-x104ng laptop with a 7th gen intel chip. I’m suspecting the realtek nic family you mentioned is not installed in this laptop. There is no reason to install a 10/100 nic along side a 7th gen intel processor. Lets get the nic hardware ID so we can properly ID that nic.

      posted in Hardware Compatibility
      george1421G
      george1421
    • RE: UEFI is not booting with Windows DHCP

      @RAThomas said in UEFI is not booting with Windows DHCP:

      The solution for my case was to add this to the client port configuration on my Cisco switch:

      Yep, if you are not using port-fast, fast-ftp, mstp, or rstp (or whatever your switch mfg calls it) standard spanning tree takes 27 seconds to start forwarding packets. This timer restarts every time the network link winks, like as the PC starts, iPXE starts up, and then FOS linux starts. FOS linux boots so fast (< 16 seconds), its already given up trying to get an IP address before the ports starts to forward traffic.

      posted in FOG Problems
      george1421G
      george1421
    • RE: FOG not saving images in the directory

      @BrightPipe OK what is happening here is, the FOS engine has uploaded the image to /images/dev/<mac_address> using NFS. Then the FOS engine connects to the fog server using FTP as the fogproject user. Then it issues a mv (move) command from /images/dev/<mac_address> to /images/<image_name> directory.

      So you are saying there is a directory name in /images that matches <image_name> but the files stay in /images/dev directory? If yes then it appears that the fogproject user doesn’t have rights to ‘move’ the files out of /images/dev , but it does have rights to create the directory in /images.

      That gives me a clue that the fogproject user doesn’t have permissions to /images/dev/<mac_address> directory.

      posted in FOG Problems
      george1421G
      george1421
    • RE: Inject drivers via Fog

      @diogo-seabra said in Inject drivers via Fog:

      To use the unattend.xml can we follow this steps

      This is kind of an open ended question so I’m not sure how to answer within context.

      The fog.updateunattend script is intended to update the unattend.xml script at deployment time, like system name, OU to bind to, etc.

      If you want to use the unattend.xml script to “do things” post deployment, that is not connected to the fog.updateattend script.

      For reference here is my windows 7 unattend.xml (I know, but the file really hasn’t changed much between win7 and win11.
      https://forums.fogproject.org/post/112435

      The interesting sections of the file are this:

                  <AutoLogon>
                      <Password>
                          <Value>**REMOVED BY ME**</Value>
                          <PlainText>false</PlainText>
                      </Password>
                      <Enabled>true</Enabled>
                      <Username>**REMOVED BY ME**</Username>
                      <Domain>**REMOVED BY ME**</Domain>
                      <LogonCount>1</LogonCount>
                  </AutoLogon>
      

      This sets it up for the administrator account to auto login once. Doing this allows the next important section to run.

                  <FirstLogonCommands>
                      <SynchronousCommand wcm:action="add">
                          <Description>Move to OU</Description>
                          <Order>1</Order>
                          <CommandLine>cscript.exe /B c:\windows\buildscripts\SetOUTo.vbs "some_new_ou"</CommandLine>
                          <RequiresUserInput>false</RequiresUserInput>
                      </SynchronousCommand>
                      <SynchronousCommand wcm:action="add">
                          <Order>2</Order>
                          <Description>Activate Windows</Description>
                          <RequiresUserInput>false</RequiresUserInput>
                          <CommandLine>cscript /B C:\windows\system32\_slmgr.vbs /ato</CommandLine>
                      </SynchronousCommand>
                      <SynchronousCommand wcm:action="add">
                          <Order>3</Order>
                          <CommandLine>shutdown.exe -r -t 30 /c "The computer will RESTART in 30 seconds"</CommandLine>
                          <Description>Reboot at end</Description>
                          <RequiresUserInput>false</RequiresUserInput>
                      </SynchronousCommand>
                  </FirstLogonCommands>
      

      While this section doesn’t speak directly to running the pnputil.exe command, you could add it to the list of steps pretty easy, possibly in the first section with “description move to ou”. The auto login command allows this section to run once the desktop is configured. The last step of the first run section tells windows to reboot after executing everything else. The concept will be the same or you, run the pnputil command with the proper switches and then the last step will be to reboot loading the proper drivers at restart.

      posted in Tutorials
      george1421G
      george1421
    • RE: WOL for different VLANs

      @Mdearmas I think I would start with your router. Look up the model and how to enable directed broadcasts, also look to see if there is any helper services that can be turned on to forward WOL packets to the target LAN. Your issue isn’t with FOG, but rather its a network infrastructure issue.

      posted in FOG Problems
      george1421G
      george1421
    • RE: WOL for different VLANs

      @george1421 I was pretty close with my limited knowledge of this.

      google-fu: router forward wol broadcast to different subnet

      AI response
      To forward Wake-on-LAN (WOL) broadcast packets across different subnets, you’ll generally need to configure your router to forward these packets, as they don’t inherently route like standard IP packets. This often involves enabling directed broadcasts or using a WOL proxy agent.
      Here’s a breakdown of the process and some common methods:

      1. Understanding the Challenge:

        WOL relies on a “magic packet” sent at the Ethernet layer, not the IP layer.
        Routers primarily handle IP traffic and don’t typically forward broadcast packets across subnets by default.

      2. Methods for Forwarding WOL Packets:

        Subnet Directed Broadcasts:
        Configure the router to forward broadcast packets to a specific subnet.

      This involves using the broadcast address of the target subnet (e.g., 192.168.1.255 for 192.168.1.0/24).
      The router at the destination subnet needs to be configured to recognize and forward the WOL packet as a true broadcast.
      This method allows you to target multiple subnets.

      WOL Proxy Agent:

      A WOL proxy agent acts as an intermediary, receiving WOL requests on one subnet and rebroadcasting them as a directed broadcast on the target subnet. 
      

      This is often used for WOL over the internet or when directed broadcasts are not desired.

      Using a Router with WOL Support:

      Some routers, like those from CommScope, have native support for forwarding WOL packets. 
      

      You may need to configure specific settings, like forwarding UDP port 9 (or 7) and using helper addresses.

      1. Example Configuration (using Subnet Directed Broadcasts):

        Identify the Target Subnet: Determine the IP address range of the subnet you want to wake up.

      Find the Broadcast Address: Calculate the broadcast address for that subnet (e.g., for 192.168.1.0/24, it’s 192.168.1.255).
      Configure the Router:

      Enable directed broadcasts (often under "ip forward-protocol udp"). 
      

      Configure a helper address on the router’s interface facing the WOL server, pointing to the target subnet’s broadcast address.
      Ensure UDP port 9 (or 7) is included in the forwarding rules.

      Send the WOL Packet: Send the magic packet to the target subnet’s broadcast address.

      posted in FOG Problems
      george1421G
      george1421
    • RE: WOL for different VLANs

      @Mdearmas This is only at the fringe of my knowledge, but WOL is a L2 protocol that won’t traverse routers until you have a helper service (like dhcp relay is for dhcp) that will forward directed broadcasts across your router. I understand why it works but not sure how to get your router to forward directed broadcasts to the intended target vlan.

      posted in FOG Problems
      george1421G
      george1421
    • 1
    • 2
    • 3
    • 4
    • 5
    • 767
    • 768
    • 1 / 768