Default.IPXE-no such file or directory (2e008081)
-
Server
FOG Version: 1.5.7 OS: Ubuntu 18.04
Client
Service Version: OS:Windows/Linux
Description
Hi,I have issue with booting from USB stick via IPXE. We need solution only with UBS sticks (we can’t modify or booted from network). We need solution only with USB sticks (we can’t modify or booted from network)
In our FOG server completely missing files in tftpboot do I decided copped this file from /home/fog/fogproject-1.5.7/packages/tftp to /var/lib/tftpboot/ and i also create default.ipxe (from this source https://wiki.fogproject.org/wiki/index.php/Chainloading_PXE_to_iPXE_using_pxelinux.0)
Also path in /etc/lib/tftboot is fine with port in format TFTP_ADDRES=“:69”.In firewall was enabled port 69 for tftp.We need it to deploy to put network with most simplistic way USB stick with address of server and that’s it
I searched FOG wiki and this was only what i found https://wiki.fogproject.org/wiki/index.php?title=USB_Bootable_Media .
Can you please help or provide any alternative ?
Thank you. -
Well lets take this issue one by one.
default.ipxe should look like this:
#!ipxe cpuid --ext 29 && set arch x86_64 || set arch ${buildarch} params param mac0 ${net0/mac} param arch ${arch} param platform ${platform} param product ${product} param manufacturer ${product} param ipxever ${version} param filename ${filename} param sysuuid ${uuid} isset ${net1/mac} && param mac1 ${net1/mac} || goto bootme isset ${net2/mac} && param mac2 ${net2/mac} || goto bootme :bootme chain http://192.168.1.1/fog/service/ipxe/boot.php##params
Where 192.168.1.1 is the IP address of your FOG server.
But I would have to question, if you installed FOG this directory should exist and be populated. I might suggest that you rerun the fog installer because something went wrong with the install.
Second USB boot.
The default ipxe boot loaders that come with FOG rely on dhcp to find the boot server via option 66 in dhcp. If you don’t have that you will have to manually rebuild the ipxe boot loaders as you saw in the article. The modified boot loader has the built in script where we ignore what dhcp is telling the target computer and force a specific address to be chained to. As in the wiki page#!ipxe dhcp set next-server 192.168.1.88 set filename ipxe.efi chain tftp://${next-server}/${filename}
But in my opinion that will cause issues for 2 reasons.
- That only works for uefi systems, you will need to build a bios boot loader.
- The chain just reloads the server version of ipxe.efi which again would rely on dhcp to find the fog server.
If we look at the script that FOG uses to build the ipxe boot kernels here: https://github.com/FOGProject/fogproject/blob/master/src/ipxe/src-efi/ipxescript
I might modify the built in script from the wiki page to be something like this
#!ipxe dhcp set next-server 192.168.1.88 chain tftp://${next-server}/default.ipxe || prompt --key s --timeout 10000 Chainloading failed, hit 's' for the iPXE shell; reboot in 10 seconds && shell || reboot
That chain command will call the default.ipxe file that will connect into the FOG boot.php file. Rebuild ipxe.efi with that script using the rom-o-matic site and load that into the uefi boot location and it should work better.
There is an alternative is to boot FOS Linux (bzImage kernel and init.xz virtual hard drive) directly from the usb stick bypassing the ipxe boot loaders all together. There are some drawbacks using this method, but for normal imaging with FOG it will work well. https://forums.fogproject.org/topic/7727/building-usb-booting-fos-image I have a starter image created that will take you to step 7 in the tutorial, all you will need to do is use RUFUS to “burn” the image to the usb flash drive and then update the grub.cfg file. There are some caveats with this method so be mindful of them if you go this route.
-
@george1421
Thank you a lot.
After i was change default.ipxe it’s work but i can’t capture image from my test PC. It the limitation of booting via usb or something else is wrong ? When i booted i see only:
Boot from HDD
Run Memtest86+
Deploy image
Join Multicast session
Client system informationOr it’s in some fog setting this ?
Thank you very much.
-
@TOXYKILLER Well I would expect that menu if you haven’t told FOG what to do.
I take it you have registered the host with FOG by either doing a quick inventory or a full inventory. Once that is done there will be an entry in the host management view. From there if you want to capture an image you need to create an image definition and then go back to the registered computer and link the registered computer with the image definition you created. Then finally on the host definition create a capture task and schedule it. When you reboot the computer and pxe boot it, the target computer will check in with the FOG server and since there is a task, start imaging the computer.
-
@george1421
Thank i found that options but i have issue register any host now. I try both options(full host registration and quick registration) and i still have same error.Can you please help ?Thank you.
-
@TOXYKILLER Check apache und php-fpm logs, see my signature.
-
@TOXYKILLER Well from your picture the first thing I noticed is that your fog server is at 10.<something off the screen> but your storage ip is 11.101.212.165 is that correct?
-
@george1421
Since our last conversation i revoke a little bit topology (for more similar to production network).Now i don’t have static IPs and i using router as DHCP server.Server IP is now 192.168.1.101/24
Client have 192.168.1.100/24
Gateway 192.168.1.1So now when i boot via usb stick i put IP addres of sever.
and here is full error screen
here are logs from
/var/log/apache2/error.log
and here are from var/log/syslog | grep php
-
@TOXYKILLER Well I was going to say that it appears your dhcp server isn’t sending out the next-server value so iPXE is asking for it. But you deleted your post. Depending on the router, some soho routers send the next server address as them selves even if you set it to something else.
-
@george1421
We now for this testing purpose using tp-link TL-MR6400.I check router setting and about DHCP is almost non existent settings so you advice about this issue is a create own linux base DHCP server ? -
@TOXYKILLER If you want to continue to use your existing dhcp server that is possible. You just need to install DNSMASQ onto your FOG server. The dnsmasq configuration will only provide pxe boot information. All other network details come from your main dhcp server. The only issue is if your pxe booting clients are on a different subnet than the fog server. If that is the case, you will need to update a setting in your network configuration. On your vlan/subnet router you will need to add the FOG server’s IP address as the last host in your router’s dhcp-helper/relay service. I didn’t mention this before, because you said you had no access to any infrastructure changes. Here is the tutorial for installing dnsmasq onto your FOG server. The instructions are centos/rhel specific but the only real difference for Ubuntu distro is to use apt-get instead of yum: https://forums.fogproject.org/topic/12796/installing-dnsmasq-on-your-fog-server
-
@TOXYKILLER As mentioned already the storage node IP seems to be different. Did you setup the server using that IP and then changed it later on? https://wiki.fogproject.org/wiki/index.php/Change_FOG_Server_IP_Address
-
@Sebastian-Roth
I try it with via using web settings still not working also i tried .fog settings file but it’s seen won’t work at all(after install i don’t have this file created and also file tftpboot missing as well). I change this setting and try create usb again via this manual https://wiki.fogproject.org/wiki/index.php?title=USB_Bootable_Media . -
@TOXYKILLER Sorry for not answering but there was lot’s to do before X-Mas and I lost track of this. The USB boot method in the wiki is kind of old. Better you take a look at this: https://forums.fogproject.org/topic/7727/building-usb-booting-fos-image (page 2!)
-
@Sebastian-Roth
Hi thank you for this manual it’s help. I can now register host but i can’t capture image from PC (i also choose in fog this options in host list). It’s seems i have issue with “/tmp/himfo.txt”. I try find this file but it’s doesn’t exit. -
@TOXYKILLER If you are using the USB boot method that boots via grub. You missed one of the caveats with this method. You need to schedule the task first within the FOG web ui then pick option 1 on the grub menu. What that error is saying, “hey you want to image, but I don’t have any task to tell me what to image”
Schedule the task first in the fog ui then pxe boot the computer and you should be good.
-
@george1421
Thanks i can preform now registration and schedule image capture. But i have issue with fog “/images/dev permission denied”
I try find this folder via this commands showmount -e and find but i can’t find anything with this direct path and name. -
@TOXYKILLER So what does
showmount -e 127.0.0.1
give you?Also that directory will be on the fog server in /images/dev, so show us the results of
ls -la /images
-
@george1421
Hi, here is results of this two commands.
-
@TOXYKILLER Comparing this to your other pictures I feel you’ve misunderstood George. Please run those two commands on your FOG server terminal!