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
|
||||
> `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)`.
|
||||
> 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
|
||||
> + kcpassword provisioning for 27 guests), plus DiskImageKit and USB pass-through — but these require
|
||||
> the macOS 27 SDK + `if #available(macOS 27, *)` and are beta-rough, so they're future work, not wired
|
||||
> in yet.
|
||||
>
|
||||
> **Declarative first-boot provisioning (macOS 27) — wired in.** On a macOS 27 host installing a
|
||||
> macOS 27+ guest, `buildBaseImage` now runs an unattended first boot with
|
||||
> **`VZMacGuestProvisioningOptions`** (`MacVMEngine+Provision27.swift`, gated
|
||||
> `#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