Loading the Appropriate HAL via a single Image
Novell Cool Solutions: Tip
By Pete Demers
Digg This -
Updated: 18 Oct 2006
ZENworks 7 Boot CD or ZENworks 7 PXE environment
PROBLEM: In our environment we use a single image for our entire enterprise. In order to take advantage of Hyper-Threading or Multi Core processors we needed to be able to load the multi-processor HAL (Hardware Abstraction Layer).
SOLUTION: Using the executable 'hwinfo' in the ZENworks boot environment we can determine if the PC is SMP enabled.
Using the different HAL's described in the MS Knowledge Base article http://support.microsoft.com/kb/309283/en-us, we can create an addon image that contains the appropriate HAL. This image file can be loaded after our base image.
Computers with Hyper-Threading enabled will be evaluated as multi-core processor systems.
#Determine if the PC is SMP capable #Returned values are 0=false, 1=true #Load the appropiate HAL for the number of processors #This needs to be at the end of the script after #the base image has been applied to the PC if [ `hwinfo --smp | grep -ic 'Yes'` = "1" ]; then img rp $PROXYADDR //$PROXYADDR/vol1/image/prod/2_75/Base/halmacpi.zmg fi
If you have any questions you may contact Pete at firstname.lastname@example.org
About the issue of utilizing a single image for any type HAL-equipped XP workstation and optimizing application installation, here's how I do it.
When new hardware comes into our office, I install a fresh copy of Windows XP. I copy the files HAL.DLL and NTOSKRNL.EXE which are generated during the installation to a folder named after the appropriate HAL. I use a base image on every other PC. After imaging and before entering the OS, I boot to the Windows XP CD. I select repair a Windows installation using the Recovery Console. Within the recovery console, I copy the appropriate HAL.DLL and NTOSKRNL.EXE file to the C:\Windows\System32 folder, overwriting the existing ones. I then reboot and the PC comes up properly configured. I then reboot again, log on as a user (ZENUSER) I have setup to receive all our standard applications installed by ZENworks and sit back and relax.
While working with another user to get this solution working in his environment, Boz came across the following information that will help clarify this solution. In addition to updating the hal.dll the files ntkrnlpa.exe and ntoskrnl.exe files also need to be updated to multiprocessor support. Thanks for the info Boz!
Advanced Configuration and Power Interface (ACPI) PC
- halacpi.dll (renamed to hal.dll)
ACPI Uniprocessor PC
- halaacpi.dll (renamed to hal.dll)
ACPI Multiprocessor PC
- halmacpi.dll (renamed to hal.dll)
- ntkrpamp.exe (renamed to ntkrnlpa.exe)
- ntkrnlmp.exe (renamed to ntoskrnl.exe)
For more information look at this link!
Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com