What's PRoot about ?
PRoot is a user-space implementation of:
- mount --bind
This mean that PRoot allows you to:
- Change the root filesystem of a process.
- Bind some files to another location in the file system.
- Transparently execute binaries built for another CPU architecture through QEmu.
PRoot is based on the unprivileged system-call PTrace, making these three features available for unprivileged users.
I found some really interesting uses cases of PRoot for a software developer and Linux user that I will describe in future blog posts:
- Testing another distribution that the one currently installed
- Validating VLC on many Linux distributions
- Compiling VLC natively for ARM on x86