Skip to content

Conversation

@dcantah
Copy link
Contributor

@dcantah dcantah commented Nov 14, 2025

Taking in a filehandle gives the user quite a bit more freedom on how to handle boot log output. They can set up a kqueue watch on it and redirect output somewhere else etc etc. The implementation for this has us take in a new BootLog type that has two options:

  1. .file, which is analogous to what we had prior. Just provide a URL and a true by default append field.
  2. .fileHandle which is the new addition. Can pass any fd that is writable, and the VMM should write serial console output to it.

Taking in a filehandle gives the user quite a bit more freedom on how to handle boot log output. They can set up a
kqueue watch on it and redirect output somewhere else etc etc. The implementation for this has us take in a new BootLog
type that has two options:

1. .file, which is analogous to what we had prior. Just provide a URL and a true by default append
field.
2. .fileHandle which is the new addition. Can pass any fd that is writable, and the VMM should write serial
console output to it.
@dcantah dcantah merged commit 4c761d5 into apple:main Nov 14, 2025
2 checks passed
richardkiene added a commit to Vas-Solutus/arca-containerization that referenced this pull request Dec 1, 2025
Sync with Apple's containerization repo (57 commits behind).

Notable upstream changes:
- LinuxContainer: "Harden" stop (apple#388)
- OCI runtime support (apple#416)
- Memory threshold monitoring (apple#427)
- FileHandle option for serial console (apple#410)
- Keep reference to vended execs (apple#408)
- Sync(2) on shutdown (apple#400)
- Fix ImageStore.prune() behavior (apple#420)
- Various stability improvements

Resolved conflicts:
- LinuxContainer.swift: Merged bootLog type change with our useNetworkNamespace
- Application.swift: Kept our service startup code (removed old log line per upstream)
- Server+GRPC.swift: Used upstream's async ManagedContainer, kept our DNS comment
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants