Repository navigation
fix(linux): pass the application command to urunit in config - #1136
Open
indrajithek wants to merge 6 commits into
Open
indrajithek wants to merge 6 commits into
indrajithek wants to merge 6 commits into
Conversation
👷 Deploy request for urunc pending review.Visit the deploys page to approve it
|
indrajithek
force-pushed
the
fix/linux-args-urunit-config
branch
2 times, most recently
from
October 24, 2026 07:27
fba940e to
96b1459
Compare
The Linux kernel command line cannot carry an arbitrary argument list: an empty argument disappears, a literal `--` cuts off the rest, the list is truncated at 2048 bytes and more than 32 arguments panic the kernel. When urunit is the init, write the application command in the urunit configuration as `ARC`/`ARV` entries, as FreeBSD guests already do, and stop passing it on the kernel command line. Also return a clear error when an argument contains a newline. This fix requires a urunit that reads `ARC`/`ARV`. Fixes: urunc-dev#1067 Signed-off-by: Indrajith <29561593+indrajithek@users.noreply.github.com>
Signed-off-by: Indrajith <29561593+indrajithek@users.noreply.github.com>
Add the `ARC`/`ARV` entries to the documented urunit configuration format and update the list of actions urunit performs. Ref: urunc-dev#1067 Signed-off-by: Indrajith <29561593+indrajithek@users.noreply.github.com>
indrajithek
force-pushed
the
fix/linux-args-urunit-config
branch
from
November 6, 2026 14:31
96b1459 to
6dd22f1
Compare
Noticed urunc-dev#1068 is also addressing arguments containing a newline. Removing it from this PR to avoid conflicts. Signed-off-by: Indrajith <29561593+indrajithek@users.noreply.github.com>
This was referenced Nov 10, 2026
This branch has not been deployed
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.
Description
Linux guests that use urunit as init, urunc passes the application's arguments on the kernel command line. The kernel can't carry an arbitrary argument list, so some arguments get dropped or cut (described in #1067).
This writes the application command into the urunit config as
ARC/ARVentries, the same way FreeBSD guests already do. urunit takes the command from the config when it is started without arguments.Note: Given
ARC/ARVsupport came out recent, image with an older urunit fails to start withNo application execute. I checked the/urunitbinary in the Linux e2e images: the 8*-linux-rawones don't have it (I've not check the initrd and block ones), so they would need a rebuild fromurunit:latest. The v0.1.0 download links in the tutorial have the same problem.Related issues
How was this tested?
All the cases reported in #1067 are tested via unit tests
linux_test.goLLM usage
Only claude Code Opus 5.5 with XHigh effort is used (manual mode). Decision making or architecture is not by AI. If code generation was used, it's reviewed manually line by line.
Checklist
make lint).make test_ctr,make test_nerdctl,make test_docker,make test_crictl). Before running this all linux images need to rebuild with latest urunit withARC/ARV