mirror of
https://github.com/bin456789/reinstall.git
synced 2026-10-03 22:17:46 +08:00
windows: 使用 rocky linux 的 virtio-win
This commit is contained in:
@@ -7382,16 +7382,32 @@ EOF
|
||||
local baseurl=https://fedorapeople.org/groups/virt/virtio-win/direct-downloads
|
||||
|
||||
add_driver_virtio_from_rpm() {
|
||||
# fedorapeople may reject or timeout on some VPS IPs, and DaoCloud may still fetch from it.
|
||||
# The CentOS Stream x86_64 repo publishes this noarch RPM with Windows x86/x64 virtio drivers.
|
||||
local url=https://mirror.stream.centos.org/10-stream/AppStream/x86_64/os/Packages/virtio-win-1.9.45-1.el10.noarch.rpm
|
||||
local cpio_file
|
||||
# fedorapeople 拉黑了华为云,可能有其他厂商也被拉黑
|
||||
# DaoCloud 只支持 ipv4
|
||||
# 因此这里用 rocky 的 virtio-win rpm 作为 fallback,但只有 x86/x64 驱动
|
||||
|
||||
# rocky 的 virtio-win 比 centos 新
|
||||
# https://pkgs.org/download/virtio-win
|
||||
|
||||
info "Add drivers: Generic virtio rpm"
|
||||
|
||||
local ROCKY_RELEASEVER=10
|
||||
|
||||
if is_in_china; then
|
||||
local rocky_mirror=https://mirror.nju.edu.cn/rocky
|
||||
else
|
||||
local rocky_mirror=https://dl.rockylinux.org/pub/rocky
|
||||
fi
|
||||
local rocky_mirror_os="$rocky_mirror/$ROCKY_RELEASEVER/AppStream/x86_64/os"
|
||||
|
||||
primary_xml_gz=$(wget -O- "$rocky_mirror_os/repodata/repomd.xml" |
|
||||
grep -Eo 'repodata/[0-9a-f]+-primary.xml.gz' | grep .)
|
||||
virtio_win_rpm_path=$(wget -O- "$rocky_mirror_os/$primary_xml_gz" | zcat |
|
||||
grep -Eo 'Packages/v/virtio-win-[^"]+\.noarch\.rpm' | sort -Vr | head -1 | grep .)
|
||||
|
||||
download "$rocky_mirror_os/$virtio_win_rpm_path" $drv/virtio.rpm
|
||||
|
||||
apk add 7zip
|
||||
|
||||
download "$url" $drv/virtio.rpm
|
||||
|
||||
mkdir -p $drv/virtio-rpm/stage $drv/virtio-rpm/root
|
||||
7z x $drv/virtio.rpm -o$drv/virtio-rpm/stage -y -bb1
|
||||
cpio_file=$(find $drv/virtio-rpm/stage -maxdepth 1 -name '*.cpio' | head -1)
|
||||
@@ -7401,6 +7417,7 @@ EOF
|
||||
find $drv/virtio-rpm/root -type f -ipath "*/$virtio_sys/$arch/*.inf" "$@" | grep . >/dev/null ||
|
||||
error_and_exit "Can't find $virtio_sys/$arch drivers in virtio-win rpm."
|
||||
cp_drivers $drv/virtio-rpm/root "$@"
|
||||
apk del 7zip
|
||||
}
|
||||
|
||||
get_latest_virtio_dir() {
|
||||
|
||||
Reference in New Issue
Block a user