I created a utility called l32 that performs the personality switch, chroot, suid (back to a normal user) and execv(). normally I have to do this as a normal user to run a 32-bit program in a chroot: $ sudo linux32 chroot /home/32-bit su - user1 -c id With this command installed, I just do this: $ l32 id
Created attachment 72021 [details] ebuild for new command this ebuild is also contained in the archive
Created attachment 72022 [details, diff] a patch to keep the default chroot directory that is coded in l32.h l32.h has /home/32-bit as the hard coded chroot. The source is designed to throw an error if the user hasn't edited that file and put in their own chroot directory, however, in order to get the ebuild to work without interaction, I submit this patch.
- please attach files as plain text - the ebuild header is missing
- please attach files as plain text - the ebuild header is missing¹ - IUSE="" is missing - use make DESTDIR=${D} install instead einstall [1] http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2&chap=3
Created attachment 72040 [details] updated ebuild updated ebuild with comments from carlo@gentoo.org also archive is updated without version bump to include DESTDIR in the Makefile
Created attachment 74733 [details, diff] Updated patch to match the chroot handbook I changed the DEFAULT_LOWDIR to be /mnt/gentoo32 to match the chroot handbook
Created attachment 75111 [details] version bump l32-1.1.1 fixed a bug in source, where it was not setting the personality correctly. Also added another check to ensure the personality was switched successfully.
with apologies for closing: upstream appears dead, if upstream is alive and kicking feel free to re-open.