Begin MACOS_VM_NATIVE_AGENT_Markdown
Nucleic-Session: 8BBA8B40-FA38-4556-8B3A-7A2DFD4C87B2 Co-authored-by: Nucleic <[email protected]>
This commit is contained in:
+13
-5
@@ -256,11 +256,19 @@ recorded in the bundle's `bundle.json` and surfaced as "Installed guest macOS" i
|
|||||||
> **No macOS 27 SDK or deployment-target bump is needed** to install/run a 27 guest — the stable
|
> **No macOS 27 SDK or deployment-target bump is needed** to install/run a 27 guest — the stable
|
||||||
> `VZMacOSRestoreImage`/`VZMacOSInstaller`/`VZVirtualMachine` API (macOS 12→27) is version-agnostic and
|
> `VZMacOSRestoreImage`/`VZMacOSInstaller`/`VZVirtualMachine` API (macOS 12→27) is version-agnostic and
|
||||||
> `Virtualization.framework` is resolved at runtime from the host. The package stays at `.macOS(26)`.
|
> `Virtualization.framework` is resolved at runtime from the host. The package stays at `.macOS(26)`.
|
||||||
> macOS 27 does add *opt-in* APIs — notably **`VZMacGuestProvisioningOptions`** (declarative first-boot
|
>
|
||||||
> that injects the account and enables auto-login + SSH, potentially retiring the manual Setup-Assistant
|
> **Declarative first-boot provisioning (macOS 27) — wired in.** On a macOS 27 host installing a
|
||||||
> + kcpassword provisioning for 27 guests), plus DiskImageKit and USB pass-through — but these require
|
> macOS 27+ guest, `buildBaseImage` now runs an unattended first boot with
|
||||||
> the macOS 27 SDK + `if #available(macOS 27, *)` and are beta-rough, so they're future work, not wired
|
> **`VZMacGuestProvisioningOptions`** (`MacVMEngine+Provision27.swift`, gated
|
||||||
> in yet.
|
> `#available(macOS 27, *)`): the guest creates the `agent` account (password from
|
||||||
|
> `MacVMSettings.agentPassword`, else generated and persisted at `macvms/ssh/agent-password`),
|
||||||
|
> enables **auto-login** and **Remote Login**, then Nucleic authorizes its SSH key over one
|
||||||
|
> password-auth SSH (askpass) and shuts the guest down — an **exec-ready base with zero manual
|
||||||
|
> steps**, retiring the Setup-Assistant hand-work for the latest guests. The step is best-effort:
|
||||||
|
> any failure publishes the installed base anyway and the classic manual path (§4.2) still works.
|
||||||
|
> `bundle.json` records it as `accountProvisioned`. Toolchain + computer-use provisioning
|
||||||
|
> (`provision-macos-guest.sh`) still follows, but can now run over SSH. Other 27 additions
|
||||||
|
> (DiskImageKit, USB pass-through) remain future work.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user