I/O ERROR with Boot.php
-
Are you running FOG 1.2.0 or latest meaning trunk version? Which OS are you running FOG on? What is your client machine?
Please tell us more about where you see the I/O ERROR with Boot.php? Maybe take a screenshot or describe in words how we can reproduce this error.
-
right.
im running 1.2.0 on centos 5.7 on vmware, the client is a dell optiplex 3020 core i3 w/ 8GB RAM
as im trying to boot to the NIC it just throws that error … it doesnt boot to fogs menu at all.
heres a pic of the whol thing
http://postimg.org/image/6g7w7erar/ -
Please boot up the client to its normal OS (probably Windows) and try to access the URL from your browser: http://192.168.1.4/fog/service/ipxe/boot.php
Check your apache error log while accessing the URL too! On the FOG server run
tail -f /var/log/httpd/error_log
for CentOS. If you see an error like “No such file or directory” you should be able to find the correct log file using this commandfind /var/log -name "*error*log"
-
got a screen shot of the logs tail
http://postimg.org/image/snrnvpsx3/
and heres what i got on the http://192.168.1.4/fog/service/ipxe/boot.php
also when i access the link i get the log :
[Tue Oct 13 11:25:58 2015] [error] [client 192.168.1.19] File does not exist: /var/www/html/favicon.ico, referer: http://192.168.1.4/fog/service/ipxe/boot.php#!ipxe cpuid --ext 29 && set arch x86_64 || set arch i386 colour --rgb 0xff6600 2 cpair --foreground 7 --background 2 2 console --picture http://192.168.1.4/fog/service/ipxe/bg.png --left 100 --right 80 :MENU menu colour --rgb 0xff0000 0 cpair --foreground 0 3 item --gap Host is NOT registered! item --gap -- ------------------------------------- item fog.local Boot from hard disk item fog.memtest Run Memtest86+ item fog.reginput Perform Full Host Registration and Inventory item fog.reg Quick Registration and Inventory item fog.sysinfo Client System Information (Compatibility) choose --default fog.local --timeout 600000000 target && goto ${target} :fog.local sanboot --no-describe --drive 0x80 || goto MENU :fog.memtest kernel memdisk iso raw initrd memtest.bin boot || goto MENU :fog.reginput kernel bzImage32 root=/dev/ram0 rw ramdisk_size=127000 ip=dhcp dns=192.168.1.2 keymap= web=192.168.1.4/fog/ consoleblank=0 loglevel=4 mode=manreg imgfetch init_32.xz boot || goto MENU :fog.reg kernel bzImage32 root=/dev/ram0 rw ramdisk_size=127000 ip=dhcp dns=192.168.1.2 keymap= web=192.168.1.4/fog/ consoleblank=0 loglevel=4 mode=autoreg imgfetch init_32.xz boot || goto MENU :fog.sysinfo kernel bzImage32 root=/dev/ram0 rw ramdisk_size=127000 ip=dhcp dns=192.168.1.2 keymap= web=192.168.1.4/fog/ consoleblank=0 loglevel=4 mode=sysinfo imgfetch init_32.xz boot || goto MENU autoboot```
-
@Nox245 Seams like the boot menu for non-registered hosts is ok and not producing any serious errors in the log file (don’t worry about the favicon message in 11:25). But you had some serious errors earlier this morning as I can see in the log file. Probably from booting the client.
Please try again booting up the client to windows and access the same URL but with added parameter (MAC address from your first screenshot): http://192.168.1.4/fog/service/ipxe/boot.php?mac=b0:83:fe:5f:fe:5d
Looking through the source code I am still wondering how this can happen. Did you register this host? How did you register (host added in the web interface?)?
-
@Nox245
so heres a pic of the host in the fog server :
http://postimg.org/image/5f2gge0np/
and yes i did add the in the web interface
when i go to the link http://192.168.1.4/fog/service/ipxe/boot.php?mac=b0:83:fe:5f:fe:5d it shows nothing
but when i add / at the end like : http://192.168.1.4/fog/service/ipxe/boot.php?mac=b0:83:fe:5f:fe:5d/
it shows the same as the first time (without the mac=b0…)
thats the log :
[Tue Oct 13 13:42:33 2015] [error] [client 192.168.1.19] PHP Warning: current() expects parameter 1 to be array, string given in /var/www/html/fog/lib/fog/BootMenu.class.php on line 394
[Tue Oct 13 13:42:33 2015] [error] [client 192.168.1.19] PHP Fatal error: Call to a member function isValid() on a non-object in /var/www/html/fog/lib/fog/BootMenu.class.php on line 395 -
This sounds to me like a slight problem. When you say you’re running 1.2.0, have you by chance ensured a tasking actually exists for this host? I ask this because the specific lines of code for 1.2.0 relay this information:
$Task = current($this->Host->get('task')); if (!$Task->isValid()) { if ($this->FOGCore->getSetting('FOG_NO_MENU')) $this->noMenu(); else $this->printDefault(); }
The first line 394 ($Task = current($this->Host->get(‘task’));) Tells me that the task for this host doesn’t exist, or isn’t being properly generated.
The next line (if (!$Task->isValid())) is where the system is failing completely. Current, in php, means to take the most recent element of an array. If there is no array to pull you will get the (PHP Warning: current() expects parameter 1 to be an array, string given…)
Can you do me a favor and edit the /var/www/html/fog/lib/fog/BootMenu.class.php and right before line 394 type:
print $this->Host->get('task'); exit; $Task = current($this->Host->get('task')); if (!$Task->isValid()) { if ($this->FOGCore->getSetting('FOG_NO_MENU')) $this->noMenu(); else $this->printDefault(); }
Then go to the url as you did before? What is printed in the Browser?
-
I just stumbled upon this thread. Is that the one you were talking about? https://forums.fogproject.org/topic/5805/svn-4690-ipxe-error
Do you use plugins like capone at all? I not this is probably a different issue. And I am pretty sure it is a different one as you are running version 1.2.0…
-
@Nox245 Did you get this solved yet?
-
yeah so i figured it out …
had a problem with the way i registered the machine … thanks for the help.