Jump to content

[Question] - How to modify HAL for imaging....?


chiners_68

Recommended Posts


While there is no standard/official way to do it, you can switch certain HAL's if you are crafty enough. I personally don't bother with it, but I have seen several solutions. The most common one I've seen is to somehow have a script that manually replaces the HAL.DLL with the correct version. How does it determine the correct version? Well most examples I've seen run from a menu of sorts (.BAT, AutoIT, etc) and you must select the appropriate HAL. I also seem to recall someone using WMI for this, but that would require the use of something like BartPE or WinPE to run the script from.

In the end, it seems like it's just easier to not worry about it. Since I never did it I don't have any of the scripts, but I'm sure someone here does. Or you could just create your own. I think the key is that you have to replace it as early as possible, and it has to be in the same class...either all ACPI or all Non-ACPI. Since you say you want all ACPI then you should be good to go. I recommend changing the driver to the most universal HAL (ACPI PC) before imaging...then afterwards you can impliment a method to change it to it's proper HAL.

And here is another thread I posted to that dealt with the same issue:

http://www.msfn.org/board/index.php?showtopic=57508

Try searching the forum, there is bound to be several other posts like this one, and one may have your answer. Good luck!

Link to comment
Share on other sites

I don't know exactly what your machines are, but I can tell you that I have an image that works on different HALS.

However, all the machines I work with are ACPI and either Uniprocessor or Multiprocessor.

I learned that as long as you make your base on a Multiprocessor machine, then add this line to your sysprep.ini top section :

UpdateUPHAL="ACPIAPIC_UP,%WINDIR%\Inf\Hal.inf"

All is well ! When you shoot down this sysprepped image, upon all the sysprep stages, windows will properly reassign your HAL to halaacpi or halmacpi as it sees fit.

Dunno if this helps you any.

Also, people discussed drivers in the other thread...the way I was taught to deal with drivers for different machines is to create a batch file where you choose from a list, what kind of machine you are installing on. I understand this does mean somebody has to be at the computer, but with some work its easy to have all the proper drivers loaded up. The batch file I use is triggered by cmdlines.txt.

I'm trying to work on a way to have all the drivers automatically installed with a trial and error method, using the OemPnPDriverspath, and then from there have the machine automatically read registry files to determine exactly what type of box it is to finish up the installations (we use old HPs up to modern HPs and now some Dells, so obviously there are different BIOS updates to be done etc).

Oh ! after reading over this i just remembered. As you see in the line that I added to the sysprep.ini, it refers to a directory and an inf file.

In that directory you need to copy over the following files :

hal.dll

halacpi.dll

halmacpi.dll

ntkrnlmp.exe

ntkrnlpa.exe

ntkrpamp.exe

ntoskrnl.exe

You can find these on your machine currently, Off the top of my head I don't recall exactly which directory. Im sure the search function can be your friend.

Now you won't necessarily use all of those files (unless one of your machines has over 4gb of RAM !?) but it doesn't really hurt to have them all available there.

Link to comment
Share on other sites

if the machines im using are SP1a should I use the HAL from that CD or can I use the HALS from SP2.?

Also, is the multiprocessor related to more than one actual processor internally on one PC or are they relating to multiple machines called processors.?I would presume the first one but i hve heard a machine be called a processor.

Link to comment
Share on other sites

I've been working only with XP workstations that have SP2, so I can't say for certain on that one.

I understand the multiprocessor as such, both of these count as multiprocessor machines :

- A pc with a Hyperthreading enabled processor

- A pc with two physical processors inside

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...