sudo apt-get install dchroot
sudo mkdir -p /srv/chroots/
cd /srv/chroots/ wget arcoslab.eie.ucr.ac.cr/sid-amd64-2013.02.25-rosbase.tar.bz2 tar -xjf sid-amd64-2013.02.25-rosbase.tar.bz2
#!/bin/bash CHROOT_DIR=/srv/chroots/ CHROOT_NAME=`basename $0 .sh` if [ ! -e /var/run/$CHROOT_NAME ] then sudo touch /var/run/$CHROOT_NAME sudo bash -c "echo 1 > /var/run/$CHROOT_NAME" else sudo bash -c "echo `expr 1 + \`cat /var/run/$CHROOT_NAME\`` > /var/run/$CHROOT_NAME" fi if [ `cat /var/run/$CHROOT_NAME` -eq 1 ] then echo "First chroot invocation. Mounting host system directories" sudo mkdir -p $CHROOT_DIR/$CHROOT_NAME/hostfs #mount -o bind /home/ $CHROOT_DIR/$CHROOT_NAME/home sudo mount proc -t proc $CHROOT_DIR/$CHROOT_NAME/proc sudo mount -o bind /dev $CHROOT_DIR/$CHROOT_NAME/dev sudo mount sys -t sysfs $CHROOT_DIR/$CHROOT_NAME/sys sudo mount none -t devpts $CHROOT_DIR/$CHROOT_NAME/dev/pts sudo mount -o bind / $CHROOT_DIR/$CHROOT_NAME/hostfs fi echo "Starting chroot." #dchroot -c $CHROOT_NAME sudo chroot $CHROOT_DIR/$CHROOT_NAME su - $USER echo "Chroot closed." if [ `cat /var/run/$CHROOT_NAME` -eq 1 ] then echo "Closing last invocation. Unmounting host system directories" for i in dev/pts hostfs proc dev sys do sudo umount $CHROOT_DIR/$CHROOT_NAME/$i sleep 0.5 done fi sudo bash -c "echo `expr \`cat /var/run/$CHROOT_NAME\` - 1` > /var/run/$CHROOT_NAME" if [ `cat /var/run/$CHROOT_NAME` -eq 0 ] then sudo rm /var/run/$CHROOT_NAME fi
[sid-amd64-2013.02.25-rosbase] description=Debian sid (unstable) directory=/srv/chroots/sid-amd64-2013.02.25-rosbase users=memeruiz # CHANGE!!!! #groups=sbuild root-groups=root aliases=unstable,default preserve-environment=true
Now you are done. With:
sid-amd64-2013.02.25-rosbase.sh
You will get your chroot running. (this will not work because you don't have your same user in chroot yet, look down)
sudo sid-amd64-2013.02.25-rosbase.sh
adduser username
If you have questions regarding chroot please check Debian Unstable inside a Chroot for more information.