mirror of
https://github.com/dockur/windows.git
synced 2025-10-29 04:05:50 +00:00
Update install.sh
This commit is contained in:
parent
fbdb171f79
commit
48807ea887
1 changed files with 33 additions and 39 deletions
|
|
@ -51,24 +51,13 @@ startInstall() {
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[[ "${file,,}" == "windows."* ]] && file="win.iso"
|
|
||||||
|
|
||||||
ISO="$STORAGE/$file.iso"
|
ISO="$STORAGE/$file.iso"
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "${PLATFORM,,}" == "x64" ]]; then
|
|
||||||
! migrateFiles "$ISO" "$VERSION" && error "Migration failed!" && exit 57
|
! migrateFiles "$ISO" "$VERSION" && error "Migration failed!" && exit 57
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if skipInstall; then
|
skipInstall && return 1
|
||||||
if [ ! -f "$ISO" ] || [ ! -s "$ISO" ]; then
|
|
||||||
ISO="/custom.iso"
|
|
||||||
[ ! -f "$ISO" ] && ISO="${STORAGE}$ISO"
|
|
||||||
fi
|
|
||||||
[[ "${PLATFORM,,}" == "arm64" ]] && VGA="virtio-gpu"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -f "$ISO" ] && [ -s "$ISO" ]; then
|
if [ -f "$ISO" ] && [ -s "$ISO" ]; then
|
||||||
|
|
||||||
|
|
@ -77,39 +66,34 @@ startInstall() {
|
||||||
magic=$(dd if="$ISO" seek=0 bs=1 count=1 status=none | tr -d '\000')
|
magic=$(dd if="$ISO" seek=0 bs=1 count=1 status=none | tr -d '\000')
|
||||||
magic="$(printf '%s' "$magic" | od -A n -t x1 -v | tr -d ' \n')"
|
magic="$(printf '%s' "$magic" | od -A n -t x1 -v | tr -d ' \n')"
|
||||||
|
|
||||||
if [[ "$magic" == "16" ]]; then
|
[[ "$magic" == "16" ]] && return 1
|
||||||
|
|
||||||
hasDisk && return 1
|
if [ -z "$CUSTOM" ]; then
|
||||||
[[ "$MANUAL" == [Yy1]* ]] && [ -z "$CUSTOM" ] && return 1
|
rm -f "$ISO"
|
||||||
|
else
|
||||||
fi
|
if [[ "$ISO" != "$CUSTOM_ORG" ]]; then
|
||||||
|
rm -f "$ISO"
|
||||||
if [ -n "$CUSTOM" ] && [ -n "$CUSTOM_ORG" ]; then
|
|
||||||
if [[ "$CUSTOM" != "$CUSTOM_ORG" ]]; then
|
|
||||||
rm -f "$CUSTOM"
|
|
||||||
ISO="$CUSTOM_ORG"
|
ISO="$CUSTOM_ORG"
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
CUSTOM="$ISO"
|
CUSTOM="$ISO"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
rm -rf "$TMP"
|
rm -rf "$TMP"
|
||||||
mkdir -p "$TMP"
|
mkdir -p "$TMP"
|
||||||
|
|
||||||
if [ -f "$CUSTOM" ]; then
|
if [ -n "$CUSTOM" ]; then
|
||||||
local size
|
local size
|
||||||
size="$(stat -c%s "$ISO")"
|
size="$(stat -c%s "$ISO")"
|
||||||
BOOT="$STORAGE/windows.$size.iso"
|
BOOT="$STORAGE/windows.$size.iso"
|
||||||
else
|
else
|
||||||
CUSTOM=""
|
BOOT="$ISO"
|
||||||
ISO=$(basename "$ISO")
|
ISO=$(basename "$ISO")
|
||||||
BOOT="$STORAGE/$ISO"
|
|
||||||
ISO="$TMP/$ISO"
|
ISO="$TMP/$ISO"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[[ "$BOOT" == "$ISO" ]] && return 1
|
rm -f "$BOOT"
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -160,6 +144,10 @@ abortInstall() {
|
||||||
|
|
||||||
local iso="$1"
|
local iso="$1"
|
||||||
|
|
||||||
|
[[ "${iso,,}" == *".esd" ]] && exit 60
|
||||||
|
|
||||||
|
[ -n "$CUSTOM" ] && BOOT="$iso"
|
||||||
|
|
||||||
if [[ "$iso" != "$BOOT" ]]; then
|
if [[ "$iso" != "$BOOT" ]]; then
|
||||||
if ! mv -f "$iso" "$BOOT"; then
|
if ! mv -f "$iso" "$BOOT"; then
|
||||||
error "Failed to move ISO file: $iso" && return 1
|
error "Failed to move ISO file: $iso" && return 1
|
||||||
|
|
@ -167,7 +155,6 @@ abortInstall() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
finishInstall "$BOOT" "Y" && return 0
|
finishInstall "$BOOT" "Y" && return 0
|
||||||
|
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -183,7 +170,6 @@ detectCustom() {
|
||||||
base="${VERSION/\/storage\//}"
|
base="${VERSION/\/storage\//}"
|
||||||
[[ "$base" == "."* ]] && base="${file:1}"
|
[[ "$base" == "."* ]] && base="${file:1}"
|
||||||
[[ "$base" == *"/"* ]] && base=""
|
[[ "$base" == *"/"* ]] && base=""
|
||||||
[[ "$base" == "windows."* ]] && base=""
|
|
||||||
[ -n "$base" ] && file=$(find "$STORAGE" -maxdepth 1 -type f -iname "$base" -printf "%f\n" | head -n 1)
|
[ -n "$base" ] && file=$(find "$STORAGE" -maxdepth 1 -type f -iname "$base" -printf "%f\n" | head -n 1)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
@ -403,10 +389,11 @@ downloadImage() {
|
||||||
local iso="$1"
|
local iso="$1"
|
||||||
local version="$2"
|
local version="$2"
|
||||||
local tried="n"
|
local tried="n"
|
||||||
local url sum size desc
|
local url sum size base desc
|
||||||
|
|
||||||
if [[ "${version,,}" == "http"* ]]; then
|
if [[ "${version,,}" == "http"* ]]; then
|
||||||
desc=$(fromFile "$BASE")
|
base=$(basename "$iso")
|
||||||
|
desc=$(fromFile "$base")
|
||||||
downloadFile "$iso" "$version" "" "" "$desc" && return 0
|
downloadFile "$iso" "$version" "" "" "$desc" && return 0
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
@ -433,9 +420,9 @@ downloadImage() {
|
||||||
tried="y"
|
tried="y"
|
||||||
|
|
||||||
if getESD "$TMP/esd" "$version"; then
|
if getESD "$TMP/esd" "$version"; then
|
||||||
ISO="$TMP/$version.esd"
|
ISO="${ISO/.iso/.esd}"
|
||||||
downloadFile "$ISO" "$ESD" "$ESD_SUM" "$ESD_SIZE" "$desc" && return 0
|
downloadFile "$ISO" "$ESD" "$ESD_SUM" "$ESD_SIZE" "$desc" && return 0
|
||||||
ISO="$TMP/$BASE"
|
ISO="${ISO/.esd/.iso}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
@ -778,9 +765,8 @@ prepareImage() {
|
||||||
|
|
||||||
updateImage() {
|
updateImage() {
|
||||||
|
|
||||||
local iso="$1"
|
local dir="$1"
|
||||||
local dir="$2"
|
local asset="$2"
|
||||||
local asset="$3"
|
|
||||||
local path src loc xml index result
|
local path src loc xml index result
|
||||||
|
|
||||||
[ ! -s "$asset" ] || [ ! -f "$asset" ] && return 0
|
[ ! -s "$asset" ] || [ ! -f "$asset" ] && return 0
|
||||||
|
|
@ -924,9 +910,17 @@ buildImage() {
|
||||||
|
|
||||||
bootWindows() {
|
bootWindows() {
|
||||||
|
|
||||||
BOOT="$ISO"
|
|
||||||
rm -rf "$TMP"
|
rm -rf "$TMP"
|
||||||
|
|
||||||
|
if [ ! -f "$ISO" ] || [ ! -s "$ISO" ]; then
|
||||||
|
ISO="/custom.iso"
|
||||||
|
[ ! -f "$ISO" ] && ISO="${STORAGE}$ISO"
|
||||||
|
fi
|
||||||
|
|
||||||
|
BOOT="$ISO"
|
||||||
|
|
||||||
|
[[ "${PLATFORM,,}" == "arm64" ]] && VGA="virtio-gpu"
|
||||||
|
|
||||||
if [ -s "$STORAGE/windows.mode" ] && [ -f "$STORAGE/windows.mode" ]; then
|
if [ -s "$STORAGE/windows.mode" ] && [ -f "$STORAGE/windows.mode" ]; then
|
||||||
BOOT_MODE=$(<"$STORAGE/windows.mode")
|
BOOT_MODE=$(<"$STORAGE/windows.mode")
|
||||||
if [ -s "$STORAGE/windows.old" ] && [ -f "$STORAGE/windows.old" ]; then
|
if [ -s "$STORAGE/windows.old" ] && [ -f "$STORAGE/windows.old" ]; then
|
||||||
|
|
@ -1004,7 +998,7 @@ if ! prepareImage "$ISO" "$DIR"; then
|
||||||
exit 60
|
exit 60
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! updateImage "$ISO" "$DIR" "$XML"; then
|
if ! updateImage "$DIR" "$XML"; then
|
||||||
abortInstall "$ISO" && return 0
|
abortInstall "$ISO" && return 0
|
||||||
exit 60
|
exit 60
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue