Update install.sh

This commit is contained in:
Kroese 2024-02-01 09:05:25 +01:00 committed by GitHub
parent 879abdde31
commit 6b5d8337e4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -100,6 +100,7 @@ CUSTOM="custom.iso"
[ ! -f "$STORAGE/$CUSTOM" ] && CUSTOM="custom.IMG" [ ! -f "$STORAGE/$CUSTOM" ] && CUSTOM="custom.IMG"
[ ! -f "$STORAGE/$CUSTOM" ] && CUSTOM="CUSTOM.IMG" [ ! -f "$STORAGE/$CUSTOM" ] && CUSTOM="CUSTOM.IMG"
MACHINE="q35"
TMP="$STORAGE/tmp" TMP="$STORAGE/tmp"
DIR="$TMP/unpack" DIR="$TMP/unpack"
FB="falling back to manual installation!" FB="falling back to manual installation!"
@ -259,7 +260,7 @@ finishInstall() {
cp /run/version "$STORAGE/windows.ver" cp /run/version "$STORAGE/windows.ver"
if [[ "${BOOT_MODE,,}" == "windows_legacy" ]]; then if [[ "${BOOT_MODE,,}" == "windows_legacy" ]]; then
touch "$STORAGE/windows.old" echo "$MACHINE" > "$STORAGE/windows.old"
else else
rm -f "$STORAGE/windows.old" rm -f "$STORAGE/windows.old"
fi fi
@ -537,7 +538,7 @@ prepareXP() {
local iso="$1" local iso="$1"
local dir="$2" local dir="$2"
MACHINE="pc-q35-2.12" MACHINE="pc-q35-2.10"
BOOT_MODE="windows_legacy" BOOT_MODE="windows_legacy"
ETFS="[BOOT]/Boot-NoEmul.img" ETFS="[BOOT]/Boot-NoEmul.img"
@ -556,6 +557,11 @@ prepareXP() {
cp "$drivers/viostor/xp/x86/viostor.inf" "$dir/\$OEM\$/\$1/Drivers/viostor" cp "$drivers/viostor/xp/x86/viostor.inf" "$dir/\$OEM\$/\$1/Drivers/viostor"
cp "$drivers/viostor/xp/x86/viostor.sys" "$dir/\$OEM\$/\$1/Drivers/viostor" cp "$drivers/viostor/xp/x86/viostor.sys" "$dir/\$OEM\$/\$1/Drivers/viostor"
mkdir -p "$dir/\$OEM\$/\$1/Drivers/NetKVM"
cp "$drivers/NetKVM/xp/x86/netkvm.cat" "$dir/\$OEM\$/\$1/Drivers/NetKVM"
cp "$drivers/NetKVM/xp/x86/netkvm.inf" "$dir/\$OEM\$/\$1/Drivers/NetKVM"
cp "$drivers/NetKVM/xp/x86/netkvm.sys" "$dir/\$OEM\$/\$1/Drivers/NetKVM"
sed -i '/^\[SCSI.Load\]/s/$/\nviostor=viostor.sys,4/' "$dir/I386/TXTSETUP.SIF" sed -i '/^\[SCSI.Load\]/s/$/\nviostor=viostor.sys,4/' "$dir/I386/TXTSETUP.SIF"
sed -i '/^\[SourceDisksFiles.x86\]/s/$/\nviostor.sys=1,,,,,,4_,4,1,,,1,4/' "$dir/I386/TXTSETUP.SIF" sed -i '/^\[SourceDisksFiles.x86\]/s/$/\nviostor.sys=1,,,,,,4_,4,1,,,1,4/' "$dir/I386/TXTSETUP.SIF"
sed -i '/^\[SCSI\]/s/$/\nviostor=\"Red Hat VirtIO SCSI Disk Device WinXP 32-bit\"/' "$dir/I386/TXTSETUP.SIF" sed -i '/^\[SCSI\]/s/$/\nviostor=\"Red Hat VirtIO SCSI Disk Device WinXP 32-bit\"/' "$dir/I386/TXTSETUP.SIF"
@ -565,13 +571,9 @@ prepareXP() {
sed -i '/^\[HardwareIdsDatabase\]/s/$/\nPCI\\VEN_1AF4\&DEV_1001\&SUBSYS_00000000=\"viostor\"/' "$dir/I386/TXTSETUP.SIF" sed -i '/^\[HardwareIdsDatabase\]/s/$/\nPCI\\VEN_1AF4\&DEV_1001\&SUBSYS_00000000=\"viostor\"/' "$dir/I386/TXTSETUP.SIF"
mkdir -p "$dir/\$OEM\$/\$1/Drivers/sata" mkdir -p "$dir/\$OEM\$/\$1/Drivers/sata"
if ! 7z x /run/sata.zip -o"$dir/\$OEM\$/\$1/Drivers/sata" > /dev/null; then
return 1 cp -a "$drivers/sata/xp/x86/." "$dir/\$OEM\$/\$1/Drivers/sata"
fi cp -a "$drivers/sata/xp/x86/." "$dir/I386"
if ! 7z x /run/sata.zip -o"$dir/I386" > /dev/null; then
return 1
fi
sed -i '/^\[SCSI.Load\]/s/$/\niaStor=iaStor.sys,4/' "$dir/I386/TXTSETUP.SIF" sed -i '/^\[SCSI.Load\]/s/$/\niaStor=iaStor.sys,4/' "$dir/I386/TXTSETUP.SIF"
sed -i '/^\[FileFlags\]/s/$/\niaStor.sys = 16/' "$dir/I386/TXTSETUP.SIF" sed -i '/^\[FileFlags\]/s/$/\niaStor.sys = 16/' "$dir/I386/TXTSETUP.SIF"
@ -583,8 +585,6 @@ prepareXP() {
sed -i '/^\[SourceDisksFiles.x86\]/s/$/\niaAHCI.inf = 1,,,,,,,1,0,0/' "$dir/I386/TXTSETUP.SIF" sed -i '/^\[SourceDisksFiles.x86\]/s/$/\niaAHCI.inf = 1,,,,,,,1,0,0/' "$dir/I386/TXTSETUP.SIF"
sed -i '/^\[SCSI\]/s/$/\niaStor=\"Intel\(R\) SATA RAID\/AHCI Controller\"/' "$dir/I386/TXTSETUP.SIF" sed -i '/^\[SCSI\]/s/$/\niaStor=\"Intel\(R\) SATA RAID\/AHCI Controller\"/' "$dir/I386/TXTSETUP.SIF"
sed -i '/^\[HardwareIdsDatabase\]/s/$/\nPCI\\VEN_8086\&DEV_2922\&CC_0106=\"iaStor\"/' "$dir/I386/TXTSETUP.SIF" sed -i '/^\[HardwareIdsDatabase\]/s/$/\nPCI\\VEN_8086\&DEV_2922\&CC_0106=\"iaStor\"/' "$dir/I386/TXTSETUP.SIF"
cp "/run/acpi.sys" "$dir/I386"
rm -f "$dir/I386/winnt.sif" rm -f "$dir/I386/winnt.sif"
rm -f "$dir/I386/Winnt.sif" rm -f "$dir/I386/Winnt.sif"
@ -610,7 +610,7 @@ prepareXP() {
echo "WaitForReboot=\"No\"" echo "WaitForReboot=\"No\""
echo "DriverSigningPolicy=\"Ignore\"" echo "DriverSigningPolicy=\"Ignore\""
echo "NonDriverSigningPolicy=\"Ignore\"" echo "NonDriverSigningPolicy=\"Ignore\""
echo "OemPnPDriversPath=\"Drivers\viostor;Drivers\sata"" echo "OemPnPDriversPath=\"Drivers\viostor;Drivers\NetKVM;Drivers\sata\""
echo "NoWaitAfterTextMode=1" echo "NoWaitAfterTextMode=1"
echo "NoWaitAfterGUIMode=1" echo "NoWaitAfterGUIMode=1"
echo "FileSystem-ConvertNTFS" echo "FileSystem-ConvertNTFS"
@ -688,12 +688,12 @@ prepareImage() {
if [[ "${DETECTED,,}" == "winxpx86"* ]]; then if [[ "${DETECTED,,}" == "winxpx86"* ]]; then
if ! prepareXP "$iso" "$dir"; then if ! prepareXP "$iso" "$dir"; then
err "Failed to prepare Windows XP ISO!" error "Failed to prepare Windows XP ISO!"
return 1 return 1
fi fi
else else
if ! prepareWin7 "$iso" "$dir"; then if ! prepareWin7 "$iso" "$dir"; then
err "Failed to prepare Windows 7 ISO!" error "Failed to prepare Windows 7 ISO!"
return 1 return 1
fi fi
fi fi
@ -815,6 +815,8 @@ buildImage() {
if ! startInstall; then if ! startInstall; then
if [ -f "$STORAGE/windows.old" ]; then if [ -f "$STORAGE/windows.old" ]; then
MACHINE=$(<"$STORAGE/windows.old")
[ -z "$MACHINE" ] && MACHINE="q35"
BOOT_MODE="windows_legacy" BOOT_MODE="windows_legacy"
fi fi