Add HDD Controller option to Host
-
Hi team,
I’d like to request that during the capture process, FOG looks at the BIOS/UEFI setting to see if the hard drive is set to IDE (legacy) mode or AHCI mode. Saving this with the image can help prevent boot up problems if the option gets changed.
-
Just adding my opinion - I store this and other things in the image description.
Usually something like this:
Captured with 1.3.0 RC-8 has FOG Client 0.11.5 Firmware in UEFI mode HDD in RAID mode Has Firefox, Office 2016, Chrome, VLC Needs snapins associated: activate Office Chrome Avast Meraki SmartNotebook
-
@lukebarone I think I understand the post. You want fog to record the firmware settings and then on a deploy reset the firmware setting to the captured values(??)
Unless you use Dell computers, not many hardware vendors have the tools required to read and set the firnware setting, period. On top of that the FOS engine (the operating system that captures and deploys images) is linux based. So what ever tool that may be available, its typically windows based, not linux compatible. Dell does have the cctk kit for linux that allows rhel/debian based linux to read and write to the firmware. So on the outside its possible to do. You do have to be careful since some firmware changes will only be active after a reboot. So it would be almost impossible to set/reset these setting during image deployment. It would be a cool concept if the hardware vendors supported this type of external “adjustments” of the firmware with a consistent API.
-
@george1421 I guess Luke just means reading the setting and storing it together with the other information. Then on deploy you could also read the setting on the new PC and fail or at least warn if settings don’t match. At first I was going to go with what George said about tools not being available for linux across all platforms but then I remembered a tool called
dmidecode
. While I am not sure if this will actually help I stumbled upon the information possibly being available as simple as usinglspci
.I tested three different computers (Lenovo and ACER workstation and Lenovo x230 laptop) and all gave me similar results:
# old Lenovo workstation lspci | grep AHCI 00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family SATA AHCI Controller (rev 05)
# ACER workstation lspci | grep AHCI 00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05)
# Lenovo x230 lspci | grep AHCI 00:1f.2 SATA controller: Intel Corporation 7 Series/C210 Series Chipset Family 4-port SATA Controller 1 [AHCI mode] (rev 05)
Switching the later one to IDE (compatibility) in BIOS the output changed to
[IDE mode]
when runninglspci
again. So I am pretty sure we should be able to add a detection without much fuzz. Not sure how reliable this is but to me this sounds pretty “stable” as we run a very recent kernel version. What do you think @Senior-Developers and @Developers? -
@Sebastian-Roth Great catch, I was only thinking about read/catch.
for reference this is the output from a Dell 6410 on ubuntu. Parsing the response may be tricky to get right every time.
sudo lspci | grep SATA 00:1f.2 RAID bus controller: Intel Corporation 82801 Mobile SATA Controller [RAID mode] (rev 05)
-
@george1421 Thanks for posting yours!
@lukebarone @Testers @Developers @Moderators Could you all please do the same and post here? -
On FOG Server:
lspci | grep AHCI 00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family SATA AHCI Controller (rev 04)
On Virtualbox VM (now easier for me to test things in now that Tom (thanks!) has managed to get keymaps working in debug mode):
lspci | grep SATA 00:0d.0 SATA controller: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (rev 02)
Couldn’t run it on our VPS, but that’s to be expected I think.
-
Dell e6430
lspci | grep SATA 00:1f.2 RAID bus controller: Intel Corporation 82801 Mobile SATA Controller [RAID mode] (rev 04)
-
@Sebastian-Roth I will do that on all the Dell computers we have, and post the output (sorry, working on School Startup, and dealing with the teacher laptops right now). Can I somehow use FOG to boot to a shell and run those commands? Or do I need to boot up Debian and run it from the Live environment?
-
@lukebarone Great to hear that you intend to participate in this! You can do it either way. I am pretty sure both ways should give us the same results but I’d recommend using the FOG debug mode as you are using the very same tools as would be used in the initrd later on anyway.
Schedule a task for those clients you want to check. Does not really matter if it’s an upload or deploy task. But just before you create the task check “Run as debug task”. The PC will boot up as normal into the FOG system but then drop you to a shell. The you can just run the command and post results here. Please make sure to double check when typing the results. Thanks!