diff --git a/.version b/.version index aac2dac..e96a871 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -0.12.1 \ No newline at end of file +0.12.2 \ No newline at end of file diff --git a/README.md b/README.md index 5ea04a3..63996bd 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ultimate-macOS-KVM -### v0.12.1 +### v0.12.2 Helping you build the ultimate macOS virtual machine, powered by KVM. @@ -123,7 +123,7 @@ Here's a table with my best judgment on minimum, recommended, and best system re |--------------------------:|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|:---------:|:---------:| | **AutoPilot** | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | **Auto
Download** | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✕ | -| **Online
Install** | ✕ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | +| **Online
Install** | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | **Offline
Install** | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | **QEMU
Script** | ✓ | ✓ | ✓ | ✓ | ✓ | ✓¹ | ✓¹ | ✓¹ | | **Virt
Manager** | ✓ | ✓ | ✓ | ✓ | ✓ | ?² | ?² | ?² | @@ -178,7 +178,10 @@ All of the dependencies, both required and optional, are listed below. > [!WARNING] > You **must** have all of the required dependencies installed before using this project. -> [!tip] +>[!NOTE] +> As of [v0.12.0](https://github.com/Coopydood/ultimate-macOS-KVM/releases/tag/v0.12.0), some libraries, such as ``pypresence``, are bundled with the project by default and require no further user action or installation. + +> [!TIP] > Optional dependencies can enhance your experience, such as using your VM in a GUI, or showing what macOS version you're currently running on your Discord profile. > > Your experience is automatically adapted based on the dependencies you have installed. For example, if you have ``pypresence`` installed, Discord rich presence will be enabled automatically on AutoPilot scripts. @@ -189,7 +192,7 @@ All of the dependencies, both required and optional, are listed below. Shocker; KVM is a module built into the *Linux kernel*, not **Windows Subsystem for Linux** or some UNIX-like terminal. You need a full install of at least base Linux **on your host**. Don't try any of that VM inception shenanigans. -The easiest way to do this is by grabbing some mainstream Linux distro, like **Ubuntu, Linux Mint, Manjaro, endeavourOS** - among many, many others. You can theoretically pick any one you like. *I use Arch BTW.* +The easiest way to do this is by grabbing some mainstream Linux distro, like **Ubuntu, Linux Mint, Manjaro, EndeavourOS** - among many, many others. You can theoretically pick any one you like. *I use Arch BTW.* > [!NOTE] > Testing of ULTMOS on different distrobutions is underway - but please note that is has been primarily developed and tested on **Arch** and **Debian**-based systems. diff --git a/docs/SupportedOSes.md b/docs/SupportedGuests.md similarity index 99% rename from docs/SupportedOSes.md rename to docs/SupportedGuests.md index f063ec6..a1be8b1 100644 --- a/docs/SupportedOSes.md +++ b/docs/SupportedGuests.md @@ -67,7 +67,7 @@ If you find something is wrongly marked, please feel free to update it. |--------------------------:|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|:---------:|:---------:| | **AutoPilot** | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | **Auto
Download** | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✕ | -| **Online
Install** | ✕ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | +| **Online
Install** | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | **Offline
Install** | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | **QEMU
Script** | ✓ | ✓ | ✓ | ✓ | ✓ | ✓¹ | ✓¹ | ✓¹ | | **Virt
Manager** | ✓ | ✓ | ✓ | ✓ | ✓ | ?² | ?² | ?² | diff --git a/docs/SupportedHosts.md b/docs/SupportedHosts.md new file mode 100644 index 0000000..95988d4 --- /dev/null +++ b/docs/SupportedHosts.md @@ -0,0 +1,64 @@ +## Host OSes + +There are many, *many* distros of Linux to choose from. While theoretically universal, ULTMOS has been tested on several mainstream distros. These are listed below with links for your convenience. + +> [!NOTE] +> This is NOT an exhaustive list, and simply a recommended selection. You are always free to use any distro you like, and don't worry - issues / reports **will always be investigated regardless of your distro or if it's listed here!** + +#### Recommended + + + + +

Arch Linux
Arch Linux Contributors  •  Open Website... ⎋

+ +This is an advanced distro that is known for its no-nonsense approach to Linux. It does not come with a graphical desktop environment by default, making it a good choice for those who want a minimal system to run KVM on. ULTMOS was developed on this distro, and so compatibility with it is fully guaranteed. + +>[!CAUTION] +> Arch Linux is NOT recommended for new users, but for those already comfortable with Linux. When requesting support or reporting issues on this distro, you will be expected to have a fully working OS install. +
+
+ + + + +

EndeavourOS
EndeavourOS Team  •  Open Website... ⎋

+ +A more user-friendly approach to an Arch-based system. ULTMOS was developed primarily on Arch Linux, so for almost-guaranteed compatibility - an Arch-based distro is recommended.

+ + + + +

Linux Mint
Linux Mint Team  •  Open Website... ⎋

+ +The recommended option for new users; especially those who are accustomed to Windows. Linux Mint is built on an Ubuntu / Debian foundation. ULTMOS has been tested on Linux Mint.

+ + + + +

ZorinOS
ZorinOS Team  •  Open Website... ⎋

+ +This is another very user-friendly distro based on Ubuntu. Similar to Linux Mint, it is aimed at users of Windows by providing a simple but stylish design, that can be customised to look similar to other OSes. +
+
+ + + + +

Ubuntu
Canonical  •  Open Website... ⎋

+ +The most well-known Linux distro, popular for its application support and ease of use. Also forms the base framework for many other distros, such as Linux Mint. + +>[!WARNING] +> Ubuntu contains an application distribution method known as "Snap". These "Snap packages" are NOT compatible with ULTMOS, and you will lose technical support when submitting issues or bug reports if you install any dependencies as Snap packages. +
+
+ + + + +

Fedora
The Fedora Project  •  Open Website... ⎋

+ +Boot your machine in style with a fluent, modern, and clean GRUB theme. Choose from a growing list of theme variants to show off your *NIX distro! + +
\ No newline at end of file diff --git a/docs/changelogs/v0-12-2.md b/docs/changelogs/v0-12-2.md new file mode 100644 index 0000000..2308dc7 --- /dev/null +++ b/docs/changelogs/v0-12-2.md @@ -0,0 +1,19 @@ +## v0.12.2 + +### Minor update • 16/07/2024 + +This update includes the following features / fixes / changes: + +- Added a built-in fix for macOS High Sierra recovery server issue +- Fixed an issue where AutoPilot download flow was blocked for macOS 10.XX versions +- Fixed an issue where users could bypass the disallowed beta download option +- Documentation updates +- *I'm totally higher than macOS 10.13, man!* + +To see individual code changes, visit the project's commits page at + +> [!NOTE] +> This release has multiple authors. Attributions for contributor changes are included in relevant lines above. + +> [!NOTE] +> Remember, commits by Coopydood will always be signed as **4CD28348A3DD016F** or GitHub's public key. diff --git a/resources/.upgrade b/resources/.upgrade index 95a4b7e..441f9c2 100644 --- a/resources/.upgrade +++ b/resources/.upgrade @@ -8,4 +8,5 @@ 0.11.3 0.11.4 0.12.0 -0.12.1 \ No newline at end of file +0.12.1 +0.12.2 \ No newline at end of file diff --git a/resources/oc_store/compat_old/OpenCore.qcow2 b/resources/oc_store/compat_old/OpenCore.qcow2 index 196f324..01ae30e 100644 Binary files a/resources/oc_store/compat_old/OpenCore.qcow2 and b/resources/oc_store/compat_old/OpenCore.qcow2 differ diff --git a/scripts/autopilot.py b/scripts/autopilot.py index b19d8b0..4ad590e 100755 --- a/scripts/autopilot.py +++ b/scripts/autopilot.py @@ -1012,8 +1012,7 @@ def stage12(): if USR_TARGET_OS >= 100 and USR_TARGET_OS <= 1012: print(color.YELLOW+"\n ⚠"+color.END+color.BOLD+" Download flow disabled for legacy versions.\n You must download an image manually."+color.END) - - if USR_TARGET_OS >= 15: + elif USR_TARGET_OS >= 15 and USR_TARGET_OS <= 99: print(color.YELLOW+"\n ⚠"+color.END+color.BOLD+" Download flow disabled for beta versions.\n You must download an image manually."+color.END) @@ -1034,7 +1033,7 @@ def stage12(): blob.close() stage13() else: - if USR_TARGET_OS >= 100 and USR_TARGET_OS <= 1012 or USR_TARGET_OS >= 15: + if USR_TARGET_OS >= 100 and USR_TARGET_OS <= 1012 or USR_TARGET_OS >= 15 and USR_TARGET_OS <= 99: print(color.END+color.GRAY+"\n 1. Download from Apple..."+color.END) print(color.BOLD+" 2. Select existing...") else: @@ -1054,7 +1053,7 @@ def stage12(): cpydLog("info",str("Requesting notice display")) showNotice() - if stageSelect == "1" and USR_TARGET_OS >= 100 and USR_TARGET_OS <= 1012: + if stageSelect == "1" and USR_TARGET_OS >= 100 and USR_TARGET_OS <= 1012 or USR_TARGET_OS >= 15 and USR_TARGET_OS <= 99: stage12() elif stageSelect == "1": cpydLog("info","Arming download mechanism")