Development Team/Chroot: Difference between revisions

Mstone (talk | contribs)
Mstone (talk | contribs)
No edit summary
Line 16: Line 16:
  mount -t devpts devpts /dev/pts
  mount -t devpts devpts /dev/pts


==== Debian sid chroot ====
==== 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 sid $CHROOT http://debian.lcs.mit.edu/debian
  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


==== sid chroot ====
==== 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
# 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