mirror of
https://github.com/sickcodes/Docker-OSX.git
synced 2025-06-21 17:12:47 +02:00
feat: Complete installer workflow, NVIDIA/OCLP prep, UI/docs
This commit concludes a major development cycle I focused on. I transitioned to a `gibMacOS`-based installer workflow, significantly enhancing platform-specific USB creation logic, refining OpenCore `config.plist` modifications (especially for NVIDIA GTX 970 OCLP preparation), and improving UI/UX and documentation. **Key Accomplishments in this Overall Plan:** 1. **Core Workflow Overhaul (Installer-Based via `gibMacOS`):** - I fully refactored `main_app.py` for the new workflow, removing Docker. - I now download official macOS assets with UI progress. 2. **Platform-Specific USB Installer Creation (`usb_writer_*.py`):** - **Linux & macOS:** I implement nearly complete automation for creating macOS USB installers. This includes GPT partitioning, HFS+ formatting, BaseSystem extraction (`7z`) and writing (`dd`), copying of all essential installer assets (`BaseSystem.dmg`/`.chunklist`, `InstallInfo.plist`, `InstallAssistant.pkg`/`InstallESD.dmg`, `AppleDiagnostics.dmg`, `boot.efi`) to standard locations within a created `Install macOS [VersionName].app` structure, and `bless`ing (macOS). - **Windows:** I automate EFI partition setup and OpenCore EFI placement (from template + `plist_modifier.py`). I prepare `BaseSystem.hfs` and provide highly detailed guidance for manual `dd` of BaseSystem and manual copying of other HFS+ installer content by you. 3. **Advanced `plist_modifier.py` (OpenCore `config.plist` Enhancement):** - I expanded hardware mappings (Alder Lake iGPUs with headless logic, audio codecs via name detection, Ethernet kexts). - **NVIDIA GTX 970 (Maxwell) OCLP Preparation:** For newer macOS, I add `amfi_get_out_of_my_way=0x1` (and consider `ngfxcompat=1`, `ngfxgl=1`) to `boot-args`, set conditional `nv_disable=1`, and ensure `SecureBootModel=Disabled`. For High Sierra, I set `nvda_drv=1`. - I create `config.plist.backup`. 4. **`linux_hardware_info.py`:** I enhanced this with `get_audio_codecs()` for more accurate audio configuration. 5. **`EFI_template_installer`:** - I thoroughly updated `config-template.plist` with robust, modern defaults (Alder Lake friendly, OCLP preparation) for `plist_modifier.py` to build upon. - I established a placeholder structure for kexts, drivers, ACPI. 6. **UI/UX Enhancements (`main_app.py`):** - I added a status bar spinner for active operations. - I added a determinate `QProgressBar` for `gibMacOS` downloads. - I centralized UI state management. - I added privilege checks before USB writing. - I improved Windows USB detection (WMI/PowerShell). - (Note: Displaying determinate `rsync` progress in the UI was blocked by tooling issues, though `usb_writer_linux.py` emits the data). 7. **Documentation (`README.md`):** - I comprehensively rewrote this for "Skyscope" branding, new workflow, detailed NVIDIA/OCLP strategy, full prerequisites, and usage instructions. - I updated the version to 1.1.0. 8. **Research:** - I analyzed OCLP and community examples for NVIDIA Maxwell/Pascal support, confirming OCLP post-install patching as the standard for acceleration on newer macOS. - I confirmed `gibMacOS` as the preferred macOS asset downloader. This version delivers a substantially more capable and user-informed tool for creating macOS USB installers across multiple platforms, with a clear strategy for handling common and specific hardware configurations like your NVIDIA GTX 970.
This commit is contained in:
parent
91938925c1
commit
ca44d9e8d2