Fog 0.33b edit PXE menu
-
The client doesn’t understand paths on the fog server, only http paths.
:WIN7PE64BIT
initrd var/www/fog/Win7AIO/WindowsAIO.iso
chain memdisk iso raw ||
goto MENUNeeds to be
:WIN7PE64BIT
initrd [URL=‘http://$%7Bfog-ip%7D/$%7Bfog-webroot%7D/service/ipxe/boot.php?mac=$%7Bnet0/mac%7D’]http://${fog-ip}/${fog-webroot}[/URL]/Win7AIO/WindowsAIO.iso
chain memdisk iso raw ||
goto MENUOR
:WIN7PE64BIT
initrd [URL=‘http://$%7Bfog-ip%7D/$%7Bfog-webroot%7D/service/ipxe/boot.php?mac=$%7Bnet0/mac%7D’]http://${fog-ip}/fog[/URL]/Win7AIO/WindowsAIO.iso
chain memdisk iso raw ||
goto MENUBoth should tell the client to look in the same place, although the first form is preferable.
If this fails check your apache log, it will tell you where i is looking for the iso.
-
okay thx, where i find the apache log?
-
The log location is os dependent,
Debian based Location (normally)
/var/log/apache2
Redhat based Location (normally)
/var/log/httpdthere are 2 logs, access.log and error.log.
The messages you need will probably be in the access log, search for WindowsAIO.iso starting at the end, you should see a status 404, which says not found
You can test by typing the following in to your browser[URL=‘http://$%7Bfog-ip%7D/$%7Bfog-webroot%7D/service/ipxe/boot.php?mac=$%7Bnet0/mac%7D’]http://<fog_ip_address>/fog[/URL]/Win7AIO/WindowsAIO.iso
replacing <fog_ip_address> with your fog server ip.eg
[URL=‘http://$%7Bfog-ip%7D/$%7Bfog-webroot%7D/service/ipxe/boot.php?mac=$%7Bnet0/mac%7D’]http://192.168.3.11/fog[/URL]/Win7AIO/WindowsAIO.iso -
my fog ip is 192.168.2.100
is this correct? [URL=‘http://%24%7Bfog-ip%7D/$%7Bfog-webroot%7D/service/ipxe/boot.php?mac=$%7Bnet0/mac%7D’]http://${fog-ip}/${fog-webroot}[/URL]/Win7AIO/WindowsAIO.iso
or [URL=‘http://%24%7Bfog-ip%7D/$%7Bfog-webroot%7D/service/ipxe/boot.php?mac=$%7Bnet0/mac%7D’]http://${192.168.2.100}/${fog-webroot}[/URL]/Win7AIO/WindowsAIO.iso
-
the first of those two is correct, assuming that you have that file located in /var/www/fog/Win7AIO/WindowsAIO.iso
[URL=‘http://%24%7Bfog-ip%7D/$%7Bfog-webroot%7D/service/ipxe/boot.php?mac=$%7Bnet0/mac%7D’]${fog-ip}[/URL] is a variable set to your server’s IP, in your case “fog”
[URL=‘http://%24%7Bfog-ip%7D/$%7Bfog-webroot%7D/service/ipxe/boot.php?mac=$%7Bnet0/mac%7D’]${fog-webroot}[/URL] is a variable set to the root of your fog installation, in your case “192.168.2.100” -
when i type [url]http://192.168.2.100/ISO/Windows8x64.iso[/url] it will start the download…i think it work but in the fog menu it goes direclty back to the menu.
-
if you paste your advanced menu code here, i will help you troubleshoot it
please use the “code” format button when doing so. -
menu
item --gap – ---------------- iPXE boot menu ----------------
item WIN7PE64BIT Boot Windows 7 64 bit iso
item WIN7PE32BIT Boot Windows 7 32 bit iso
item shell ipxe shell
item return return to previous menu
choose --default WIN7PE64BIT --timeout 5000 target && goto ${target}:WIN7PE64BIT
initrd http://${fog-ip}/${fog-webroot}/fog/ISO/Windows8x64.iso
chain memdisk iso raw ||
goto MENU:WIN7PE32BIT
initrd http://${fog-ip}/ISO/Windows8x64.iso
chain memdisk iso raw ||
goto MENU:ipxedemo
chain http://boot.ipxe.org/demo/boot.php ||
goto MENU:shell
shell ||
goto MENU:return
chain http://${fog-ip}/${fog-webroot}/service/ipxe/boot.php?mac=${net0/mac} ||
prompt
goto MENUautoboot[/CODE]
apache error.log
[Wed May 28 16:41:23 2014] [error] [client 192.168.2.22] File does not exist: /var/www/fog/fog
[Wed May 28 16:41:28 2014] [error] [client 192.168.2.22] File does not exist: /var/www/ISO/Windows8x64.iso
[Wed May 28 16:41:58 2014] [error] [client 192.168.2.22] File does not exist: /var/www/fog/fog
[Wed May 28 16:42:01 2014] [error] [client 192.168.2.22] File does not exist: /var/www/ISO/Windows8x64.iso
[Wed May 28 16:43:47 2014] [error] [client 192.168.2.22] File does not exist: /var/www/fog/fog
[Wed May 28 16:44:23 2014] [error] [client 192.168.2.22] File does not exist: /var/www/fog/fog[url=“/_imported_xf_attachments/0/840_Unbenannt.jpg?:”]Unbenannt.jpg[/url]
-
omg… if the file is @ /var/www/ISO the fog search @ /var/www/fog/ISO
and if the file is at /var/www/fog/ISO the fog search @ /var/www/ISO
[Wed May 28 16:41:23 2014] [error] [client 192.168.2.22] File does not exist: /var/www/fog/fog
[Wed May 28 16:41:28 2014] [error] [client 192.168.2.22] File does not exist: /var/www/ISO/Windows8x64.iso
[Wed May 28 16:41:58 2014] [error] [client 192.168.2.22] File does not exist: /var/www/fog/fog
[Wed May 28 16:42:01 2014] [error] [client 192.168.2.22] File does not exist: /var/www/ISO/Windows8x64.iso
[Wed May 28 16:43:47 2014] [error] [client 192.168.2.22] File does not exist: /var/www/fog/fog
[Wed May 28 16:44:23 2014] [error] [client 192.168.2.22] File does not exist: /var/www/fog/fog
[Wed May 28 16:50:13 2014] [error] [client 192.168.2.22] File does not exist: /var/www/fog/ISO/Windows8x64.iso
[Wed May 28 16:50:20 2014] [error] [client 192.168.2.22] File does not exist: /var/www/fog/ISO/Windows8x64.iso
[Wed May 28 16:51:04 2014] [error] [client 192.168.2.22] File does not exist: /var/www/fog/ISO/Windows8x64.iso
[Wed May 28 16:53:16 2014] [error] [client 192.168.2.22] File does not exist: /var/www/ISO/Windows8x64.iso
[Wed May 28 16:53:19 2014] [error] [client 192.168.2.22] File does not exist: /var/www/ISO/Windows8x64.iso
[Wed May 28 16:55:45 2014] [error] [client 192.168.2.22] File does not exist: /var/www/fog/fog
[Wed May 28 16:58:19 2014] [error] [client 192.168.2.22] File does not exist: /var/www/fog/fog
[Wed May 28 16:58:23 2014] [error] [client 192.168.2.22] File does not exist: /var/www/fog/ISO/Windows8x64.iso -
-
And if it’s not located in /var/www/fog/ISO and is located in /var/www/ISO the booturl should be:
[code]http://${fog-ip}/ISO/Windows8x64.iso[/code] -
iso is stored @ /var/www/fog/ISO fog search with initrd [url]http://${fog-ip}/${fog-webroot}/ISO/Windows8x64.iso[/url]
[Wed May 28 17:50:17 2014] [error] [client 192.168.2.22] File does not exist: /var/www/fog/ISO/Windows8x64.iso -
This post is deleted! -
Hello, I am using Fog 1.0.1 on CentOS 6.5 and attempting to get Ubuntu 12.04 or 14.04 to live boot. Does anyone have a working iPXE menu configuration, or have any idea why mine is failing (screen flashes and it goes back to first iPXE menu). I had a working configuration for both using fog 0.32. My menu code is below:
[CODE]set boot_url http://${fog-ip}/var/www/html/fog/service/ipxe/
set boot_nfs ${fog-ip}:/images/:MENU
menu
item Ubuntu12 Ubuntu 12.04 x64 Live
item Ubuntu14 Ubuntu 14.04 x64 Live
item return return to previous menu:Ubuntu12
kernel http://xxx.xxx.xxx.xxx/var/www/html/fog/service/ipxe/ubuntu12/casper/vmlinuz.efi
initrd http://xxx.xxx.xxx.xxx/var/www/html/fog/service/ipxe/ubuntu12/casper/initrd.lz
imgargs boot=casper netboot=nfs nfsroot=xxx.xxx.xxx.xxx:/images/ubuntu12.04/
shell
boot:Ubuntu14
kernel ${boot_url}/ubuntu/casper/vmlinuz.efi
initrd ${boot_url}/ubuntu/casper/initrd.lz
imgargs boot=casper netboot=nfs nfsroot=xxx.xxx.xxx.xxx:/images/ubuntu14.04/
boot:return
:return
chain http://${boot_url}/boot.php?mac=${net0/mac} ||
prompt
goto MENUautoboot[/CODE]
-
[FONT=Consolas]set boot_url [url]http://${fog-ip}/var/www/html/fog/service/ipxe/[/url][/FONT]
should be
[FONT=Consolas]set boot_url [url]http://${fog-ip}/fog/service/ipxe/[/url][/FONT]
because http://[FONT=Consolas]${fog-ip} resolves to the root of your web server[/FONT][FONT=Consolas]your menu doesn’t have a choose statement to tell ipxe to let you choose something[/FONT]
[FONT=Consolas]try this[/FONT]
[CODE]
set boot_url http://${fog-ip}/fog/service/ipxe/
set boot_nfs ${fog-ip}:/images/:MENU
menu
item Ubuntu12 Ubuntu 12.04 x64 Live
item Ubuntu14 Ubuntu 14.04 x64 Live
item return return to previous menu
choose target && goto ${target}:Ubuntu12
kernel http://xxx.xxx.xxx.xxx/fog/service/ipxe/ubuntu12/casper/vmlinuz.efi
initrd http://xxx.xxx.xxx.xxx/fog/service/ipxe/ubuntu12/casper/initrd.lz
imgargs boot=casper netboot=nfs nfsroot=xxx.xxx.xxx.xxx:/images/ubuntu12.04/
shell
boot:Ubuntu14
kernel ${boot_url}/ubuntu/casper/vmlinuz.efi
initrd ${boot_url}/ubuntu/casper/initrd.lz
imgargs boot=casper netboot=nfs nfsroot=xxx.xxx.xxx.xxx:/images/ubuntu14.04/
boot:return
chain http://${fog-ip}/${fog-webroot}/service/ipxe/boot.php?mac=${net0/mac} ||
prompt
goto MENUautoboot[/CODE]
-
Thanks, that got me further. Now it goes back to the first menu (same error) after initrd loads. I’m thinking it has to do with the arguments passed to Ubuntu, but I am unsure. Any ideas?
-
here’s a tip to tracking down what line kills it
put a “prompt” after each line, and it will make you hit a key before continuing -
Thanks, the imgargs line kills it. I’ve been trying various tutorials and combinations for that line but I have yet to find one that works.
-
[quote=“Junkhacker, post: 28460, member: 21583”][FONT=Consolas]set boot_url [url]http://${fog-ip}/var/www/html/fog/service/ipxe/[/url][/FONT]
should be
[FONT=Consolas]set boot_url [url]http://${fog-ip}/fog/service/ipxe/[/url][/FONT]
because http://[FONT=Consolas]${fog-ip} resolves to the root of your web server[/FONT][FONT=Consolas]your menu doesn’t have a choose statement to tell ipxe to let you choose something[/FONT]
[FONT=Consolas]try this[/FONT]
[CODE]
set boot_url http://${fog-ip}/fog/service/ipxe/
set boot_nfs ${fog-ip}:/images/:MENU
menu
item Ubuntu12 Ubuntu 12.04 x64 Live
item Ubuntu14 Ubuntu 14.04 x64 Live
item return return to previous menu
choose target && goto ${target}:Ubuntu12
kernel http://xxx.xxx.xxx.xxx/fog/service/ipxe/ubuntu12/casper/vmlinuz.efi
initrd http://xxx.xxx.xxx.xxx/fog/service/ipxe/ubuntu12/casper/initrd.lz
imgargs boot=casper netboot=nfs nfsroot=xxx.xxx.xxx.xxx:/images/ubuntu12.04/
shell
boot:Ubuntu14
kernel ${boot_url}/ubuntu/casper/vmlinuz.efi
initrd ${boot_url}/ubuntu/casper/initrd.lz
imgargs boot=casper netboot=nfs nfsroot=xxx.xxx.xxx.xxx:/images/ubuntu14.04/
boot:return
chain http://${fog-ip}/${fog-webroot}/service/ipxe/boot.php?mac=${net0/mac} ||
prompt
goto MENUautoboot[/CODE][/quote]
Rather than imgargs, place the ARGs you want on the kernel line.
TRY THIS:
[CODE]
set boot_url http://${fog-ip}/fog/service/ipxe/
set boot_nfs ${fog-ip}:/images/:MENU
menu
item Ubuntu12 Ubuntu 12.04 x64 Live
item Ubuntu14 Ubuntu 14.04 x64 Live
item return return to previous menu
choose target && goto ${target}:Ubuntu12
kernel http://xxx.xxx.xxx.xxx/fog/service/ipxe/ubuntu12/casper/vmlinuz.efi boot=casper netboot=nfs nfsroot=xxx.xxx.xxx.xxx:/images/ubuntu12.04/
initrd http://xxx.xxx.xxx.xxx/fog/service/ipxe/ubuntu12/casper/initrd.lz
shell
boot:Ubuntu14
kernel ${boot_url}/ubuntu/casper/vmlinuz.efi boot=casper netboot=nfs nfsroot=xxx.xxx.xxx.xxx:/images/ubuntu14.04/
initrd ${boot_url}/ubuntu/casper/initrd.lz
boot:return
chain http://${fog-ip}/${fog-webroot}/service/ipxe/boot.php?mac=${net0/mac} ||
prompt
goto MENUautoboot[/CODE]
-
Awesome, that got me most of the way there. Now its just messing around with kernel arguments for the two Ubuntu distros. But, I did get Xubuntu 13.04 working with the following code in case anyone else finds it useful:
[CODE]:Xubuntu 13.04
kernel ${boot_url}/xubuntu/casper/vmlinuz root=/dev/nfs/ boot=casper netboot=nfs nfsroot=xxx.xxx.xxx.xxx:/images/xubuntu/
initrd http://xxx.xxx.xxx.xxx/fog/service/ipxe/xubuntu/casper/initrd.lz
boot
[/CODE]Thanks for all the help!