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

PXE-less booting FOS client OS

Scheduled Pinned Locked Moved Solved
Feature Request
4
26
10.8k
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.
  • G
    george1421 Moderator @Tom Elliott
    last edited by george1421 Jun 9, 2016, 11:59 AM Jun 9, 2016, 5:58 PM

    @Tom-Elliott But it is very close to what we need. We would just have to post to the fog server that we wanted to image, refresh the hostinfo.php and then relaunch the main fog script. It sounds plausible.

    The part 2 of this is I can see is someone will want to then (next) quick image an unregistered computer like they can do today with the iPXE menus. That wouldn’t be such an easy task since we would have to then query for available images (inside FOS) update the variables and then launch the quick image function.

    [edit] Now that I think about it, except for the query image to deploy, the rest is possible without much headache.

    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!

    T 1 Reply Last reply Jun 9, 2016, 5:59 PM Reply Quote 0
    • T
      Tom Elliott @george1421
      last edited by Jun 9, 2016, 5:59 PM

      @george1421 It’s not that difficult. In fact, quick image is probably even simpler.

      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

      G 1 Reply Last reply Jun 11, 2016, 4:44 PM Reply Quote 0
      • G
        george1421 Moderator
        last edited by george1421 Jun 9, 2016, 12:27 PM Jun 9, 2016, 6:26 PM

        For this part of the PXE-less boot the FOS client, I think its a wrap (finished). There is sure some nice to haves that can be done inside the inits but for the usb and the usb booting part I think I’ve reached the end. While I’ve only tested this on a bios system, I expect it to work under uefi too.

        Here is the final grub menu for this iteration. I plan on writing a complete tutorial on how to build this usb later tonight.

        set myfogip=192.168.1.88
        set myimage=/boot/bzImage
        set myinits=/boot/init.xz
        set myloglevel=4
        set timeout=-1
        insmod all_video
        
        menuentry "1. FOG Image Deploy/Capture" {
         echo loading the kernel
         linux  $myimage loglevel=$myloglevel initrd=init.xz root=/dev/ram0 rw ramdisk_size=127000 keymap= web=$myfogip/fog/ boottype=usb consoleblank=0 rootfstype=ext4
         echo loading the virtual hard drive
         initrd $myinits
         echo booting kernel...
        }
        
        menuentry "2. Perform Full Host Registration and Inventory" {
         echo loading the kernel
         linux  $myimage loglevel=$myloglevel initrd=init.xz root=/dev/ram0 rw ramdisk_size=127000 keymap= web=$myfogip/fog/ boottype=usb consoleblank=0 rootfstype=ext4 mode=manreg
         echo loading the virtual hard drive
         initrd $myinits
         echo booting kernel...
        }
        
        menuentry "3. Quick Registration and Inventory" {
         echo loading the kernel
         linux  $myimage loglevel=$myloglevel initrd=init.xz root=/dev/ram0 rw ramdisk_size=127000 keymap= web=$myfogip/fog/ boottype=usb consoleblank=0 rootfstype=ext4 mode=autoreg
         echo loading the virtual hard drive
         initrd $myinits
         echo booting kernel...
        }
        
        menuentry "4. Client System Information (Compatibility)" {
         echo loading the kernel
         linux  $myimage loglevel=$myloglevel initrd=init.xz root=/dev/ram0 rw ramdisk_size=127000 keymap= web=$myfogip/fog/ boottype=usb consoleblank=0 rootfstype=ext4 mode=sysinfo
         echo loading the virtual hard drive
         initrd $myinits
         echo booting kernel...
        }
        
        menuentry "5. Run Memtest86+" {
         linux /boot/memdisk iso raw
         initrd /boot/memtest.bin
        }
        
        menuentry "6. FOG Debug Kernel" {
         echo loading the kernel
         linux  $myimage loglevel=7 init=/sbin/init root=/dev/ram0 rw ramdisk_size=127000 keymap= boottype=usb consoleblank=0 rootfstype=ext4 isdebug=yes
         echo loading the virtual hard drive
         initrd $myinits
         echo booting kernel...
        }
        
        

        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!

        1 Reply Last reply Reply Quote 1
        • S
          Sebastian Roth Moderator
          last edited by Sebastian Roth Jun 9, 2016, 12:45 PM Jun 9, 2016, 6:41 PM

          Great stuff you’re coming up with here @george1421! Unfortunately I didn’t have the time to read it all to the last bit. So forgive me if I am asking things you already wrote about here. How are you going to put this all together to boot from USB/ISO? Are you using grub-mkrescue as mentioned here? Just curious…

          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

          G 1 Reply Last reply Jun 9, 2016, 6:58 PM Reply Quote 0
          • G
            george1421 Moderator @Sebastian Roth
            last edited by george1421 Jun 9, 2016, 12:58 PM Jun 9, 2016, 6:58 PM

            @Sebastian-Roth No I will (probably) just modify my bash script I used to create the FOS-L usb. That seemed to be the easiest and creates both bios and uefi usb images on the same usb. I need to review that tutorial I did and then just merge in the new GRUB boot menu. Really there is no magic that goes on in the flash drive other than the grub boot menu and a few tweaks Tom did to some files in the inits, well and the hostinfo.php from another feature request. The difficult part was just gluing all of the bits together.

            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!

            1 Reply Last reply Reply Quote 2
            • G
              george1421 Moderator @Tom Elliott
              last edited by george1421 Jun 11, 2016, 10:44 AM Jun 11, 2016, 4:44 PM

              @Tom-Elliott Just thinking about the next steps here…

              I have to work on a few extra projects for my real job right now, but I’m thinking ahead a little.

              In funcs.sh, can we move the code to pickup the kernel parameters and to call hostinfo.php into its own sub function? That we can reuse and call at different points in both the init scripts and via the post install scripts? That way I can reuse that code and have a consistent way of getting the parameters.

              I could imagine a sub called getKernelParams() that could be called, and in that sub function if the ( boottype=usb ) then it would call a second function getHostInfo() to pick up the host info (that way too we can call getHostInfo() by its self to pick up the host details from the post install script(s) too (at this time I personally don’t care about the kernel parameters in the post install script, but if I did I could just call the getKernelParams instead). Then of course the /bin/fog script would need to take advantage of these new functions.

              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!

              1 Reply Last reply Reply Quote 0
              • 1
              • 2
              • 2 / 2
              2 / 2
              • First post
                24/26
                Last post

              178

              Online

              12.1k

              Users

              17.3k

              Topics

              155.4k

              Posts
              Copyright © 2012-2024 FOG Project