Automatic hardware detection & driver installs in FOG
-
@Tom-Elliott said:
@giejo63
Link redirect in WIKI http://tinyurl.com/qe58fo2driverinstall.sh -> http://tinyurl.com/qxuxsnj
machinedrivers.sh -> http://tinyurl.com/oqtymeaSorry but the links doesnt work ?
i can’t access to them -
It works for me. My guess, somebody is filtering the link at your site.
-
@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 … -
That could be a possibility.
Are you able to access:
https://rightclick.fsdnet.ca/display/ -
@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 ! -
@giejo63 give me a few minutes and I’ll host the files for you.
-
@Tom-Elliott said:
@giejo63 give me a few minutes and I’ll host the files for you.
Thanks in advance !!
-
http://tinyurl.com/q4pta4s machinedrivers
http://tinyurl.com/oy5pdm4 driverinstall
-
@Tom-Elliott said:
http://tinyurl.com/q4pta4s machinedrivers
http://tinyurl.com/oy5pdm4 driverinstall
It works
Thanks a lot ! -
Hi,
My postdownloadscript driverinstall.sh is executable (chmod a+x) i’ve modified fog.postdownload but after image deployment (successfully) it doesn’t seem to run fog.postdownlad and driverinstall.sh .
So nothing is put inside c:\Drivers (i ve put some drivers)Any ideas ?
-
@Lee-Rowlett said:
#!/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
EOFREGcode 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
@Lee-Rowlett - Where is it this script is supposed to be placed on the server and its name?
-
@ArchFan
Under: /images/postdownloadscripts/
Name: driverinstall.shJust make sure you call the script from fog.postdownload
${postdownloadpath}/driverinstall.sh
-
@cml said:
@ArchFan
Under: /images/postdownloadscripts/
Name: driverinstall.shJust make sure you call the script from fog.postdownload
${postdownloadpath}/driverinstall.sh
Shouldn’t entering
echo ${postdownloadpath}/driverinstall.sh
on the server output /images/postdownloadscripts/driverinstall.sh, or no? I was having some issues at first and ended up putting the absolute path to rule that out as an issue -
@ArchFan I don’t think so. Not on the server. The client/host during imaging or in the init process itself, yes, the server no.
-
@Tom-Elliott said:
@ArchFan I don’t think so. Not on the server. The client/host during imaging or in the init process itself, yes, the server no.
Gotcha - I’ve had some other issues getting it to work as intended, so it probably wasn’t an issue after all. Thanks Tom
-
@giejo63 I’m running into the same issues. I have a sysprepped Win 7 image that has the C:\drivers location set to look for drivers. I have the drivers on the FOG server in /images/drivers and the scripts are executable. The postdownload file is set to run the script, and I have SetupComplete.cmd on the image set as described in Andrew’s wiki page.
Anyone have some ideas?
-
Feeling pretty discouraged at the moment
My postdownloadscript works perfectly unless I use variables, at which point it no longer works. You can see a few of the things I’ve attempted and commented out. Even using ${postdownloadpath} doesn’t seem to work - I can only call my postdownload script if I specify the absolute path. My cabs are in /images/drivers/Win7/. So for the Optiplex 9020M, the location is /images/drivers/Win7/Optiplex 9020M/*.CAB - I’ve also tried Optiplex9020M - still doesn’t work. I’m on Rev 3606, Debian 7
The only things in /images/postdownloadscripts are fog.postdownload and driverinstall.sh. Permissions on both are 777
Contents of fog.postdownload:
#!/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> #. ${postdownloadpath}driverinstall.sh . /images/postdownloadscripts/driverinstall.sh
Contents of driverinstall.sh:
#!/bin/sh #This script was adapted from Lee Rowlett's fog.drivers postdownload script (https://forums.fogproject.org/topic/4278/utilizing-postscripts-rename-joindomain-drivers-$ #This script assumes your image has been modified to look in C:\Windows\Drivers in addition to the default location for Windows drivers (http://technet.microsoft.com/$ #Make sure this script is called from your fog.postdownload file by adding ${postdownloadpath}/driverinstall.sh to the /images/postdownloadscripts/fog.postdownload fi$ mkdir /ntfs &>/dev/null; #Create new directory called ntfs and supress any system or error messages mount.ntfs-3g /dev/sda2 /ntfs; #Mount the NTFS Windows OS partition to the new ntfs directory machine=`dmidecode -s system-product-name`; #Get the model name of the computer being imaged #machine=$(dmidecode -s system-product-name) #machine=$(echo $machine | tr -d ' ') #Remove the trailing spaces from the model info #Get the OS version info and set it equal to the osn variable for later use #if [ $osid == "5" ]; then osn="Win7" #elif [ $osid == "6" ]; then #osn="Win8" #elif [ $osid == "7" ]; then #osn="Win8.1" #fi #osn="Win7" mkdir /ntfs/Windows/Drivers &>/dev/null; #Create the C:\Windows\Drivers directory and supress any system or error messages echo -e "Extracting Drivers..."; #Tell the user that FOG is extracting the drivers within C:\Windows\Drivers #cabextract -d /ntfs/Windows/Drivers "/images/drivers/$osn/Optiplex9020M/9020M-Win7-A04-JG7GH.CAB" &>/dev/null; cabextract -d /ntfs/Windows/Drivers "/images/drivers/$osn/$machine"/*.CAB &>/dev/null echo -e "DONE!"; #Tell the user that FOG has finished copying the drivers and finish the imaging process
-
@MRCUR Still no luck for me
image is correctly deployed but fog.postdownload doesn’t seem to run…
i don’t know why … -
Debugging i found 2 problems:
-
${postdownloadpath} variable is not recognized
-
when i put the full path /images/postdownloadscripts/driverinstall.sh, i have an error which says that /bin/bash^M: bad interpreter. -> i dont have any ^M at the end of the line.
Any ideas for the variable and bad interpreter ??
Thanks in advance -
-
Did you by chance transfer the file from a windows machine? If so you may need to convert line endings.
dos2unix /images/postdownloadscripts/driverinstall.sh