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

    Automatic hardware detection & driver installs in FOG

    Scheduled Pinned Locked Moved Solved
    General
    10
    37
    23.9k
    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.
    • A
      Andrew Single
      last edited by

      I built a script with FOG .33 that copied drivers from a central store as a part of the imaging process based on the BIOS model identifier.

      I’ve finally had some time to play with FOG 1.2, and I’m making the following adjustments to my script:

      -I’m using the postdownloadscripts folder to add the scripts required without having to edit the init.xz file
      -I’ve changed the script from using the BIOS model # to using lspci & lsusb to enumerate the PCI & USB devices detected on the machine and then pull those specific drivers.

      What this means, is that we can develop a community driver library over rsync that allows people to build universal images where FOG does the work of installing the correct driver.

      [url]http://www.fogproject.org/wiki/index.php/Auto_driver_Install[/url]

      Attached are the two script files. Machinedrivers is called from DriverInstall. Rename to .sh make executable.

      [url=“/_imported_xf_attachments/1/1471_DriverInstall.txt?:”]DriverInstall.txt[/url][url=“/_imported_xf_attachments/1/1472_machinedrivers.txt?:”]machinedrivers.txt[/url]

      1 Reply Last reply Reply Quote 0
      • A
        Andrew Single
        last edited by

        Looks like I can parse dmesg to get the pnp device ID of SMO8810 for the freefall sensor. Adding PNP drivers to the script.

        1 Reply Last reply Reply Quote 0
        • V
          VincentJ Moderator
          last edited by

          This sounds great 🙂

          I’ll be keeping an eye for when you post your script.

          🙂

          1 Reply Last reply Reply Quote 0
          • A
            Andrew Single
            last edited by

            Okay, the script is now posted, along with documentation in: [url]http://www.fogproject.org/wiki/index.php/Auto_driver_Install[/url]

            Please keep in mind that I only updated from FOG .33 to 1.2 3 days ago, and that this script is a complete re-write from what I used to use. I’ve tested it locally on a couple of different systems, and it seems to be running cleanly, but test this script in your environment before going crazy with it, and please post comments on any issues you have.

            A similar script in .33 is how Frontier School Division keeps thousands of mostly Dell computers in 40 separate locations imaged with minimal management effort (6 network administrators). We have two Image files and a driver repository that we maintain centrally. Each of the remote FOG servers sync from the central driver store with rsync.

            Any time we encounter a computer that has a missing driver post imaging, we simply add that driver to the central store, and re-image the computer. When we order machines in mass from Dell, we supply them with a list of computer names, and they send back a csv with the computer name to MAC address list, and they add an asset sticker to the systems. If it’s a new model to us, I have Dell send one machine to my office where I image, and add any drivers required to the central store. I then import the CSV into FOG, assign the image, and create the imaging task.

            At the school, we arrange for the systems to be unboxed, plugged in and turned on. The systems boot, image, join the domain and are ready to use. FOG is an amazing project that saves us a ton of time and effort.

            1 Reply Last reply Reply Quote 0
            • L
              LibraryMark
              last edited by

              Andrew - this looks like great work. I have a question - when you say

              [CODE]
              You’ll see something like PCI\VEN_XXXX&Dev_YYYY&SUBSYS_ZZZZ… or USB\VID_XXXX&PID_YYYY or ACPI\XXXXXXXXX

              You take the driver for that device, and place it in a folder of /images/drivers/XXXX/YYYY.
              

              [/CODE]

              What files do I place in the folder? The files in the “driver file details” window? If so, is there a better way to get that file list?

              Thanks -

              Library Mark

              1 Reply Last reply Reply Quote 0
              • A
                Andrew Single
                last edited by

                It depends on the driver. Usually, you just need the folder from the driver that has the .inf for the device. (Copy the entire folder contents, not just the .inf file) You can test that driver by going to a machine that doesn’t have the driver installed, and doing an “update driver” in task manager, and pointing to the folder. If it installs, you should be good.

                For some devices, the driver is an .exe that you can launch with a silent install command. In that case, the driver folder should have the exe, any associated files, and a drvinstall.bat file as per [url]http://www.fogproject.org/wiki/index.php/Auto_driver_Install#Adding_Silent_Install_drivers[/url]

                1 Reply Last reply Reply Quote 0
                • V
                  Van den Bossche Martial
                  last edited by

                  Hey Andrew, I really like this work but I like to do it more simple.
                  As we are only using DELL machines at our school I can get cab files containing all drivers per model. I extract these files under /images/drivers/<modelname> and copy the appropriate directory to the client. So I’ve changed your driverinstall.sh a bit to copy these extracted drivers and the folder common to c:\Drivers. I’ ve also changed the registry key in the client image to resemble this:
                  HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\DevicePath: REG_EXPAND_SZ:%SystemRoot%\Inf;c:\Drivers

                  So windows checks c:\drivers for drivers before going to the internet when installing hardware after the client has been imaged.

                  This should make it all a bit easier and you don’t need the machinedrivers.sh BUT and here is the question: my script does not seem to run.
                  I’m running fog on ubuntu and placed my scripts in /images/postdownloadscripts on the server. And I’ve made them executable. I don’t know how these scripts are called by FOG, I guess it checks for fog.postdownload in /images/postdownloadscripts and executes that file? In my case it only contains:


                  #!/bin/sh

                  This file serves as a starting point to call your custom postimaging scripts.

                  <SCRIPTNAME> should be changed to the script you’re planning to use.

                  Syntax of post download scripts are

                  #. ${postdownpath}<SCRIPTNAME>
                  ${postdownpath}/driverinstall.sh


                  So I’d like to do some debugging, can I append the output to a file changing this script like this:
                  ${postdownpath}/driverinstall.sh >> /images/drivers/postdownloadscripts.log because I tried this but with no result.

                  Are there perhaps problems with these scripts privileges?
                  Maybe you can give me some tips on how to better troubleshoot?

                  anyway I like what you’ve done and I will keep searching myself for a solution 🙂

                  Txs!

                  1 Reply Last reply Reply Quote 0
                  • Lee RowlettL
                    Lee Rowlett Developer
                    last edited by

                    init contains cabextract so you don’t even need to extract the cabs if you want to go down the model route

                    1 Reply Last reply Reply Quote 0
                    • Lee RowlettL
                      Lee Rowlett Developer
                      last edited by

                      #!/bin/sh

                      ceol=tput el;
                      machine=dmidecode -s system-product-name;
                      machine=“${machine%”${machine##[![:space:]]}“}” #Removes Trailing Space
                      if [ $osid == “5” ]; then
                      osn=“Win7”
                      elif [ $osid == “6” ]; then
                      osn=“Win8”
                      elif [ $osid == “7” ]; then
                      osn=“Win8.1”
                      fi
                      dots “Downloading Drivers”;
                      mkdir /ntfs/Windows/DRV &>/dev/null;
                      echo -n “In Progress”;
                      cabextract -d /ntfs/Windows/DRV “/fog/Drivers/$osn/${machine}”/
                      .CAB &>/dev/null;
                      echo -e “\b\b\b\b\b\b\b\b\b\b\b${ceol}Done”;
                      regfile=“/ntfs/Windows/System32/config/SOFTWARE”
                      key=“\Microsoft\Windows\CurrentVersion\DevicePath”
                      devpath=“%SystemRoot%\inf;%SystemRoot%\DRV”
                      reged -e “$regfile” &>/dev/null <<EOFREG
                      ed $key
                      $devpath
                      q
                      y
                      EOFREG

                      code above will do what you want - change the paths to match your environment or wherever you want to store the cabs but using code example above. you’d put a copy of the cab into /fog/Drivers/Win7/OptiPlex 7010 for example then it will extract the cab and drivers will be installed during sysprep… shouldn’t need any postscripts

                      1 Reply Last reply Reply Quote 0
                      • V
                        Van den Bossche Martial
                        last edited by

                        Great, thanks for the quick reply I will try this!

                        1 Reply Last reply Reply Quote 0
                        • G
                          giejo63
                          last edited by

                          Hello
                          Thanks for this great work
                          Where can we get the 2 scripts ? (machinedrivers.sh and driverinstall.sh) the link in: http://www.fogproject.org/wiki/index.php/Auto_driver_Install is broken

                          Can you repost it ?
                          Thanks in advance !

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

                            @giejo63
                            Link redirect in WIKI http://tinyurl.com/qe58fo2

                            driverinstall.sh -> http://tinyurl.com/qxuxsnj
                            machinedrivers.sh -> http://tinyurl.com/oqtymea

                            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 Reply Quote 0
                            • G
                              giejo63 @Tom Elliott
                              last edited by

                              @Tom-Elliott said:

                              @giejo63
                              Link redirect in WIKI http://tinyurl.com/qe58fo2

                              driverinstall.sh -> http://tinyurl.com/qxuxsnj
                              machinedrivers.sh -> http://tinyurl.com/oqtymea

                              Sorry but the links doesnt work ?
                              i can’t access to them

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

                                It works for me. My guess, somebody is filtering the link at your site.

                                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 Reply Quote 0
                                • G
                                  giejo63 @Tom Elliott
                                  last edited by

                                  @Tom-Elliott said:

                                  It works for me. My guess, somebody is filtering the link at your site.

                                  no i’m not filtered…
                                  I’ve tried from work, from home, from my phone
                                  or maybe the site is unavailable for France …

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

                                    That could be a possibility.

                                    Are you able to access:
                                    https://rightclick.fsdnet.ca/display/

                                    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 Reply Quote 0
                                    • G
                                      giejo63 @Tom Elliott
                                      last edited by

                                      @Tom-Elliott

                                      @Tom-Elliott said:

                                      That could be a possibility.

                                      Are you able to access:
                                      https://rightclick.fsdnet.ca/display/

                                      no…
                                      neither from work or from smartphone.
                                      Thanks for your help !

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

                                        @giejo63 give me a few minutes and I’ll host the files for you.

                                        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
                                        • G
                                          giejo63
                                          last edited by

                                          @Tom-Elliott said:

                                          @giejo63 give me a few minutes and I’ll host the files for you.

                                          Thanks in advance !!

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

                                            http://tinyurl.com/q4pta4s machinedrivers

                                            http://tinyurl.com/oy5pdm4 driverinstall

                                            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 Reply Quote 0
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • First post
                                              Last post

                                            157

                                            Online

                                            12.0k

                                            Users

                                            17.3k

                                            Topics

                                            155.2k

                                            Posts
                                            Copyright © 2012-2024 FOG Project