Development Team/Chroot: Difference between revisions
No edit summary |
|||
| Line 16: | Line 16: | ||
mount -t devpts devpts /dev/pts | mount -t devpts devpts /dev/pts | ||
==== Debian | ==== Debian squeeze chroot ==== | ||
With debootstrap, in order to get a working chroot, you want something like: | With debootstrap, in order to get a working chroot, you want something like: | ||
export CHROOT=`pwd`/sid-root | export CHROOT=`pwd`/sid-root | ||
sudo debootstrap --arch i386 | sudo debootstrap --arch i386 squeeze $CHROOT http://debian.lcs.mit.edu/debian | ||
sudo chroot $CHROOT /bin/bash -l | sudo chroot $CHROOT /bin/bash -l | ||
# and some of the following: | # and some of the following: | ||
mount -t tmpfs tmpfs $CHROOT/tmp | |||
mount -t proc proc $CHROOT/proc | mount -t proc proc $CHROOT/proc | ||
mount -t devpts devpts $CHROOT/dev/pts | mount -t devpts devpts $CHROOT/dev/pts | ||
| Line 54: | Line 55: | ||
sed -ie '114i\\ if not favorites_settings.layout: favorites_settings.layout = favoriteslayout.RingLayout.key' /usr/lib/python2.6/dist-packages/jarabe/desktop/favoritesview.py | sed -ie '114i\\ if not favorites_settings.layout: favorites_settings.layout = favoriteslayout.RingLayout.key' /usr/lib/python2.6/dist-packages/jarabe/desktop/favoritesview.py | ||
==== | ==== squeeze chroot ==== | ||
apt-get update | apt-get update | ||
| Line 60: | Line 61: | ||
dpkg-reconfigure locales | dpkg-reconfigure locales | ||
# edit /etc/hosts | |||
apt-get install education-desktop-sugar | apt-get install education-desktop-sugar | ||
# install your development tools here | |||
# fix broken hippocanvas | |||
echo "deb-src http://debian.lcs.mit.edu/debian squeeze main" >> /etc/apt/sources.list | |||
apt-get update | |||
apt-get install apt-src devscripts | |||
apt-src install python-hippocanvas | |||
cd *hippo* | |||
DEB_BUILD_OPTIONS=nostrip debuild -us -uc | |||
cd .. | |||
dpkg -i *hippo*.deb | |||
=== User Accounts === | === User Accounts === | ||
| Line 85: | Line 98: | ||
We need to point Sugar at an X server. One easy (but insecure) way to do this is to make a nested X server like so, ''outside the chroot'': | We need to point Sugar at an X server. One easy (but insecure) way to do this is to make a nested X server like so, ''outside the chroot'': | ||
Xephyr -ac :1 -screen 800x600x24 | Xephyr -ac :1 -screen 800x600x24 # 1024x768x24 | ||
See the talk page for more secure alternatives. | See the talk page for more secure alternatives. | ||
| Line 95: | Line 108: | ||
sudo chroot $CHROOT /bin/bash -l | sudo chroot $CHROOT /bin/bash -l | ||
su sugar - | su sugar - | ||
export DISPLAY=:1 | export DISPLAY=localhost:1 | ||
export DBUS_SESSION_BUS_ADDRESS=$(dbus-daemon --session --print-address --fork) | export DBUS_SESSION_BUS_ADDRESS=$(dbus-daemon --session --print-address --fork) | ||
sugar | sugar | ||
| Line 105: | Line 118: | ||
To correctly delete a chroot that you no longer need, kill all processes running in the chroot, and | To correctly delete a chroot that you no longer need, kill all processes running in the chroot, and | ||
sudo killall -u sugar | |||
export CHROOT=/path/to/my/chroot # important! | export CHROOT=/path/to/my/chroot # important! | ||
umount $CHROOT/var/run/dbus | umount $CHROOT/var/run/dbus | ||
umount $CHROOT/proc | umount $CHROOT/proc | ||
umount $CHROOT/dev/pts | umount $CHROOT/dev/pts | ||
umount $CHROOT/tmp | |||
rm -rf $CHROOT | rm -rf $CHROOT | ||