mirror of
https://github.com/bin456789/reinstall.git
synced 2025-07-08 03:59:53 +00:00
Compare commits
No commits in common. "daa835dddc42381dd6a03fab80d446d99598d791" and "dd1b3abbfde0a66da779daa040430c0be7e61d79" have entirely different histories.
daa835dddc
...
dd1b3abbfd
@ -395,7 +395,7 @@ bash reinstall.sh windows \
|
|||||||
|
|
||||||
#### The following drivers will automatic download and install as needed, without the need for manual addition
|
#### The following drivers will automatic download and install as needed, without the need for manual addition
|
||||||
|
|
||||||
- Virtio ([Virtio][virtio-virtio], [Alibaba Cloud][virtio-aliyun], [Tencent Cloud][virtio-qcloud], [GCP][virtio-gcp])
|
- Virtio ([Virtio][virtio-virtio],[Alibaba Cloud][virtio-aliyun])
|
||||||
- XEN ([~~XEN~~][xen-xen] (unsigned), [Citrix][xen-citrix], [AWS][xen-aws])
|
- XEN ([~~XEN~~][xen-xen] (unsigned), [Citrix][xen-citrix], [AWS][xen-aws])
|
||||||
- AWS ([ENA Network Adapter][aws-ena], [NVME Storage Controller][aws-nvme])
|
- AWS ([ENA Network Adapter][aws-ena], [NVME Storage Controller][aws-nvme])
|
||||||
- GCP ([gVNIC Network Adapter][gcp-gvnic], [GGA Display Adapter][gcp-gga])
|
- GCP ([gVNIC Network Adapter][gcp-gvnic], [GGA Display Adapter][gcp-gga])
|
||||||
@ -404,8 +404,6 @@ bash reinstall.sh windows \
|
|||||||
|
|
||||||
[virtio-virtio]: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/
|
[virtio-virtio]: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/
|
||||||
[virtio-aliyun]: https://www.alibabacloud.com/help/ecs/user-guide/install-the-virtio-driver-1
|
[virtio-aliyun]: https://www.alibabacloud.com/help/ecs/user-guide/install-the-virtio-driver-1
|
||||||
[virtio-qcloud]: https://cloud.tencent.com/document/product/213/17815#b84b2032-752c-43c4-a509-73530b8f82ff
|
|
||||||
[virtio-gcp]: https://console.cloud.google.com/storage/browser/gce-windows-drivers-public
|
|
||||||
[xen-xen]: https://xenproject.org/resources/downloads/
|
[xen-xen]: https://xenproject.org/resources/downloads/
|
||||||
[xen-aws]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/xen-drivers-overview.html
|
[xen-aws]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/xen-drivers-overview.html
|
||||||
[xen-citrix]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Upgrading_PV_drivers.html#win2008-citrix-upgrade
|
[xen-citrix]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Upgrading_PV_drivers.html#win2008-citrix-upgrade
|
||||||
|
@ -395,7 +395,7 @@ bash reinstall.sh windows \
|
|||||||
|
|
||||||
#### 以下驱动会自动按需下载安装,无需手动添加
|
#### 以下驱动会自动按需下载安装,无需手动添加
|
||||||
|
|
||||||
- Virtio ([Virtio][virtio-virtio], [阿里云][virtio-aliyun], [腾讯云][virtio-qcloud], [GCP][virtio-gcp])
|
- Virtio ([Virtio][virtio-virtio],[阿里云][virtio-aliyun])
|
||||||
- XEN ([~~XEN~~][xen-xen] (未签名), [Citrix][xen-citrix], [AWS][xen-aws])
|
- XEN ([~~XEN~~][xen-xen] (未签名), [Citrix][xen-citrix], [AWS][xen-aws])
|
||||||
- AWS ([ENA 网卡][aws-ena], [NVME 存储控制器][aws-nvme])
|
- AWS ([ENA 网卡][aws-ena], [NVME 存储控制器][aws-nvme])
|
||||||
- GCP ([gVNIC 网卡][gcp-gvnic], [GGA 显卡][gcp-gga])
|
- GCP ([gVNIC 网卡][gcp-gvnic], [GGA 显卡][gcp-gga])
|
||||||
@ -404,8 +404,6 @@ bash reinstall.sh windows \
|
|||||||
|
|
||||||
[virtio-virtio]: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/
|
[virtio-virtio]: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/
|
||||||
[virtio-aliyun]: https://www.alibabacloud.com/help/ecs/user-guide/install-the-virtio-driver-1
|
[virtio-aliyun]: https://www.alibabacloud.com/help/ecs/user-guide/install-the-virtio-driver-1
|
||||||
[virtio-qcloud]: https://cloud.tencent.com/document/product/213/17815#b84b2032-752c-43c4-a509-73530b8f82ff
|
|
||||||
[virtio-gcp]: https://console.cloud.google.com/storage/browser/gce-windows-drivers-public
|
|
||||||
[xen-xen]: https://xenproject.org/resources/downloads/
|
[xen-xen]: https://xenproject.org/resources/downloads/
|
||||||
[xen-aws]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/xen-drivers-overview.html
|
[xen-aws]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/xen-drivers-overview.html
|
||||||
[xen-citrix]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Upgrading_PV_drivers.html#win2008-citrix-upgrade
|
[xen-citrix]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Upgrading_PV_drivers.html#win2008-citrix-upgrade
|
||||||
|
@ -7,13 +7,6 @@ set -eE
|
|||||||
|
|
||||||
# openeuler 需等待 udev 将网卡名从 eth0 改为 enp3s0
|
# openeuler 需等待 udev 将网卡名从 eth0 改为 enp3s0
|
||||||
sleep 10
|
sleep 10
|
||||||
# 不知道有没有用
|
|
||||||
if command -v udevadm >/dev/null; then
|
|
||||||
# udevadm trigger
|
|
||||||
udevadm settle
|
|
||||||
elif command -v mdev >/dev/null; then
|
|
||||||
mdev -sf
|
|
||||||
fi
|
|
||||||
|
|
||||||
# 本脚本在首次进入新系统后运行
|
# 本脚本在首次进入新系统后运行
|
||||||
# 将 trans 阶段生成的网络配置中的网卡名(eth0) 改为正确的网卡名,也适用于以下情况
|
# 将 trans 阶段生成的网络配置中的网卡名(eth0) 改为正确的网卡名,也适用于以下情况
|
||||||
|
138
trans.sh
138
trans.sh
@ -5136,8 +5136,6 @@ get_cloud_vendor() {
|
|||||||
echo huawei
|
echo huawei
|
||||||
elif is_dmi_contains 'Alibaba Cloud'; then
|
elif is_dmi_contains 'Alibaba Cloud'; then
|
||||||
echo aliyun
|
echo aliyun
|
||||||
elif is_dmi_contains 'Tencent Cloud'; then
|
|
||||||
echo qcloud
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5420,25 +5418,9 @@ install_windows() {
|
|||||||
if is_virt_contains virtio; then
|
if is_virt_contains virtio; then
|
||||||
if [ "$vendor" = aliyun ] && is_nt_ver_ge 6.1 && [ "$arch_wim" = x86_64 ]; then
|
if [ "$vendor" = aliyun ] && is_nt_ver_ge 6.1 && [ "$arch_wim" = x86_64 ]; then
|
||||||
add_driver_aliyun_virtio
|
add_driver_aliyun_virtio
|
||||||
elif [ "$vendor" = qcloud ] && is_nt_ver_ge 6.1 && [ "$arch_wim" = x86_64 ]; then
|
|
||||||
add_driver_qcloud_virtio
|
|
||||||
# 未测试是否需要专用驱动
|
# 未测试是否需要专用驱动
|
||||||
elif false && [ "$vendor" = huawei ] && is_nt_ver_ge 6.0 && { [ "$arch_wim" = x86 ] || [ "$arch_wim" = x86_64 ]; }; then
|
elif false && [ "$vendor" = huawei ] && is_nt_ver_ge 6.0 && { [ "$arch_wim" = x86 ] || [ "$arch_wim" = x86_64 ]; }; then
|
||||||
add_driver_huawei_virtio
|
add_driver_huawei_virtio
|
||||||
|
|
||||||
# gcp 官方驱动不全,需要用公版补全
|
|
||||||
elif [ "$vendor" = gcp ] && [ "$nt_ver" = 6.1 ] && [ "$arch_wim" = x86_64 ]; then
|
|
||||||
add_driver_gcp_virtio_win6_1_sha1_x64
|
|
||||||
add_driver_generic_virtio \( -iname viorng.inf -or -iname balloon.inf \)
|
|
||||||
|
|
||||||
elif [ "$vendor" = gcp ] && is_nt_ver_ge 6.2 && [ "$arch_wim" = x86 ]; then
|
|
||||||
add_driver_gcp_virtio
|
|
||||||
add_driver_generic_virtio \( -iname viorng.inf -or -iname pvpanic.inf \)
|
|
||||||
|
|
||||||
elif [ "$vendor" = gcp ] && is_nt_ver_ge 6.2 && [ "$arch_wim" = x86_64 ]; then
|
|
||||||
add_driver_gcp_virtio
|
|
||||||
add_driver_generic_virtio -iname viorng.inf
|
|
||||||
|
|
||||||
else
|
else
|
||||||
# 兜底
|
# 兜底
|
||||||
add_driver_generic_virtio
|
add_driver_generic_virtio
|
||||||
@ -5771,7 +5753,7 @@ EOF
|
|||||||
mount -o ro $drv/virtio.iso $drv/virtio
|
mount -o ro $drv/virtio.iso $drv/virtio
|
||||||
|
|
||||||
# -not -ipath "*/balloon/*"
|
# -not -ipath "*/balloon/*"
|
||||||
cp_drivers $drv/virtio -ipath "*/$virtio_sys/$arch/*" "$@"
|
cp_drivers $drv/virtio -ipath "*/$virtio_sys/$arch/*"
|
||||||
else
|
else
|
||||||
# coreutils 的 cp mv rm 才有 -v 参数
|
# coreutils 的 cp mv rm 才有 -v 参数
|
||||||
apk add 7zip file coreutils
|
apk add 7zip file coreutils
|
||||||
@ -5817,54 +5799,10 @@ EOF
|
|||||||
mv -v "$file" "$new_file"
|
mv -v "$file" "$new_file"
|
||||||
done
|
done
|
||||||
)
|
)
|
||||||
cp_drivers $drv/virtio "$@"
|
cp_drivers $drv/virtio
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
add_driver_qcloud_virtio() {
|
|
||||||
info "Add drivers: QCloud virtio"
|
|
||||||
|
|
||||||
# 测试版?
|
|
||||||
# https://mirrors.tencent.com/install/cts/windows/Drivers.zip
|
|
||||||
|
|
||||||
apk add 7zip
|
|
||||||
download https://mirrors.tencent.com/install/windows/virtio_64_1.0.9.exe $drv/virtio.exe
|
|
||||||
exclude='$*' # 排除 $PLUGINSDIR
|
|
||||||
override=u # A(u)to rename all
|
|
||||||
7z x $drv/virtio.exe -o$drv/qcloud/ -ao$override -x!$exclude
|
|
||||||
|
|
||||||
# balloon 6.2
|
|
||||||
# balloon_1 6.1
|
|
||||||
|
|
||||||
# netkvm 10.0
|
|
||||||
# netkvm_1 6.1
|
|
||||||
# netkvm_2 6.3
|
|
||||||
|
|
||||||
# viostor 10.0
|
|
||||||
# viostor_1 6.1
|
|
||||||
# viostor_2 6.2
|
|
||||||
|
|
||||||
drivers=$(
|
|
||||||
case "$nt_ver" in
|
|
||||||
6.1) echo balloon_1 netkvm_1 viostor_1 ;; # sha1
|
|
||||||
6.2) echo balloon netkvm_1 viostor_2 ;;
|
|
||||||
6.3) echo balloon netkvm_2 viostor_2 ;;
|
|
||||||
*) echo balloon netkvm viostor ;;
|
|
||||||
esac
|
|
||||||
)
|
|
||||||
|
|
||||||
for old_name in $drivers; do
|
|
||||||
part=${old_name%%_*}
|
|
||||||
if ! [ "$old_name" = "$part" ]; then
|
|
||||||
find $drv/qcloud/$part -type f -iname "$old_name.*" | while read -r file; do
|
|
||||||
ext="${file##*.}"
|
|
||||||
mv -v "$file" "$drv/qcloud/$part/$part.$ext"
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
cp_drivers $drv/qcloud/$part/$part.inf
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
add_driver_huawei_virtio() {
|
add_driver_huawei_virtio() {
|
||||||
info "Add drivers: Huawei virtio"
|
info "Add drivers: Huawei virtio"
|
||||||
|
|
||||||
@ -5949,83 +5887,35 @@ EOF
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# gcp virtio win7 x64
|
|
||||||
# 缺 balloon viorng
|
|
||||||
add_driver_gcp_virtio_win6_1_sha1_x64() {
|
|
||||||
info "Add drivers: GCP virtio win6.1 sha1 x64"
|
|
||||||
|
|
||||||
mkdir -p $drv/gce/win6.1sha1
|
|
||||||
for file in \
|
|
||||||
WdfCoInstaller01009.dll WdfCoInstaller01011.dll \
|
|
||||||
netkvm.inf netkvm.cat netkvm.sys netkvmco.dll \
|
|
||||||
nvme.inf nvme64.cat nvme.sys \
|
|
||||||
pvpanic.inf pvpanic.sys pvpanic.cat \
|
|
||||||
vioscsi.inf vioscsi.sys vioscsi.cat; do
|
|
||||||
download https://storage.googleapis.com/gce-windows-drivers-public/win6.1sha1/$file $drv/gce/win6.1sha1/$file
|
|
||||||
done
|
|
||||||
cp_drivers $drv/gce/win6.1sha1
|
|
||||||
}
|
|
||||||
|
|
||||||
# gcp virtio win8+
|
|
||||||
# x86 缺 viorng pvpanic
|
|
||||||
# x64 缺 viorng
|
|
||||||
# https://github.com/GoogleCloudPlatform/compute-image-tools/tree/master/daisy_workflows/image_build/windows
|
|
||||||
# 官方是从 https://console.cloud.google.com/storage/browser/gce-windows-drivers-public 下载驱动,安装系统后再 googet 更新驱动
|
|
||||||
# 我们一步到位从 googet 下载驱动
|
|
||||||
add_driver_gcp_virtio() {
|
|
||||||
info "Add drivers: GCP virtio"
|
|
||||||
|
|
||||||
mkdir -p $drv/gce
|
|
||||||
gce_repo=https://packages.cloud.google.com/yuck
|
|
||||||
download $gce_repo/repos/google-compute-engine-stable/index $drv/gce/gce.json
|
|
||||||
for part in balloon netkvm pvpanic vioscsi; do
|
|
||||||
# gcp 提供的 pvpanic 没有 x86 驱动
|
|
||||||
if [ "$part" = pvpanic ] && [ "$arch_wim" = x86 ]; then
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p $drv/gce/$part
|
|
||||||
link=$(grep -o "/pool/.*-google-compute-engine-driver-$part.*\.goo" $drv/gce/gce.json)
|
|
||||||
wget $gce_repo$link -O- | tar xz -C $drv/gce/$part
|
|
||||||
|
|
||||||
[ "$arch_wim" = x86 ] && suffix=-32 || suffix=
|
|
||||||
cp_drivers $drv/gce/$part -ipath "*/win$nt_ver$suffix/*"
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
# gcp
|
# gcp
|
||||||
# x86 x86_64 arm64 都有
|
# x86 x86_64 arm64 都有
|
||||||
# win7 驱动是 sha256 签名
|
|
||||||
add_driver_gcp() {
|
add_driver_gcp() {
|
||||||
info "Add drivers: GCP"
|
info "Add drivers: GCP"
|
||||||
|
|
||||||
# https://packages.cloud.google.com/yuck/repos/google-compute-engine-stable/index
|
|
||||||
# https://packages.cloud.google.com/yuck/repos/google-compute-engine-driver-gvnic-gq-stable/index
|
|
||||||
# 官方镜像的 gvnic 是从 gvnic-gq-stable 获取的,版本低一点,但更稳定?
|
|
||||||
|
|
||||||
mkdir -p $drv/gce
|
|
||||||
gce_repo=https://packages.cloud.google.com/yuck
|
gce_repo=https://packages.cloud.google.com/yuck
|
||||||
download $gce_repo/repos/google-compute-engine-stable/index $drv/gce/gce.json
|
download $gce_repo/repos/google-compute-engine-stable/index /tmp/gce.json
|
||||||
for part in gvnic gga; do
|
for name in gvnic gga; do
|
||||||
# gvnic 没有 arm64
|
# gvnic 没有 arm64
|
||||||
if [ "$part" = gvnic ] && [ "$arch_wim" = arm64 ]; then
|
if [ "$name" = gvnic ] && [ "$arch_wim" = arm64 ]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mkdir -p $drv/gce/$part
|
mkdir -p $drv/gce/$name
|
||||||
link=$(grep -o "/pool/.*-google-compute-engine-driver-$part.*\.goo" $drv/gce/gce.json)
|
link=$(grep -o "/pool/.*-google-compute-engine-driver-$name.*\.goo" /tmp/gce.json)
|
||||||
wget $gce_repo$link -O- | tar xz -C $drv/gce/$part
|
wget $gce_repo$link -O- | tar xz -C $drv/gce/$name
|
||||||
|
|
||||||
# inf 不限版本,6.0 能装 6.1 的驱动但用不了
|
# 没有 win6.0 文件夹
|
||||||
|
# 但 inf 没限制
|
||||||
|
# TODO: 测试是否可用
|
||||||
if false; then
|
if false; then
|
||||||
for suffix in '' '-32'; do
|
for suffix in '' '-32'; do
|
||||||
if [ -d "$drv/gce/$part/win6.1$suffix" ]; then
|
if [ -d "$drv/gce/$name/win6.1$suffix" ]; then
|
||||||
cp -r "$drv/gce/$part/win6.1$suffix" "$drv/gce/$part/win6.0$suffix"
|
cp -r "$drv/gce/$name/win6.1$suffix" "$drv/gce/$name/win6.0$suffix"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
case "$part" in
|
case "$name" in
|
||||||
gvnic)
|
gvnic)
|
||||||
[ "$arch_wim" = x86 ] && suffix=-32 || suffix=
|
[ "$arch_wim" = x86 ] && suffix=-32 || suffix=
|
||||||
cp_drivers $drv/gce/gvnic -ipath "*/win$nt_ver$suffix/*"
|
cp_drivers $drv/gce/gvnic -ipath "*/win$nt_ver$suffix/*"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user