Update install.sh

This commit is contained in:
Kroese 2024-01-22 16:35:24 +01:00 committed by GitHub
parent ca27b1a70b
commit 57a3585552
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -93,7 +93,7 @@ if [ -f "$STORAGE/$BASE" ]; then
MAGIC=$(dd if="$STORAGE/$BASE" seek=0 bs=1 count=1 status=none | tr -d '\000') MAGIC=$(dd if="$STORAGE/$BASE" 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 if [[ "$MAGIC" == "16" ]] || [[ "$MAGIC" == "17" ]] || [[ "$MAGIC" == "18" ]]; then
rm -rf "$TMP" rm -rf "$TMP"
return 0 return 0
fi fi
@ -115,6 +115,7 @@ fi
rm -f "$TMP/$BASE" rm -f "$TMP/$BASE"
if [ ! -f "$ISO" ]; then if [ ! -f "$ISO" ]; then
if [[ "$EXTERNAL" != [Yy1]* ]]; then if [[ "$EXTERNAL" != [Yy1]* ]]; then
cd "$TMP" cd "$TMP"
@ -174,16 +175,23 @@ ETFS="boot/etfsboot.com"
EFISYS="efi/microsoft/boot/efisys_noprompt.bin" EFISYS="efi/microsoft/boot/efisys_noprompt.bin"
if [ ! -f "$DIR/$ETFS" ] || [ ! -f "$DIR/$EFISYS" ]; then if [ ! -f "$DIR/$ETFS" ] || [ ! -f "$DIR/$EFISYS" ]; then
if [ ! -f "$DIR/$ETFS" ]; then if [ ! -f "$DIR/$ETFS" ]; then
warn "failed to locate file 'etfsboot.com' in ISO image, $FB" warn "failed to locate file 'etfsboot.com' in ISO image, $FB"
else else
warn "failed to locate file 'efisys_noprompt.bin' in ISO image, $FB" warn "failed to locate file 'efisys_noprompt.bin' in ISO image, $FB"
fi fi
# Mark ISO as prepared via magic byte # Mark ISO as prepared via magic byte
printf '\x16' | dd of=$ISO bs=1 seek=0 count=1 conv=notrunc status=none printf '\x16' | dd of=$ISO bs=1 seek=0 count=1 conv=notrunc status=none
[[ "$ISO" != "$STORAGE/$BASE" ]] && mv -f "$ISO" "$STORAGE/$BASE" [[ "$ISO" != "$STORAGE/$BASE" ]] && mv -f "$ISO" "$STORAGE/$BASE"
rm -f "$STORAGE/windows.ver"
rm -f "$STORAGE/windows.xml" rm -f "$STORAGE/windows.xml"
echo "$BASE" > "$STORAGE/windows.ver" cp /run/version "$STORAGE/windows.ver"
echo "$BASE" > "$STORAGE/windows.base"
rm -rf "$TMP" rm -rf "$TMP"
return 0 return 0
fi fi
@ -337,7 +345,13 @@ genisoimage -b "$ETFS" -no-emul-boot -c "$CAT" -iso-level 4 -J -l -D -N -joliet-
-boot-info-table -eltorito-alt-boot -eltorito-boot "$EFISYS" -no-emul-boot -o "$OUT" -allow-limited-size "$DIR" -boot-info-table -eltorito-alt-boot -eltorito-boot "$EFISYS" -no-emul-boot -o "$OUT" -allow-limited-size "$DIR"
# Mark ISO as prepared via magic byte # Mark ISO as prepared via magic byte
printf '\x16' | dd of=$OUT bs=1 seek=0 count=1 conv=notrunc status=none if [ ! -f "$ASSET" ]; then
BYTE="\x17"
else
BYTE="\x18"
fi
printf "$BYTE" | dd of=$OUT bs=1 seek=0 count=1 conv=notrunc status=none
[ -n "$CUSTOM" ] && rm -f "$STORAGE/$CUSTOM" [ -n "$CUSTOM" ] && rm -f "$STORAGE/$CUSTOM"
@ -346,10 +360,13 @@ if [ -f "$STORAGE/$BASE" ]; then
fi fi
mv "$OUT" "$STORAGE/$BASE" mv "$OUT" "$STORAGE/$BASE"
echo "$BASE" > "$STORAGE/windows.ver"
rm -f "$STORAGE/windows.ver"
rm -f "$STORAGE/windows.xml"
cp /run/version "$STORAGE/windows.ver"
echo "$BASE" > "$STORAGE/windows.base"
if [ -f "$ASSET" ]; then if [ -f "$ASSET" ]; then
rm -f "$STORAGE/windows.xml"
cp "$ASSET" "$STORAGE/windows.xml" cp "$ASSET" "$STORAGE/windows.xml"
fi fi