Article
ENVIRONMENT:
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.
EXAMPLE:
#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 pete.demers@fairchildsemi.com
Other Suggestions
Perry Jordan
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.
Boz
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!
http://www.acpi.info/.">Advanced Configuration and Power Interface (http://www.acpi.info/.">ACPI) PC
- halacpi.dll (renamed to hal.dll)
- ntkrnlpa.exe
- ntoskrnl.exe
ACPI Uniprocessor PC
- halaacpi.dll (renamed to hal.dll)
- ntkrnlpa.exe
- ntoskrnl.exe
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!
Disclaimer: As with everything else at Cool Solutions, this content is definitely not supported by Novell (so don't even think of calling Support if you try something and it blows up).
It was contributed by a community member and is published "as is." It seems to have worked for at least one person, and might work for you. But please be sure to test, test, test before you do anything drastic with it.
Related Articles
User Comments
- Be the first to comment! To leave a comment you need to Login or Register
- 4325 reads


0