mirror of
				https://github.com/dockur/windows.git
				synced 2025-10-25 17:42:48 +00:00 
			
		
		
		
	Compare commits
	
		
			2 Commits
		
	
	
		
			c1c44c4da7
			...
			544501107a
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 544501107a | ||
|  | 122d1ff98e | 
| @ -22,7 +22,11 @@ backup () { | |||||||
| 
 | 
 | ||||||
|   fi |   fi | ||||||
| 
 | 
 | ||||||
|   mkdir -p "$root" |   if ! makeDir "$root"; then | ||||||
|  |     error "Failed to create directory \"$root\" !" | ||||||
|  |     return 1 | ||||||
|  |   fi | ||||||
|  | 
 | ||||||
|   local folder="$name" |   local folder="$name" | ||||||
|   local dir="$root/$folder" |   local dir="$root/$folder" | ||||||
| 
 | 
 | ||||||
| @ -34,7 +38,11 @@ backup () { | |||||||
|   done |   done | ||||||
| 
 | 
 | ||||||
|   rm -rf "$dir" |   rm -rf "$dir" | ||||||
|   mkdir -p "$dir" | 
 | ||||||
|  |   if ! makeDir "$dir"; then | ||||||
|  |     error "Failed to create directory \"$dir\" !" | ||||||
|  |     return 1 | ||||||
|  |   fi | ||||||
| 
 | 
 | ||||||
|   [ -f "$iso" ] && mv -f "$iso" "$dir/" |   [ -f "$iso" ] && mv -f "$iso" "$dir/" | ||||||
|   find "$STORAGE" -maxdepth 1 -type f -iname 'data.*' -not -iname '*.iso' -exec mv -n {} "$dir/" \; |   find "$STORAGE" -maxdepth 1 -type f -iname 'data.*' -not -iname '*.iso' -exec mv -n {} "$dir/" \; | ||||||
| @ -156,7 +164,9 @@ startInstall() { | |||||||
|     ! backup "" && error "Backup failed!" |     ! backup "" && error "Backup failed!" | ||||||
|   fi |   fi | ||||||
| 
 | 
 | ||||||
|   mkdir -p "$TMP" |   if ! makeDir "$TMP"; then | ||||||
|  |     error "Failed to create directory \"$TMP\" !" | ||||||
|  |   fi | ||||||
| 
 | 
 | ||||||
|   if [ -z "$CUSTOM" ]; then |   if [ -z "$CUSTOM" ]; then | ||||||
| 
 | 
 | ||||||
| @ -178,6 +188,20 @@ startInstall() { | |||||||
|   return 0 |   return 0 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | writeFile() { | ||||||
|  | 
 | ||||||
|  |   local txt="$1" | ||||||
|  |   local path="$2" | ||||||
|  | 
 | ||||||
|  |   echo "$txt" >"$path" | ||||||
|  | 
 | ||||||
|  |   if ! setOwner "$path"; then | ||||||
|  |     error "Failed to set the owner for \"$path\" !" | ||||||
|  |   fi | ||||||
|  | 
 | ||||||
|  |   return 0 | ||||||
|  | } | ||||||
|  | 
 | ||||||
| finishInstall() { | finishInstall() { | ||||||
| 
 | 
 | ||||||
|   local iso="$1" |   local iso="$1" | ||||||
| @ -188,6 +212,10 @@ finishInstall() { | |||||||
|     error "Failed to find ISO file: $iso" && return 1 |     error "Failed to find ISO file: $iso" && return 1 | ||||||
|   fi |   fi | ||||||
| 
 | 
 | ||||||
|  |   if [[ "$iso" == "$STORAGE/"* ]]; then | ||||||
|  |     ! setOwner "$iso" && error "Failed to set the owner for \"$iso\" !" | ||||||
|  |   fi | ||||||
|  | 
 | ||||||
|   if [[ "$aborted" != [Yy1]* ]]; then |   if [[ "$aborted" != [Yy1]* ]]; then | ||||||
|     # Mark ISO as prepared via magic byte |     # Mark ISO as prepared via magic byte | ||||||
|     byte="16" && [[ "$MANUAL" == [Yy1]* ]] && byte="17" |     byte="16" && [[ "$MANUAL" == [Yy1]* ]] && byte="17" | ||||||
| @ -196,56 +224,68 @@ finishInstall() { | |||||||
|     fi |     fi | ||||||
|   fi |   fi | ||||||
| 
 | 
 | ||||||
|   cp -f /run/version "$STORAGE/windows.ver" |   local file="$STORAGE/windows.ver" | ||||||
|  |   cp -f /run/version "$file" | ||||||
|  |   ! setOwner "$file" && error "Failed to set the owner for \"$file\" !" | ||||||
| 
 | 
 | ||||||
|   if [[ "$iso" == "$STORAGE/"* ]]; then |   if [[ "$iso" == "$STORAGE/"* ]]; then | ||||||
|     if [[ "$aborted" != [Yy1]* ]] || [ -z "$CUSTOM" ]; then |     if [[ "$aborted" != [Yy1]* ]] || [ -z "$CUSTOM" ]; then | ||||||
|       base=$(basename "$iso") |       base=$(basename "$iso") | ||||||
|       echo "$base" > "$STORAGE/windows.base" |       file="$STORAGE/windows.base" | ||||||
|  |       writeFile "$base" "$file" | ||||||
|     fi |     fi | ||||||
|   fi |   fi | ||||||
| 
 | 
 | ||||||
|   if [[ "${PLATFORM,,}" == "x64" ]]; then |   if [[ "${PLATFORM,,}" == "x64" ]]; then | ||||||
|     if [[ "${BOOT_MODE,,}" == "windows_legacy" ]]; then |     if [[ "${BOOT_MODE,,}" == "windows_legacy" ]]; then | ||||||
|       echo "$BOOT_MODE" > "$STORAGE/windows.mode" |       file="$STORAGE/windows.mode" | ||||||
|  |       writeFile "$BOOT_MODE" "$file" | ||||||
|       if [[ "${MACHINE,,}" != "q35" ]]; then |       if [[ "${MACHINE,,}" != "q35" ]]; then | ||||||
|         echo "$MACHINE" > "$STORAGE/windows.old" |         file="$STORAGE/windows.old" | ||||||
|  |         writeFile "$MACHINE" "$file" | ||||||
|       fi |       fi | ||||||
|     else |     else | ||||||
|       # Enable secure boot + TPM on manual installs as Win11 requires |       # Enable secure boot + TPM on manual installs as Win11 requires | ||||||
|       if [[ "$MANUAL" == [Yy1]* || "$aborted" == [Yy1]* ]]; then |       if [[ "$MANUAL" == [Yy1]* || "$aborted" == [Yy1]* ]]; then | ||||||
|         if [[ "${DETECTED,,}" == "win11"* ]]; then |         if [[ "${DETECTED,,}" == "win11"* ]]; then | ||||||
|           BOOT_MODE="windows_secure" |           BOOT_MODE="windows_secure" | ||||||
|           echo "$BOOT_MODE" > "$STORAGE/windows.mode" |           file="$STORAGE/windows.mode" | ||||||
|  |           writeFile "$BOOT_MODE" "$file" | ||||||
|         fi |         fi | ||||||
|       fi |       fi | ||||||
|       # Enable secure boot on multi-socket systems to workaround freeze |       # Enable secure boot on multi-socket systems to workaround freeze | ||||||
|       if [ -n "$SOCKETS" ] && [[ "$SOCKETS" != "1" ]]; then |       if [ -n "$SOCKETS" ] && [[ "$SOCKETS" != "1" ]]; then | ||||||
|         BOOT_MODE="windows_secure" |         BOOT_MODE="windows_secure" | ||||||
|         echo "$BOOT_MODE" > "$STORAGE/windows.mode" |         file="$STORAGE/windows.mode" | ||||||
|  |         writeFile "$BOOT_MODE" "$file" | ||||||
|       fi |       fi | ||||||
|     fi |     fi | ||||||
|   fi |   fi | ||||||
| 
 | 
 | ||||||
|   if [ -n "${ARGS:-}" ]; then |   if [ -n "${ARGS:-}" ]; then | ||||||
|     ARGUMENTS="$ARGS ${ARGUMENTS:-}" |     ARGUMENTS="$ARGS ${ARGUMENTS:-}" | ||||||
|     echo "$ARGS" > "$STORAGE/windows.args" |     file="$STORAGE/windows.args" | ||||||
|  |     writeFile "$ARGS" "$file" | ||||||
|   fi |   fi | ||||||
| 
 | 
 | ||||||
|   if [ -n "${VGA:-}" ] && [[ "${VGA:-}" != "virtio"* ]]; then |   if [ -n "${VGA:-}" ] && [[ "${VGA:-}" != "virtio"* ]]; then | ||||||
|     echo "$VGA" > "$STORAGE/windows.vga" |     file="$STORAGE/windows.vga" | ||||||
|  |     writeFile "$VGA" "$file" | ||||||
|   fi |   fi | ||||||
| 
 | 
 | ||||||
|   if [ -n "${USB:-}" ] && [[ "${USB:-}" != "qemu-xhci"* ]]; then |   if [ -n "${USB:-}" ] && [[ "${USB:-}" != "qemu-xhci"* ]]; then | ||||||
|     echo "$USB" > "$STORAGE/windows.usb" |     file="$STORAGE/windows.usb" | ||||||
|  |     writeFile "$USB" "$file" | ||||||
|   fi |   fi | ||||||
| 
 | 
 | ||||||
|   if [ -n "${DISK_TYPE:-}" ] && [[ "${DISK_TYPE:-}" != "scsi" ]]; then |   if [ -n "${DISK_TYPE:-}" ] && [[ "${DISK_TYPE:-}" != "scsi" ]]; then | ||||||
|     echo "$DISK_TYPE" > "$STORAGE/windows.type" |     file="$STORAGE/windows.type" | ||||||
|  |     writeFile "$DISK_TYPE" "$file" | ||||||
|   fi |   fi | ||||||
| 
 | 
 | ||||||
|   if [ -n "${ADAPTER:-}" ] && [[ "${ADAPTER:-}" != "virtio-net-pci" ]]; then |   if [ -n "${ADAPTER:-}" ] && [[ "${ADAPTER:-}" != "virtio-net-pci" ]]; then | ||||||
|     echo "$ADAPTER" > "$STORAGE/windows.net" |     file="$STORAGE/windows.net" | ||||||
|  |     writeFile "$ADAPTER" "$file" | ||||||
|   fi |   fi | ||||||
| 
 | 
 | ||||||
|   rm -rf "$TMP" |   rm -rf "$TMP" | ||||||
| @ -351,7 +391,10 @@ extractESD() { | |||||||
|   fi |   fi | ||||||
| 
 | 
 | ||||||
|   rm -rf "$dir" |   rm -rf "$dir" | ||||||
|   mkdir -p "$dir" | 
 | ||||||
|  |   if ! makeDir "$dir"; then | ||||||
|  |     error "Failed to create directory \"$dir\" !" && return 1 | ||||||
|  |   fi | ||||||
| 
 | 
 | ||||||
|   size=9606127360 |   size=9606127360 | ||||||
|   size_gb=$(formatBytes "$size") |   size_gb=$(formatBytes "$size") | ||||||
| @ -407,6 +450,8 @@ extractESD() { | |||||||
|     error "Adding WinPE failed ($retVal)" && return 1 |     error "Adding WinPE failed ($retVal)" && return 1 | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  |   fKill "progress.sh" | ||||||
|  | 
 | ||||||
|   local msg="Extracting $desc setup" |   local msg="Extracting $desc setup" | ||||||
|   info "$msg..." |   info "$msg..." | ||||||
| 
 | 
 | ||||||
| @ -486,14 +531,17 @@ extractImage() { | |||||||
|   info "$msg..." && html "$msg..." |   info "$msg..." && html "$msg..." | ||||||
| 
 | 
 | ||||||
|   rm -rf "$dir" |   rm -rf "$dir" | ||||||
|   mkdir -p "$dir" | 
 | ||||||
|  |   if ! makeDir "$dir"; then | ||||||
|  |     error "Failed to create directory \"$dir\" !" && return 1 | ||||||
|  |   fi | ||||||
| 
 | 
 | ||||||
|   size=$(stat -c%s "$iso") |   size=$(stat -c%s "$iso") | ||||||
|   size_gb=$(formatBytes "$size") |   size_gb=$(formatBytes "$size") | ||||||
|   space=$(df --output=avail -B 1 "$dir" | tail -n 1) |   space=$(df --output=avail -B 1 "$dir" | tail -n 1) | ||||||
|   space_gb=$(formatBytes "$space") |   space_gb=$(formatBytes "$space") | ||||||
| 
 | 
 | ||||||
|   if ((size<100000000)); then |   if (( size < 100000000 )); then | ||||||
|     error "Invalid ISO file: Size is smaller than 100 MB" && return 1 |     error "Invalid ISO file: Size is smaller than 100 MB" && return 1 | ||||||
|   fi |   fi | ||||||
| 
 | 
 | ||||||
| @ -1177,6 +1225,8 @@ buildImage() { | |||||||
|   [[ "$error" != "$hide" ]] && echo "$error" |   [[ "$error" != "$hide" ]] && echo "$error" | ||||||
| 
 | 
 | ||||||
|   mv -f "$out" "$BOOT" || return 1 |   mv -f "$out" "$BOOT" || return 1 | ||||||
|  |   ! setOwner "$BOOT" && error "Failed to set the owner for \"$BOOT\" !" | ||||||
|  | 
 | ||||||
|   return 0 |   return 0 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -487,8 +487,11 @@ getESD() { | |||||||
|   info "$msg" && html "$msg" |   info "$msg" && html "$msg" | ||||||
| 
 | 
 | ||||||
|   rm -rf "$dir" |   rm -rf "$dir" | ||||||
|   mkdir -p "$dir" |  | ||||||
| 
 | 
 | ||||||
|  |   if ! makeDir "$dir"; then | ||||||
|  |     error "Failed to create directory \"$dir\" !" && return 1 | ||||||
|  |   fi | ||||||
|  |    | ||||||
|   local xFile="products.xml" |   local xFile="products.xml" | ||||||
|   local eFile="esd_edition.xml" |   local eFile="esd_edition.xml" | ||||||
|   local fFile="products_filter.xml" |   local fFile="products_filter.xml" | ||||||
|  | |||||||
| @ -105,7 +105,9 @@ finish() { | |||||||
|   if [ ! -f "$STORAGE/windows.boot" ] && [ -f "$BOOT" ]; then |   if [ ! -f "$STORAGE/windows.boot" ] && [ -f "$BOOT" ]; then | ||||||
|     # Remove CD-ROM ISO after install |     # Remove CD-ROM ISO after install | ||||||
|     if ready; then |     if ready; then | ||||||
|       touch "$STORAGE/windows.boot" |       local file="$STORAGE/windows.boot" | ||||||
|  |       touch "$file" | ||||||
|  |       ! setOwner "$file" && error "Failed to set the owner for \"$file\" !" | ||||||
|       if [[ "$REMOVE" != [Nn]* ]]; then |       if [[ "$REMOVE" != [Nn]* ]]; then | ||||||
|         rm -f "$BOOT" 2>/dev/null || true |         rm -f "$BOOT" 2>/dev/null || true | ||||||
|       fi |       fi | ||||||
|  | |||||||
							
								
								
									
										13
									
								
								src/samba.sh
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								src/samba.sh
									
									
									
									
									
								
							| @ -46,16 +46,23 @@ addShare() { | |||||||
|   local cfg="$5" |   local cfg="$5" | ||||||
|   local owner="" |   local owner="" | ||||||
| 
 | 
 | ||||||
|   if ! mkdir -p "$dir"; then |   if [ ! -d "$dir" ]; then | ||||||
|     error "Failed to create directory $dir." && return 1 |     if ! mkdir -p "$dir"; then | ||||||
|  |       error "Failed to create shared folder ($dir)." && return 1 | ||||||
|  |     fi | ||||||
|   fi |   fi | ||||||
| 
 | 
 | ||||||
|   if ! ls -A "$dir" >/dev/null 2>&1; then |   if ! ls -A "$dir" >/dev/null 2>&1; then | ||||||
|     msg="Failed to access directory $dir." |     msg="No permission to access shared folder ($dir)." | ||||||
|     msg+=" If SELinux is active, you need to add the \":Z\" flag to the bind mount." |     msg+=" If SELinux is active, you need to add the \":Z\" flag to the bind mount." | ||||||
|     error "$msg" && return 1 |     error "$msg" && return 1 | ||||||
|   fi |   fi | ||||||
| 
 | 
 | ||||||
|  |   if [ ! -w "$dir" ]; then | ||||||
|  |     msg="shared folder ($dir) is not writeable!" | ||||||
|  |     warn "$msg" | ||||||
|  |   fi | ||||||
|  | 
 | ||||||
|   if [ -z "$(ls -A "$dir")" ]; then |   if [ -z "$(ls -A "$dir")" ]; then | ||||||
|     if ! chmod 2777 "$dir"; then |     if ! chmod 2777 "$dir"; then | ||||||
|       error "Failed to set permissions for directory $dir" && return 1 |       error "Failed to set permissions for directory $dir" && return 1 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user