Fix chroot trying to change into non-existent directory #7803
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.
I tried to use the uutils
chroot
binary, it failed saying it can't switch to the new root. I found that the line I'm changing in this PR was the culprit, and commented it out. This made it work, however the new shell opened in the directory I had previously opened (I believe it was mapped inside the new root somewhere). Changing theset_current_dir
call to target/
(which is always the new root AFAIK, since this call runs afterchroot
) seems to do the right thing (it worked for me).I did not look into how other implementations of
chroot
work, I only observed that this implementation was broken (initially the version AerynOS ships, then a self-built binary from the latest state of this repo, a little over two weeks ago), and played around with it until I had a fix that worked, and seemed reasonable, to me.