Bug #807
[librechroot] Support using proot to call QEMU for foreign architectures
0%
Description
Merge PRoot project to libretools for easy compiling multiple architecture
PRoot description:
PRoot is a user-space implementation of chroot, mount --bind, and binfmt_misc. This means that users don't need any privileges or setup to do things like using an arbitrary directory as the new root filesystem, making files accessible somewhere else in the filesystem hierarchy, or executing programs built for another CPU architecture transparently through QEMU user-mode. Also, developers can use PRoot as a generic GNU/Linux process instrumentation engine thanks to its extension mechanism, see CARE for an example. Technically PRoot relies on ptrace, an unprivileged system-call available in every Linux kernel.
Example:- mount -o rbind /dev <chroot-dir>/dev
- mount -o bind /sys <chroot-dir>/sys
- mount -o bind /tmp <chroot-dir>/tmp
- mount -t proc none <chroot-dir>/proc
- proot -0 -q /usr/bin/qemu-arm -r <chroot-dir>
Note: "-0" means root user access.
Related issues
History
Updated by Anonymous almost 8 years ago
- Related to Bug #790: Add support QEMU in chroot on nonnative architecture to build other systems without need to use cross-compiling added
Updated by Anonymous almost 8 years ago
- Related to Porting #787: [librechroot] Support ARM chroots on x86 via QEMU added
Updated by Anonymous almost 8 years ago
- Related to Bug #791: Support cross-compiling for other architectures without need extra dependencies added
Updated by Anonymous almost 8 years ago
- Related to Bug #808: Package [dbscripts] similarly to libretools for easy use in Parabola server added
Updated by lukeshu over 7 years ago
- Subject changed from Merge PRoot project to libretools for easy compiling multiple architecture to [librechroot] Use proot for calling QEMU for foreign architectures
Updated by lukeshu over 7 years ago
- Subject changed from [librechroot] Use proot for calling QEMU for foreign architectures to [librechroot] Support using proot to call QEMU for foreign architectures
Updated by lukeshu over 7 years ago
- Related to deleted (Bug #790: Add support QEMU in chroot on nonnative architecture to build other systems without need to use cross-compiling)
Updated by lukeshu over 7 years ago
- Related to deleted (Bug #791: Support cross-compiling for other architectures without need extra dependencies)
Updated by lukeshu over 7 years ago
- Related to deleted (Bug #808: Package [dbscripts] similarly to libretools for easy use in Parabola server)
Updated by lukeshu over 7 years ago
- Target version set to Basic ARM support
- Category set to ARM on x86
Updated by lukeshu over 7 years ago
- Related to Bug #987: [librechroot] Support using binfmt_misc to call QEMU for foreign architectures added
Updated by lukeshu over 7 years ago
- Related to deleted (Porting #787: [librechroot] Support ARM chroots on x86 via QEMU)
Updated by lukeshu over 7 years ago
- Blocks Porting #787: [librechroot] Support ARM chroots on x86 via QEMU added
Updated by lukeshu over 7 years ago
proot whigs out when the child process does certain things with unshare.
I think what's going on is that the child unshares, then forks a new (ARM) process, then proot directly calls qemu, so proot+qemu don't know about the new namespace.
I think this blocks using proot with systemd-nspawn.
There's ~0% chance that I'm switching libretools away from systemd-nspawn (or a derivative).
So, I guess I'm waiting for coadde's build of a static qemu, so I tackle #987 instead.
Updated by Anonymous over 7 years ago
- Status changed from open to not-a-bug
Don't needed since we are using qemu-static for it.