vm: provide isolated pseudo-terminals for each action - #46
Open
zbarsky-openai wants to merge 1 commit into
Open
zbarsky-openai wants to merge 1 commit into
zbarsky-openai wants to merge 1 commit into
Conversation
Tools that need an interactive terminal currently fail inside actiond: ```text OSError: out of pty devices ``` A real remotely executed Python probe confirms there is no `/dev/ptmx`, no `/dev/pts`, and no `devpts` mount in the action chroot. Enable `CONFIG_UNIX98_PTYS=y` for both ARM64 and x86_64 guest kernels. Prepare `/dev/pts` and point `/dev/ptmx` at its instance-local `ptmx` node. Mount a fresh `devpts` filesystem with `newinstance`, `ptmxmode=0666`, `mode=0620`, `nosuid`, and `noexec` inside each action's existing private mount namespace before dropping privileges. `nodev` is intentionally omitted because pseudo-terminal device nodes must remain usable. No runtime package or shared host device is added. The real Linux Kconfig parser verifies both architectures, and the existing chroot unit test checks the new directory and relative symlink. The ARM64 kernel and guest initramfs were rebuilt through actiond itself; the restarted executor passes a real `pty.openpty()` read/write probe and the complete 1,224-test packaging suite.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Tools that need an interactive terminal currently fail inside actiond:
A real remotely executed Python probe confirms there is no
/dev/ptmx,no
/dev/pts, and nodevptsmount in the action chroot.Enable
CONFIG_UNIX98_PTYS=yfor both ARM64 and x86_64 guest kernels.Prepare
/dev/ptsand point/dev/ptmxat its instance-localptmxnode. Mount a fresh
devptsfilesystem withnewinstance,ptmxmode=0666,mode=0620,nosuid, andnoexecinside eachaction's existing private mount namespace before dropping privileges.
nodevis intentionally omitted because pseudo-terminal device nodesmust remain usable. No runtime package or shared host device is added.
The real Linux Kconfig parser verifies both architectures, and the
existing chroot unit test checks the new directory and relative symlink.
The ARM64 kernel and guest initramfs were rebuilt through actiond itself;
the restarted executor passes a real
pty.openpty()read/write probeand the complete 1,224-test packaging suite.