-
Notifications
You must be signed in to change notification settings - Fork 21
Add initial support for reusing drivers as PE drivers #115
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Conversation
- Add functions to read data from driver .ini files - Copy driver files required into the PE driver folder for system devices, scsi and raid controllers, keyboards and mice
Fix an error for the DLLImport
- Filter correctly for inf-driver files - Ensure target path is created
- Cast PE driver directory creation to void to avoid unnecessary console output
First successful test run completed. I'll test the PE drivers on real hardware asap. |
- Increase the buffer reader size by 8x read longer file name lists - Fix cases in which the driver files are in subdirectories
Successful test run for Surface Laptop Go 3 (code part only). |
The regular Surface Laptop Go 3 driver folder is 2.3GB, so 200MB isn't that bad. |
- Avoid drivers that reference wdmaudio.inf or contain Smart Sound This is necessary since some larger audio drivers that want to be included can be too big for PE. And we don't need audio in the PE stage anyways.
Avoiding drivers that reference some keywords brings the size of the PE folder for the Surface Laptop Go 3 down to 19.6MB. I'll test more models later to find out if there are other unexpected sizes. |
- Expand the driver exclusion list to: wdmaudio.inf, Sound, Machine Learning, Camera, Firmware - Display the correct manufacturer by using the Provider value (if set correctly)
The list of tested devices for PE driver copy so far are:
It looks like the current code works exactly as expected so far. |
- Include HID device drivers (745a17a0-74d3-11d0-b6fe-00a0c90f57da) - These drivers should stay pretty small since they're class drivers but they're necessary for touch support
Fix HP Driver Windows Version case sensitivity
- Fixed an issue with WinPE Drivers not being added to Deployment media - Fixed an issue where Windows SKUs that include spaces in their names (e.g. Pro Education) and `$InstallApps $false`, FFU creation would fail due to the name including a space. Added a new function `Get-ShortenedWindowsSKU` to truncate the SKU for FFU name creation purposes. This required various changes throughout the script that relied on the Windows SKU for naming. - Updated version 2412.3
This PR should filter and copy the files for the PE stage. I'll test the code and add fixes as required.
@rbalsleyMSFT
This should minimize the amount of copied files for the PE stage while enabling the usage of all necessary devices.