mirror of
https://github.com/dockur/windows.git
synced 2026-08-04 21:17:19 +01:00
feat: Centralize image driver staging (#2045)
This commit is contained in:
+40
-27
@@ -1208,6 +1208,40 @@ addDriver() {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
selectDrivers() {
|
||||||
|
|
||||||
|
local version="$1"
|
||||||
|
local drivers="$2"
|
||||||
|
local target="$3"
|
||||||
|
|
||||||
|
local driver_list=(
|
||||||
|
qxl
|
||||||
|
viofs
|
||||||
|
sriov
|
||||||
|
smbus
|
||||||
|
qxldod
|
||||||
|
viorng
|
||||||
|
viostor
|
||||||
|
viomem
|
||||||
|
NetKVM
|
||||||
|
Balloon
|
||||||
|
vioscsi
|
||||||
|
pvpanic
|
||||||
|
vioinput
|
||||||
|
viogpudo
|
||||||
|
vioserial
|
||||||
|
qemupciserial
|
||||||
|
)
|
||||||
|
|
||||||
|
local driver
|
||||||
|
|
||||||
|
for driver in "${driver_list[@]}"; do
|
||||||
|
addDriver "$version" "$drivers" "$target" "$driver" || return 1
|
||||||
|
done
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
addDrivers() {
|
addDrivers() {
|
||||||
|
|
||||||
local src="$1"
|
local src="$1"
|
||||||
@@ -1219,8 +1253,8 @@ addDrivers() {
|
|||||||
|
|
||||||
local drivers="$tmp/drivers"
|
local drivers="$tmp/drivers"
|
||||||
|
|
||||||
rm -rf "$drivers"
|
rm -rf "$drivers" || return 1
|
||||||
mkdir -p "$drivers"
|
mkdir -p "$drivers" || return 1
|
||||||
|
|
||||||
if enabled "$log"; then
|
if enabled "$log"; then
|
||||||
local msg="Adding drivers to image..."
|
local msg="Adding drivers to image..."
|
||||||
@@ -1248,33 +1282,12 @@ addDrivers() {
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
wimlib-imagex update "$file" "$index" --command "delete --force --recursive /$target" >/dev/null || true
|
wimlib-imagex update "$file" "$index" \
|
||||||
|
--command "delete --force --recursive /$target" >/dev/null || true
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local driver
|
selectDrivers "$version" "$drivers" "$target" || return 1
|
||||||
local driver_list=(
|
|
||||||
qxl
|
|
||||||
viofs
|
|
||||||
sriov
|
|
||||||
smbus
|
|
||||||
qxldod
|
|
||||||
viorng
|
|
||||||
viostor
|
|
||||||
viomem
|
|
||||||
NetKVM
|
|
||||||
Balloon
|
|
||||||
vioscsi
|
|
||||||
pvpanic
|
|
||||||
vioinput
|
|
||||||
viogpudo
|
|
||||||
vioserial
|
|
||||||
qemupciserial
|
|
||||||
)
|
|
||||||
|
|
||||||
for driver in "${driver_list[@]}"; do
|
|
||||||
addDriver "$version" "$drivers" "$target" "$driver" || return 1
|
|
||||||
done
|
|
||||||
|
|
||||||
local dst="$src/\$OEM\$/\$\$/Drivers"
|
local dst="$src/\$OEM\$/\$\$/Drivers"
|
||||||
mkdir -p "$dst" || return 1
|
mkdir -p "$dst" || return 1
|
||||||
@@ -1283,7 +1296,7 @@ addDrivers() {
|
|||||||
# Install the VirtIO display driver explicitly from SetupComplete.cmd so it
|
# Install the VirtIO display driver explicitly from SetupComplete.cmd so it
|
||||||
# cannot disrupt Windows Setup by loading through the WinPE driver path.
|
# cannot disrupt Windows Setup by loading through the WinPE driver path.
|
||||||
if ! isLegacy "$version"; then
|
if ! isLegacy "$version"; then
|
||||||
rm -rf "$dest/viogpudo"
|
rm -rf "$dest/viogpudo" || return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -n "$file" ]; then
|
if [ -n "$file" ]; then
|
||||||
|
|||||||
Reference in New Issue
Block a user