On Fri, Aug 1, 2014 at 4:31 PM, Canek Peláez Valdés <can...@gmail.com> wrote:
> On Aug 1, 2014 3:46 PM, "J. Roeleveld" <jo...@antarean.org> wrote:
>>
>> On 1 August 2014 15:28:01 CEST, Dale <rdalek1...@gmail.com> wrote:
>> >Peter Humphrey wrote:
>> >> On Friday 01 August 2014 14:07:08 I wrote:
>> >>
>> >>> I run a couple of chroots on this box to build packages for other
>> >boxes on
>> >>> the LAN. So far, I haven't worked out what I should populate
>> >/etc/mtab with
>> >>> in each chroot. Is it enough to "grep ext4 /etc/mtab >
>> >>> /mnt/chroot/etc/mtab"? That catches all the physical partitions, but
>> >I
>> >>> imagine I need to add some /proc, /sys and /dev entries as well, but
>> >is
>> >>> there a simple formula for doing this?
>> >> I meant to add that one chroot is 32-bit and the other is 64. The
>> >host is an
>> >> i5 running openrc.
>> >>
>> >
>> >It has been a good while since I used this.  So, make sure it makes
>> >sense to you before trying this.  This may not work if something has
>> >changed in the past several years.  Use with caution if at all.
>> >
>> >This is a little script, if you want to call it that, that I used to do
>> >mine.  It also lists the command to use to do a 32 bit chroot from a 64
>> >bit rig.  Here it is:
>> >
>> >root@fireball / # cat /root/xx.chroot-mount-32bit
>> >
>> >
>> >mount -o bind /dev /mnt/gentoo32/dev
>> >mount -o bind /dev/pts /mnt/gentoo32/dev/pts
>> >mount -o bind /dev/shm /mnt/gentoo32/dev/shm
>> >mount -o bind /proc /mnt/gentoo32/proc
>> >mount -o bind /proc/bus/usb /mnt/gentoo32/proc/bus/usb
>> >mount -o bind /sys /mnt/gentoo32/sys
>> >mkdir -p /mnt/gentoo32/usr/portage/
>> >mount -o bind /usr/portage /mnt/gentoo32/usr/portage/
>> >
>> >
>> >echo " mounting finished"
>> >
>> >echo "run linux32 chroot /mnt/gentoo32 /bin/bash next"
>> >root@fireball / #
>> >
>> >
>> >You may have different mount points at the very least so edit to match
>> >what you have.  Again, things could have changed and that no longer
>> >will
>> >work.  It may not be a bad idea to let someone who has done this more
>> >recently to give a thumbs up to that.
>> >
>> >That last command should be:
>> >
>> >linux32 chroot /mnt/gentoo32 /bin/bash
>> >
>> >Dale
>> >
>> >:-)  :-)
>>
>> That script is too long :)
>>
>> cd /mnt/gentoo
>> mount -o rbind /dev dev
>> mount -o rbind /sys sys
>> mount -o rbind /proc proc
>> cp -L /etc/resolv.conf etc/resolv.conf
>> cd ..
>> chroot gentoo /bin/bash
>>
>> To undo:
>> cd /mnt/gentoo
>> umount -l proc sys dev
>
> That's still too long :)
>
> With systemd-nspawn, you only do:
>
> systemd-nspawn -D /mnt/gentoo
>
> Systemd takes care of /dev, /sys, etc. If the container has systemd
> installed, you can do
>
> systemd-nspawn -bD /mnt/gentoo
>
> and the services inside the container will be started like in a regular boot
> (you'll need to set the root password for the container).
>
> Also, if you want to share the /usr/portage directory between host and
> container, you only need to
>
> systemd-nspawn --bind=/usr/portage -bD /mnt/gentoo

Oh, and I forgot: to stop the container, just log out if the container
runs OpenRC, or run systemctl poweroff if the container runs systemd.

Regards.
-- 
Canek Peláez Valdés
Profesor de asignatura, Facultad de Ciencias
Universidad Nacional Autónoma de México

Reply via email to