• Recent
    • Unsolved
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Fog 0.33b edit PXE menu

    Scheduled Pinned Locked Moved
    General
    16
    67
    38.2k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • JunkhackerJ
      Junkhacker Developer
      last edited by

      [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 MENU

      autoboot[/CODE]

      signature:
      Junkhacker
      We are here to help you. If you are unresponsive to our questions, don't expect us to be responsive to yours.

      1 Reply Last reply Reply Quote 0
      • M
        madskillz23
        last edited by

        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?

        1 Reply Last reply Reply Quote 0
        • JunkhackerJ
          Junkhacker Developer
          last edited by

          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

          signature:
          Junkhacker
          We are here to help you. If you are unresponsive to our questions, don't expect us to be responsive to yours.

          1 Reply Last reply Reply Quote 0
          • M
            madskillz23
            last edited by

            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.

            1 Reply Last reply Reply Quote 0
            • Tom ElliottT
              Tom Elliott
              last edited by

              [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 MENU

              autoboot[/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 MENU

              autoboot[/CODE]

              Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

              Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

              Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

              1 Reply Last reply Reply Quote 0
              • M
                madskillz23
                last edited by

                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!

                1 Reply Last reply Reply Quote 0
                • D
                  domii666
                  last edited by

                  [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

                  1 Reply Last reply Reply Quote 0
                  • E
                    Eli Kelly
                    last edited by

                    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.

                    1 Reply Last reply Reply Quote 0
                    • JunkhackerJ
                      Junkhacker Developer
                      last edited by

                      [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

                      signature:
                      Junkhacker
                      We are here to help you. If you are unresponsive to our questions, don't expect us to be responsive to yours.

                      1 Reply Last reply Reply Quote 0
                      • E
                        Eli Kelly
                        last edited by

                        [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.

                        1 Reply Last reply Reply Quote 0
                        • L
                          Levi Smith
                          last edited by

                          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!

                          1 Reply Last reply Reply Quote 0
                          • JunkhackerJ
                            Junkhacker Developer
                            last edited by

                            if you set the menu to hidden, a password is required to access anything, i believe.

                            signature:
                            Junkhacker
                            We are here to help you. If you are unresponsive to our questions, don't expect us to be responsive to yours.

                            1 Reply Last reply Reply Quote 0
                            • E
                              Eli Kelly
                              last edited by

                              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 MENU

                              autoboot
                              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 MENU

                              autoboot[/CODE]

                              1 Reply Last reply Reply Quote 0
                              • JunkhackerJ
                                Junkhacker Developer
                                last edited by

                                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

                                signature:
                                Junkhacker
                                We are here to help you. If you are unresponsive to our questions, don't expect us to be responsive to yours.

                                1 Reply Last reply Reply Quote 0
                                • x23piracyX
                                  x23piracy
                                  last edited by

                                  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

                                  ║▌║█║▌│║▌║▌█

                                  1 Reply Last reply Reply Quote 0
                                  • JunkhackerJ
                                    Junkhacker Developer
                                    last edited by

                                    that file generates the fog boot menu, which is a plain text file generated with php
                                    [FONT=Consolas]iseq ${password} yourpasswordhere && goto MENU || goto return[/FONT]
                                    is ipxe script code in plain text

                                    signature:
                                    Junkhacker
                                    We are here to help you. If you are unresponsive to our questions, don't expect us to be responsive to yours.

                                    1 Reply Last reply Reply Quote 0
                                    • Tom ElliottT
                                      Tom Elliott
                                      last edited by

                                      In svn, I’ve added the ability to set the menu itself as either login or no login. I’m not going to work, quite yet, on the individual advanced menu password requirements.

                                      Hopefully this will help people out.

                                      Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

                                      Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                                      Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                                      1 Reply Last reply Reply Quote 0
                                      • x23piracyX
                                        x23piracy
                                        last edited by

                                        [quote=“Tom Elliott, post: 33187, member: 7271”]Hopefully this will help people out.[/quote]

                                        Works

                                        ║▌║█║▌│║▌║▌█

                                        1 Reply Last reply Reply Quote 0
                                        • L
                                          Levi Smith
                                          last edited by

                                          Thanks for the responses everyone. I really appreciate it. Hiding the menu works for the time being, but having the ability to pick and choose which menu items have it, and which don’t down the road would be most welcome.

                                          1 Reply Last reply Reply Quote 0
                                          • Tom ElliottT
                                            Tom Elliott
                                            last edited by

                                            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 chain -ar ${boot-url}/service/ipxe/advanced.php?login=1 || goto MENU ?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]

                                            Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

                                            Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                                            Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 2 / 4
                                            • First post
                                              Last post

                                            195

                                            Online

                                            12.0k

                                            Users

                                            17.3k

                                            Topics

                                            155.2k

                                            Posts
                                            Copyright © 2012-2024 FOG Project