PXE connection Using Windows 2008 as DHCP Server
-
@techadmin said in PXE connection Using Windows 2008 as DHCP Server:
COM Express
OK, just so I understand. You have custom hardware that you need to install an image on. Your hardware doesn’t either have a network adapter that supports pxe, or there is no ethernet adapter in the device so you use an external usb ethernet adapter. It sounds like your custom hardware runs or can run rhel (that is good) and the network adapter IS seen in by rhel.
Since rhel works, then FOG/FOS will most likely work on your custom hardware. We have a couple of paths we can test to see what is the best path for you.
First a little background, FOG uses several technologies to providing imaging. The first technology is iPXE. iPXE is an extension of the PXE ROM that is built into most network adapters (in your case you don’t have a pxe rom compatible network adapter). In FOG’s case we use the built in pxe roms to download iPXE from the FOG server. Then we let iPXE take over for the rest of the image management process. When we get ready to capture or deploy images we instruct iPXE to download FOS (Fog Operating System that is used to capture and deploy images on target computers). FOS does all of the heavy work of imaging the target computer.
So the best choice if you don’t have a PXE compatible network is to see if we can load iPXE from a usb flash drive. Once iPXE is loaded it will contact the FOG server and normal imaging is possible. We have found that iPXE is not compatible with some network adapters. So for this case we can boot right into FOS, via a GRUB usb boot stick. You will loose some features by booting directly into FOS, but if you goal is to capture and deploy then we can go this path.
For the next steps I want you to build a FOS USB boot drive according to these instructions: https://forums.fogproject.org/topic/7727/building-usb-booting-fos-image/4 To save you some time I’ll DM you a link to a boot image I created just recently. Having that image will take you to step 7 in the instructions. You can use rufus (in windows) or dd (in linux) to write the image to the flash drive. The only requirement is the usb flash drive must be 512MB in size or larger.
Once you have the usb flash drive (don’t forget to update the grub.conf file to point to your local fog server) I want you to test option 7 if your custom hardware is bios based, and option 8 if its uefi based. That should jumpstart you into iPXE. I want to know does that jumpstart option display the FOG iPXE menu. If yes then we can do a few other things. If no, then we need to understand what happened. We can then try to register the computer using FOS (option 2 or option 3). That route should work. Just a note before you attempt option 1 you MUST first schedule a capture or deploy task on the FOG server then call option 1.
I know I gave you a lot of information here. Lets first start by creating the usb boot drive from the link I will send you.
-
Starting logging: ok
Populating /dev using udev: udevd[2795]: error creating epoll fd: function not implemented
done
Initializing random number generator… done
Starting eth0 interface and waiting for the link to come up
udhcp: starting, v1.26.2
udhcpc: sending discover
udhcpc: sending discover
udhcpc: sending discover
Either DHCP failed or we were unable to access 192.168.83.94/for//index.php for connection
No DHCP response on interface etho, skipping it.
Failed to get an IP via DHCP! Tried on interfaces(s): eth0
Please chaeck your network setup and try again!Ok my first action: I updated the update the grub.conf first line to point to the FOG server 192.168.83.94
Don’t know if I need to change anything else?
I see that it is showing for eth0 a MAC of : 00:00:00:00:00:00 | 30:64:19:48:91
Yet that is not the MAC that is built on our board and it is not the MAC of the USB network dongle, we only have these two items (so where is it getting that MAC from?)
Option 7 error: loading the kernel
error: invalid magic number
booting iPXE…
Press any key to continue…Option 8 error: chain loading the kernel.
error: cannot load image.
booting ipxe-efi…
Press any key to continue… -
@techadmin I see we have a lot of details here. Can you pick option 6 which should be debug. I’m hoping that debug will drop you to a linux command prompt after a few screens of commands. Once we are at the linux command prompt we can discover what linux knows about the hardware.
Since are dealing with a USB ethernet adapter we may need to add a kernel parameter to the grub file to tell its using a usb ethernet adapter. But try the debug menu option first and see if you can get to a linux command prompt. Once there key in the following commands.
ip addr show
ip link show
lspci -nn | grep net
-
@george1421 now don’t do this yet, I’d like to see if the debug menu gives us what we need. But if not the next steps are to add the kernel parameter
has_usb_nic=1
to the kernel invocation line like this.Original menu
menuentry "6. FOG Debug Kernel" { echo loading the kernel linux $myimage loglevel=7 init=/sbin/init root=/dev/ram0 rw ramdisk_size=127000 keymap= boottype=usb consoleblank=0 rootfstype=ext4 isdebug=yes echo loading the virtual hard drive initrd $myinits echo booting kernel... }
to this
menuentry "6. FOG Debug Kernel" { echo loading the kernel linux $myimage loglevel=7 init=/sbin/init root=/dev/ram0 rw ramdisk_size=127000 keymap= boottype=usb consoleblank=0 rootfstype=ext4 isdebug=yes has_usb_nic=1 echo loading the virtual hard drive initrd $myinits echo booting kernel... }
Note the new kernel parameter
has_usb_nic=1
after theisdebug=yes
-
@george1421 any chance on an email address so I can send a few picture of the screen shots so I don’t have to type all of this out?
-
@techadmin You can post them here in the forums, or if you want to keep them private, upload them to a google drive and share the link with me via DM.
-
@george1421 Ok I don’t see a area to up load them?
-
@techadmin When you are in the editor, you should be able to just drag the picture into the compose box. and it will upload it.
-
@george1421 ![0_1505941266609_Fog-NIC-Search.JPG](Uploading 100%)
-
@techadmin Excellent.
Lets identify what device is 00:30:64:19:48:91 Do you know what device that mac address is associated with? ( do know the answer, I just need to confirm it )
-
@george1421 No idea it does not match anything we have on the board or the USB dongle
-
@techadmin Interesting, the mystery deepens. I can see in the output of the lspci command that there is an Intel l219-lm onboard that embedded controller.
-
@george1421 Ok I found one dongle that worked the one on the left (Black works for everything but this application)
The one on the right (White …FOG seams to love this one)
But I still need to know a few things!
If I clone one box using this dongle and I go and use the same dongle to push images to other devices is this going to be a problem?Next I moved the Clonzilla image over to the FOG server now what do I need to do to compress it so that FOG can reuse t?
-
@techadmin My intuition is telling me you have a nic adapter on that embedded system. You may be better off using that if you can find the interface. Since it is an intel l219-lm it probably supports pxe booting too. I would surely explore that route when time permits. You will get the best imaging speed with that device. I don’t know if that is a commercial embedded or something your company makes. There may be a header on the embedded controller where you need to supply an adapter to an RJ45.
Change topics now
You found an usb nic FOG likes, great. The more generic the better because it has to be supported by the linux.Before I go on, lets make sure I understand how you will use FOG.
You will use fog to deploy your reference image to the target system. Once you unplug that target system from your build up bench, you and FOG will never see that device again?
-
@techadmin said in PXE connection Using Windows 2008 as DHCP Server:
If I clone one box using this dongle and I go and use the same dongle to push images to other devices is this going to be a problem?
We’ve been working on identifying machines by SysUUID (see here) instead of the MAC address. Though this feature is still new and I am not exactly sure if it’ll work in all cases. Give it a go and see how it works.
Next I moved the Clonzilla image over to the FOG server now what do I need to do to compress it so that FOG can reuse t?
What George meant is that you better deploy the Clonezilla image(s) to a machine (using Clonezilla) and capture a new FOG image from that. It saves you a lot of work (converting and generating FOG metadata like partition tables and more) and you’ll have a nicely compressed image right away.
This looks really strange. There is the major part of the URL missing in the output. Should be “http://x.x.x.x/fog/index.php”. When creating the boot USB key make sure you have the
web=http://$myfogip/fog/
parameter set!!All that said I’d also recommend what George already said. Find that onboard NIC chip and use this. USB NIC PXE boot might work but is quite often a lot of hassle to get to work. See that
has_usb_nic=1
kernel parameter is also just an ugly workaround but we still need this… -
@sebastian-roth Finding the onboard NIC is not an option the design on the board has it but the connector is not mounted to the board, and for this project it will not be installed for a security reason.
But for giggles I still want to know how to take the clonzilla image and convert it to FOG …being that I have already moved it to the server and to put the image on the box and re-cloning it is a bit of time loss. Not to mention how many different images I have already built; it would take me a week to start over.
-
@george1421 Yes once the image is moved from the FOG server to the device it get sent to the end user somewhere and unless it breaks I will most likely never see the device again but the next device I will be using the same Network USB Dongle to build the next box. So is FOG going to freak out when is see the same USB NIC if I build a new image?
And I would really like instructions on converting the colnezilla image that I have moved over to the server into a FOG image.
-
@techadmin said in PXE connection Using Windows 2008 as DHCP Server:
And I would really like instructions on converting the colnezilla image that I have moved over to the server into a FOG image.
First let me say, there are no instructions to do this. We have been saying in theory its possible but no one in the FOG Project has done it since we have been telling you the quickest way is to deploy your clonezilla image to your hardware, and then immediately turn around and capture the image with FOG. That way you get the image formatted and properly compressed for what FOG needs. The issue with converting the images by hand between clonezilla and FOG, is that FOG captures the meta data about the source drive characteristics, you will have to build that stuff by hand if you directly convert the images.
Beyond that…
In the case about using the same network adapter with FOG. In your case you will want to run FOG in OEM mode (its more of a procedure than a switch in FOG). In your case since you will never see these devices again, you will pxe boot (I’ll get to that in a minute) the images into the FOG menu, and from there you will pick quick image (or deploy image) directly from the iPXE menu. You don’t have to register the network interface or the target computer in FOG (because you will never see the computer again, there is no need to register it). When you pick the deploy image from the iPXE menu, fog will send the image to the target computer and then forget about it, like it never happened. -
@techadmin Now that you found a network adapter that FOS is happy with (the white one). Now lets go back and see if options 7 or 8 on the FOS boot stick work. FOS and iPXE share similar hardware requirements. My hope is that we can get options 7 or 8 to work to jumpstart your target computer into the iPXE menu. This would be the best choice if it now works with the one you identified in FOS that works.
-
@george1421
Ok I am seeing a new error
So when I made the image it gave me this sorry someone else took the photo …so if I am looking at this right the image never showed up on the server?
In side of the image folder I have a dev and a postdownloadscripts folders.I had to delete all the images from the server I thought I was running out of space. So I cleared out all host and all images
So how do I reset the numbers where it is showing the image is #6