Commit Graph

477 Commits

Author SHA1 Message Date
google-labs-jules[bot]
6dc2bf0c1f feat: Initial GUI, Docker orchestration, and Linux USB writing
I've implemented the initial GUI application "Skyscope macOS on PC USB Creator Tool" using PyQt6.

Key features I've implemented:
1.  **macOS Version Selection:** You can select the desired macOS version.
2.  **Docker Orchestration:**
    *   I will build and display `docker run` commands for Docker-OSX.
    *   I will run Docker containers in a separate thread with output streamed to the GUI.
    *   I will persist containers (no --rm) and use unique names for later access.
3.  **Image Extraction:**
    *   You can copy `mac_hdd_ng.img` and `OpenCore.qcow2` from the
        container to your local filesystem after macOS installation in QEMU.
    *   I provide options to stop and remove the container.
4.  **USB Drive Management (Linux PoC):**
    *   I will detect potential USB drives using `psutil`.
    *   I've implemented USB writing for Linux systems (`usb_writer_linux.py`):
        *   I will check for dependencies (qemu-img, parted, kpartx, rsync, mkfs.vfat).
        *   I will partition the USB drive (GPT, EFI, macOS HFS+).
        *   I will convert QCOW2 images (OpenCore and macOS base) to raw.
        *   I will copy EFI files to the ESP using kpartx and rsync.
        *   I will write the main macOS image using `dd` (Note: known issue - this currently
          writes the full sparse size; I need to change this to file-level copy).
        *   I will include a data erasure warning before writing to USB.
5.  **iGPU Configuration Review:**
    *   I've confirmed that the default OpenCore config from Docker-OSX includes
        WhateverGreen for generic Intel iGPU support.

The application structure includes `main_app.py`, `utils.py`, `constants.py`,
and `usb_writer_linux.py`. I manage background tasks in QThreads to keep
the GUI responsive.

Further work based on your feedback will address:
-   Modifying USB writing to use file-level copies for the main macOS system
    to correctly handle disk sizes.
-   Adding an explicit `docker pull` stage.
-   Improving privilege checks for USB operations.
2025-06-01 15:21:51 +00:00
google-labs-jules[bot]
e118df9152 Jules was unable to complete the task in time. Please review the work done so far and provide feedback for Jules to continue. 2025-06-01 10:43:01 +00:00
sickcodes
9a229b87ce
Merge pull request #742 from Anthropohedron/faq
Frequently Asked Questions
2024-05-01 16:53:12 +00:00
sickcodes
476de8d2d1
Merge pull request #683 from iambenmitchell/master-1
Update CREDITS.md
2024-04-08 14:36:55 +00:00
sickcodes
42263d90fc config-custom-sonoma.plist & config-nopicker-sonoma.plist 2024-04-08 13:20:18 +00:00
sickcodes
756a1c03b9
Merge pull request #758 from sickcodes/sonoma
Update to add Sonoma
2024-04-08 13:13:18 +00:00
sickcodes
37aad0460d Add sonoma to README with special flags 2024-04-08 13:12:35 +00:00
sickcodes
54c96557c0 Add tests/sonoma_master.png 2024-04-08 10:37:47 +00:00
sickcodes
e17ee6c90a Update submodule 2024-04-01 07:55:14 +00:00
sickcodes
a208578bf0 Merge @kholia/OSX-KVM Set XHCI controller to qemu-xhci for USB keyboard/ mouse on macOS 14.4 #238 2024-03-27 13:07:30 +00:00
Anthropohedron
88343e730c one more FAQ 2024-02-08 17:42:30 -05:00
Anthropohedron
a13f61bded drafted FAQ 2024-02-08 15:35:19 -05:00
sickcodes
d09fa38b47 Update submodule 2023-11-16 18:05:26 +00:00
sickcodes
b09155a612 Add another version specific field 2023-11-16 15:32:50 +00:00
sickcodes
669bea269d Add sonoma to README and build script. Plist changes shall be made via 422bb3b713 and then update submodule sickcodes/osx-serial-generator 2023-11-16 14:28:51 +00:00
Ben Mitchell
d3129a83d5
Update CREDITS.md
Changed my name on GitHub a while ago haha
2023-08-06 02:19:45 +01:00
sickcodes
846cf8fdaf
Merge pull request #661 from lucasrueda/master
Tiny change on Readme: Recommend to Find by name instead of using grep on results
2023-06-13 11:04:26 +00:00
Lucas Rueda
bc0be6b6c7
Find by name instead of using grep on results 2023-05-22 17:04:39 -03:00
sickcodes
bb1e992916
Merge pull request #616 from raeldev/add-kvm-install-to-readme
Add kvm and dependencies install to readme
2023-01-23 18:11:32 +00:00
sickcodes
51f1c1ce14
Merge pull request #613 from Ygnys/fix-typos
fixing typos in Readme
2023-01-23 18:09:40 +00:00
Israel Augusto Moreira
ac3fe529a8 fix wrong parameter 2023-01-21 02:06:20 +00:00
Israel Augusto Moreira
0daf0ff5d4 add kvm and dependencies install to readme 2023-01-21 01:54:20 +00:00
Agnieszka Stec
8f555f085d
fixing typos in Readme
Found a few minor typos in Readme
2023-01-16 08:59:16 -10:00
sickcodes
924fa68088 Update submodule 2022-11-19 10:37:21 +00:00
sickcodes
237a286e44 Add ventura test, add other images to automated push 2022-11-19 10:19:05 +00:00
sickcodes
de142e8e49 Remove libguestfs patch from auto 2022-11-19 04:02:57 +00:00
sickcodes
fc8f78ff0f Fix Dockerfile.auto inline with others 2022-11-19 04:02:17 +00:00
sickcodes
6dc83cebc2 Remove libguestfs old fixes from auto and naked 2022-11-19 04:00:20 +00:00
sickcodes
9b10a306db Add Xvfb to tests for screenshotting test auto 2022-11-19 03:59:33 +00:00
sickcodes
fbe5dba618 Fix busted docker.list 2022-11-19 03:53:32 +00:00
sickcodes
2265bb5a3f Signature errors 2022-11-18 15:58:05 +00:00
sickcodes
86452e6da3 Clean Dockerfile 2022-11-18 04:35:02 +00:00
sickcodes
e612ca3229 Warning still exit 1's 2022-11-16 14:46:51 +00:00
sickcodes
dab7fc884c Add Worldwide mirrors 2022-11-16 14:44:37 +00:00
sickcodes
c0ea46aab5 archlinux image keyring issue 2022-11-16 14:41:37 +00:00
sickcodes
bb75dc4669 git pull when doubling builds on one server 2022-11-16 14:26:58 +00:00
sickcodes
9aac2dbe7f Fix keyring pacman-key --populate archlinux 2022-11-16 14:25:24 +00:00
sickcodes
cedfbf521c Update submodules 2022-11-16 14:00:58 +00:00
sickcodes
671c46046a
Merge pull request #566 from sickcodes/ventura
Add latest OS, Ventura
2022-11-16 13:05:35 +00:00
sickcodes
e5ca81ee6e Add mkdir -p, add ventura elsewhere 2022-11-15 19:17:58 +00:00
sickcodes
ed5e50da7c Add ventura to Docker-OSX README 2022-11-14 19:03:18 +00:00
sickcodes
306961a107 Add ventura to Docker-OSX 2022-11-14 19:00:37 +00:00
sickcodes
917e091798
Merge pull request #545 from Sondro/master
README: 'mac_hdd_ng_auto_monterey' to 'mac_hdd_ng_auto_monterey.img'
2022-11-14 17:16:30 +00:00
sickcodes
1e00c9cfd7 Fix keyserver issues, cherry pick aaronjamt/patch-1 2022-11-10 00:11:18 +00:00
sickcodes
f794cac0e2
Merge pull request #532 from arifulislamat/patch-1 2022-11-09 16:03:43 -08:00
sickcodes
e0d753030b
Merge pull request #551 from aaronjamt/patch-1 2022-11-09 16:02:46 -08:00
sickcodes
586e093ba6 Fix qemu build 2022-11-09 22:45:19 +00:00
sickcodes
160489b0e3 Add ventura 2022-11-09 22:39:21 +00:00
Aaronjamt
a43fc57188
Fix issue with invalid GPG keys in VNC version
Without this, `pacman` gives the following errors when trying to update packages as part of the installation:
* The first error is `error: pambase: key "991F6E3F0765CF6295888586139B09DA5BF0D338" is unknown`
* This is followed by a bunch of errors similar to (but with different filenames): `:: File /var/cache/pacman/pkg/pambase-20221020-1-any.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature)). Do you want to delete it? [Y/n]`
* These are followed by `error: libvpx: key "95220BE99CE6FF778AE0DC670F65C7D881506130" is unknown`
* Finally, it ends with `error: failed to commit transaction (invalid or corrupted package)` and `Errors occurred, no packages were upgraded.` before exiting with code `1`.
This `RUN` command will update the `archlinux-keyring` package to get the latest keys, then remove and regenerate all gnupg keys inside the container. This allows `pacman` to accept the GPG keys and resolves the above error.
2022-10-21 22:23:45 -07:00
Sondro
ab54b75ab8
README: 'mac_hdd_ng_auto_monterey' to 'mac_hdd_ng_auto_monterey.img' 2022-10-02 20:22:13 -07:00