Help changing from pxelinux.0 to undionly.kpxe (Boot Menu)
-
Hi,
Since upgrading fog to version 1.1.2 we have had to change to boot options to undionly.kpxe from the previous pxelinux.0 as fog was not supporting this anymore. We had previously created a boot menu in which we had tools such as a bioseditor and recovery tools etc. along side the quick reg and full host reg task (stored within tftp>pxelinux.cfg). However now that this option has changed the menu has defaulted to ipxe boot menu and we have lost these options that had been created. I have a couple of questions around this:
-
Is it possible to copy the old iso’s for bios editor etc that where used for pxelinux.0 to new tftp folder and use for undionly.kpxe ?
-
Is the process for undionly.kpxe the same in which you still need to have a folder called pxelinux.cfg within the tftpboot folder or is now different?
If any one could shed some light on this I would be grateful as I have read around the forum and other forums and am a bit confused to the process around this.
Thank you
Scott -
-
-
sort of, there are a number of ways to do so. i recommend starting here [url]http://www.fogproject.org/wiki/index.php/Advanced_Boot_Menu_Configuration_options[/url]
-
it is entirely different. the boot menu you now see is actually a php based web page being displayed as a boot menu. it dynamically changes with tasks that have been scheduled for hosts.
-
-
Thanks for the reply - managed to get some clarity around this and have now been successful in setting up another advanced menu using the advanced boot menu configuration options. The last thing outstanding is that I would like to set a password on the advanced menu so that normal users cannot gain access - is there a way of writing this in to the code itself?
Thanks again.
-
I too had my sites all setup with PXELINUX + FOG + WDS/WIM images + a stack of other bootdisks via pxe.
The good news is it can all be linked back up by chain booting back to pxelinux or to WDS. This is what my advanced PXE menu config looks like:
menu
item --gap – ---------------- ICT SERVICES ----------------
item winpe Windows PE Ghost, Dell BIOS (via TFTP)
item icttools ICT Tools Menu
item ipxedemo iPXE Online Boot Demo
item shell iPXE Shell
item hostinfo About This Computer
item return Return to FOG Menuchoose --default hostinfo --timeout 60000 target && goto ${target}
:winpe
chain tftp://fog.XXXXXXXXXXXXX.com.au/boot/pxeboot.0
goto MENU:icttools
chain tftp://fog.XXXXXXXXXXXXX.com.au/pxelinux.0
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 MENU:hostinfo
echo ABOUT THIS COMPUTER : ||
echo ------------------------------||
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 ||
echo Press any key to return to Menu ||
prompt
goto MENUautoboot[/CODE]
Note I’m running multiple sites/TFTP/Storage nodes, so fog.XXXXXXXXXXXXX.com.au is setup with netmask ordering DNS to resolve to the local sites TFTP server
-
And I’ll also add… if you want to password protect your PXE tools from students, etc, then just select the ‘Hide Menu’ option in FOG PXE settings. I managed to totally missed that at first. Then you can press the hotkey and login with the normal FOG login
-
I missed the “hide menu” option as well first time round. It not only hides the display menu but when you hit “Esc” to get into the menu it prompts you for your fog username/password, protecting all of your menu items - including the advanced ones.
-
I’ve now added the ability to add “individual” password login settings to menu items
My current menu that is tested and working, although very minimal, is:
[code]isset ${userID} && goto do_me || goto MENU
:do_me
kernel bzImage root=/dev/ram0 rw ramdisk_size=127000 ip=dhcp dns=10.10.10.1 web=10.10.10.118/fog/ consoleblank=0 loglevel=4 type=down img=win7actsysprep ftp=10.10.10.118 imgType=n osid=7 storage=10.10.10.118:/images capone=1 imgFormat=0
imgfetch init.xz && boot || goto MENU
:MENU
menu
item --gap Please Select one of the images below
item fog.local Boot from hard disk
item d101_64 D101 Base Image (64 bit load)
item return Return to main menu
choose --default fog.local target && goto ${target}
:fog.local
sanboot --no-describe --drive 0x80 || goto MENU
:d101_64
chain -ar ${boot-url}/service/ipxe/advanced.php?login=1 || goto MENU
:return
chain http://${fog-ip}/${fog-webroot}/service/ipxe/boot.php?mac=${net0/mac} || goto MENU
autoboot[/code]Notice the :d101_64 how it has the [B]chain -ar ${boot-url}/service/ipxe/advanced.php?login=1 || goto MENU[/B] ?That’s all that’s needed to have a “login” for your menu item. Notice the top where it says :do_me? This is important to note that it’s ABOVE the menu generation part of the advanced menu setup.
As I stated, this is very basic, but a method to :sort: the different functions could be:
[code]isset ${userID} && iseq ${bootnum} 1 && goto do_me ||
isset ${userID} && iseq ${butnum} 2 && goto do_me2 ||
goto MENU
:do_me
kernel bzImage root=/dev/ram0 rw ramdisk_size=127000 ip=dhcp dns=10.10.10.1 web=10.10.10.118/fog/ consoleblank=0 loglevel=4 type=down img=win7actsysprep ftp=10.10.10.118 imgType=n osid=7 storage=10.10.10.118:/images capone=1 imgFormat=0
imgfetch init.xz && boot || goto MENU
:do_me2
kernel bzImage root=/dev/ram0 rw ramdisk_size=127000 ip=dhcp dns=10.10.10.1 web=10.10.10.118/fog/ consoleblank=0 loglevel=4 type=down img=blahblah ftp=10.10.10.118 imgType=n osid=7 storage=10.10.10.118:/images capone=1 imgFormat=0
imgfetch init.xz && boot || goto MENU
:MENU
menu
item --gap Please Select one of the images below
item fog.local Boot from hard disk
item d101_64 D101 Base Image (64 bit load)
item return Return to main menu
choose --default fog.local target && goto ${target}
:fog.local
sanboot --no-describe --drive 0x80 || goto MENU
:d101_64
set bootnum 1
chain -ar ${boot-url}/service/ipxe/advanced.php?login=1 || goto MENU
:d102_64
set bootnum 2
chain -ar ${boot-url}/service/ipxe/advanced.php?login=1 || goto MENU
:return
chain http://${fog-ip}/${fog-webroot}/service/ipxe/boot.php?mac=${net0/mac} || goto MENU
autoboot[/code]