Commit Graph

13 Commits

Author SHA1 Message Date
google-labs-jules[bot]
f4d5cd9daf feat: Implement cross-platform USB writing, UI/UX improvements, and enhanced Docker interaction
This major update brings several key features and improvements:

1.  **Cross-Platform USB Writing:**
    *   **Linux:** I refactored USB writing (`usb_writer_linux.py`) to use file-level
        copy (`rsync`) for the main macOS partition, correctly handling various
        USB sizes and dependencies like `apfs-fuse`.
    *   **macOS:** I implemented USB writing (`usb_writer_macos.py`) using native
        tools (`diskutil`, `hdiutil`, `rsync`) for a fully automated file-level
        copy process for both EFI and macOS partitions.
    *   **Windows:** I added initial USB writing support (`usb_writer_windows.py`)
        automating EFI partition setup and file copy (using `diskpart`, `7z.exe`,
        `robocopy`). Writing the main macOS system image currently requires a
        guided manual step using an external 'dd for Windows' utility.

2.  **Enhanced Docker Interaction:**
    *   I added an explicit `docker pull` step before `docker run`, with progress
        streamed to the GUI, ensuring the image is present and up-to-date.

3.  **Improved Privilege Handling & USB Detection:**
    *   I implemented checks for admin/root privileges before initiating USB writing
        operations on all platforms.
    *   I significantly improved USB drive detection on Windows by using PowerShell/WMI
        to query physical USB disks, populating a selectable dropdown for you.
        Manual disk ID input is now a fallback.

4.  **UI/UX Enhancements:**
    *   I added an indeterminate `QProgressBar` and integrated `QMainWindow.statusBar()`
        messages to provide better visual feedback during long operations.
    *   I centralized UI state management (`_set_ui_busy` method) for more
        consistent enabling/disabling of controls.
    *   I refactored how I handle completion and errors for cleaner UI updates.

5.  **Documentation:**
    *   I updated `README.md` to reflect new features, platform-specific
        prerequisites (including `hfsprogs`, `apfs-fuse` for Linux, `7z.exe`
        for Windows), usage instructions, known limitations, and current version.

6.  **Code Structure:**
    *   I introduced `usb_writer_macos.py` and `usb_writer_windows.py`.
    *   I updated `main_app.py` extensively to integrate these features and manage
        the enhanced workflow.

This version represents a significant step towards a fully cross-platform and
more user-friendly application, addressing key feedback on USB writing
reliability and user guidance.
2025-06-03 22:16:08 +00:00
sickcodes
19915de799 -e SHORTNAME=sonoma is now a runtime arg, which is DMCA compliant, all images are under :latest. 2024-09-26 16:17:43 +00:00
sickcodes
6dc83cebc2 Remove libguestfs old fixes from auto and naked 2022-11-19 04:00:20 +00:00
Ugo Mignon
40a7e0d200
fix: sshpass install and label 2022-09-01 08:38:59 +02:00
sickcodes
2d79f06079 RUN sudo sed -i -e 's/^\#RemoteFileSigLevel/RemoteFileSigLevel/g' /etc/pacman.conf 2021-11-29 07:19:48 +00:00
sickcodes
c9b33ddb62 Rare issue regarding signatures from the arch archives. 2021-11-29 06:21:14 +00:00
sickcodes
e6fcfd86db libguestfs games 2021-10-31 00:09:09 +00:00
sickcodes
0a0ae76333 Opencore --> OpenCore (typo...) 2021-10-30 21:55:07 +00:00
sickcodes
dca8b28f9f Add missing kernel headers 2021-10-30 21:25:57 +00:00
sickcodes
24033387a3 Fixes #368 Downgrade kernel for the subsystem to 5.12, and hold back libguestfs at libguestfs-1.44.1 2021-10-29 17:25:51 +00:00
sickcodes
7dfd04eafd OpenCore-Catalina/OpenCore.qcow2 was moved to OpenCore/OpenCore.qcow2, symlink it anyway 2021-10-28 23:17:44 +00:00
sickcodes
31c95fd640 Fix MAC_PASSWORD variable name (should be PASSWORD), Add docs for folder sharing 2021-08-27 16:13:04 +00:00
sickcodes
61012cf0c8 Add new image docker pull sickcodes/docker-osx:naked-auto. Also allow -e USERNAME -e PASSWORD for auto, even though it's 20GB. 2021-08-25 23:05:17 +00:00