Fog 0.33b edit PXE menu
-
-
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!
-
[quote=“domii666, post: 28421, member: 24204”]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[/quote]thx for help
-
It was a little ugly but advanced menu codes started working for me after removing
[CODE]print “console --picture http://${boot-url}/service/ipxe/bg.png --left 100 --right 80\n”;[/CODE]
from advanced.php
I put the line back in replacing “${boot-url}” with [[I]my.servers.ip.address[/I]]/fog and all was well and looking good.
-
[quote=“Eli Kelly, post: 30029, member: 1152”]It was a little ugly but advanced menu codes started working for me after removing
[CODE]print “console --picture http://${boot-url}/service/ipxe/bg.png --left 100 --right 80\n”;[/CODE]
from advanced.php
I put the line back in replacing “${boot-url}” with [[I]my.servers.ip.address[/I]]/fog and all was well and looking good.[/quote]
what version are you using?
what you’re describing a known bug in 1.0.x that was fixed in the 1.1.0 update -
[quote=“Junkhacker, post: 30030, member: 21583”]what version are you using?
what you’re describing a known bug in 1.0.x that was fixed in the 1.1.0 update[/quote]I managed to post this in the wrong thread. It has better context in and was intended for [url]http://fogproject.org/forum/threads/ipxe-advanced-menu-or-memdisk-problem.10544/page-2[/url]
To answer your question:
I did the initial install from 1.0.1 subversion 1783. After reading a post from Tom last Thursday I updated to svn 1799. When that still didn’t fix my issue I patched to svn 1801. Fog version did in fact change to 1.1.0 with eiter svn 1799 or 1801. Apparently the advanced.php file was not being updated in that process. Perhaps I missed a step but all seems well now.
-
Anybody have any idea how to add a login option to the advanced menu? Or is this not currently possible? I really need a password on some of my options, and this was really easy to add with syslinux. I can’t seem to figure it out with iPXE.
Thanks!
-
if you set the menu to hidden, a password is required to access anything, i believe.
-
This is working pretty well for me. Much credit to others on this forum who came up with most of this…
[CODE]login && goto validate || goto return
:validate
iseq ${password} yourpasswordhere && goto MENU || goto return:MENU
menu
item --gap – ---------------- iPXE boot menu ----------------
item ipxedemo ipxe online boot demo
item shell ipxe shell
item pe86 Generic WinPE x86
item lt86 MDT Lite Touch x86
item lt64 MDT Lite Touch x64
item ghost Ghost Boot
item dban Derek’s Boot and Nuke
item return return to previous menu
item hostinfo details about this computer
choose --default return --timeout 5000 target && goto ${target}:ipxedemo
chain http://boot.ipxe.org/demo/boot.php ||
goto MENU:shell
shell ||
goto MENU:pe86
initrd http://${fog-ip}/ISO/pe86.iso
chain memdisk iso raw ||
goto MENU:lt86
initrd http://${fog-ip}/ISO/lt86.iso
chain memdisk iso raw ||
goto MENU:lt64
initrd http://${fog-ip}/ISO/lt64.iso
chain memdisk iso raw ||
goto MENU:ghost
initrd http://${fog-ip}/ISO/ghost.iso
chain memdisk iso raw ||
goto MENU:dban
initrd http://${fog-ip}/ISO/dban.iso
chain memdisk iso raw ||
goto MENU:return
chain http://${fog-ip}/${fog-webroot}/service/ipxe/boot.php?mac=${net0/mac} ||
prompt
goto MENU:hostinfo
echo This computer : ||
echo MAC address…${net0/mac} ||
echo IP address…${ip} ||
echo Netmask…${netmask} ||
echo Serial…${serial} ||
echo Asset number…${asset} ||
echo Manufacturer…${manufacturer} ||
echo Product…${product} ||
echo BIOS platform…${platform} ||
echo ||
echo press any key to return to Menu ||
prompt
goto MENUautoboot
item return return to previous menu
choose --default return --timeout 5000 target && goto ${target}: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]
-
remember though, that this method is only a mild level of security being added. if anyone goes to
[FONT=Consolas][url]http://${fog-ip}/${fog-webroot}/service/ipxe/boot.php[/url][/FONT]
they will see the password in plain text -
Hi,
[quote=“Junkhacker, post: 33174, member: 21583”]if anyone goes to
[FONT=Consolas][url]http://${fog-ip}/${fog-webroot}/service/ipxe/boot.php[/url][/FONT]
they will see the password in plain text[/quote]really? a webserver should never delivery a php file contents cleartext.
Regards X23