]> spindle.queued.net Git - xodist/blobdiff - configs/debxo-lxde/hooks
mkchroot.sh: break out non-olpc stuff
[xodist] / configs / debxo-lxde / hooks
diff --git a/configs/debxo-lxde/hooks b/configs/debxo-lxde/hooks
new file mode 100644 (file)
index 0000000..0af18b5
--- /dev/null
@@ -0,0 +1,113 @@
+#
+# Copyright © 2008-2009  Andres Salomon <dilinger@collabora.co.uk>
+#
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+customize_chroot_hook()
+{
+       ROOT_DIR="$1"
+
+       # Any customizations that need to be made to the chroot after the base system
+       # has been installed (but prior to custom package installation) should be
+       # put here.  $ROOT_DIR should be prefixed to any paths.
+       
+       mkdir ${ROOT_DIR}/ofw
+       
+       # Apt can't deal w/ jffs2's lack of mmap, so we keep apt's cache on tmpfs
+       # (see <http://bugs.debian.org/314334>).
+       mkdir ${ROOT_DIR}/var/cache/apt/cache
+       mount -t tmpfs tmpfs ${ROOT_DIR}/var/cache/apt/cache
+       # XOs are slow and small; don't use pdiffs, don't install recommends, and
+       # work around lack of mmap.
+cat >${ROOT_DIR}/etc/apt/apt.conf<<EOF
+Acquire::Pdiffs "false";
+APT::Install-Recommends "false";
+Dir {
+       Cache "var/cache/apt/" {
+               srcpkgcache "cache/srcpkgcache.bin";
+               pkgcache "cache/pkgcache.bin";
+       };
+};
+EOF
+
+       
+}
+
+package_configure_hook()
+{
+       ROOT_DIR="$1"
+
+       # Any customizations that need to be made after all packages have been
+       # installed should be put here.  $ROOT_DIR should be prefixed to any
+       # paths.
+
+
+       # Ensure certain modules get loaded during boot
+       cat >>${ROOT_DIR}/etc/modules<<EOF
+lxfb
+fbcon
+olpc_dcon
+scx200_acb
+i8042
+olpc_battery
+msr
+EOF
+
+       # install some custom packages that aren't on mirrors.  ugly hack!
+       k="http://lunge.mit.edu/~dilinger/debxo-0.2/initramfs-tools_0.92l.2_all.deb 
+ http://lunge.mit.edu/~dilinger/debxo-0.2/ofw-config_0.1_all.deb 
+ http://lunge.mit.edu/~dilinger/debxo-0.4/linux-2.6.25.15_2.6.25.15-165_i386.deb 
+ http://lunge.mit.edu/~dilinger/debxo-0.5/xserver-xorg-video-geode_2.11.0-0.3_i386.deb 
+ http://lunge.mit.edu/~dilinger/debxo-0.5/autox_0.1_all.deb"
+       mkdir -p cache
+       for i in $k; do
+               pkg=$(basename ${i})
+               wget --continue -O cache/${pkg} ${i}
+               cp cache/${pkg} ${ROOT_DIR}/${pkg}
+               (chroot ${ROOT_DIR} dpkg -i /${pkg})
+               pkgbase=$(echo $pkg | cut -d_ -f1)
+               echo $pkgbase hold | (chroot ${ROOT_DIR} dpkg --set-selections)
+               rm -f ${ROOT_DIR}/${pkg}
+       done
+
+       # take some packages that are okay to upgrade off hold
+       echo xserver-xorg-video-geode install | (chroot ${ROOT_DIR} dpkg --set-selections)
+       echo autox install | (chroot ${ROOT_DIR} dpkg --set-selections)
+
+       # No longer a need for xorg.conf
+       rm -f ${ROOT_DIR}/etc/X11/xorg.conf
+
+       # key bindings/mappings
+       if [ -d ${ROOT_DIR}/usr/share/hal/fdi/information/10freedesktop/ ]; then
+               cp 30-keymap-olpc.fdi ${ROOT_DIR}/usr/share/hal/fdi/information/10freedesktop/
+       fi
+
+       # configure autox
+       if [ -f ${ROOT_DIR}/etc/default/autox ]; then
+               sed --in-place "s/USER=$/USER=${DEFUSER}/" ${ROOT_DIR}/etc/default/autox
+       fi
+
+}
+
+cleanup_chroot_hook()
+{
+       ROOT_DIR="$1"
+
+       # Any customizations that need to be made after the chroot creation is
+       # complete should be put here.  $ROOT_DIR should be prefixed to any
+       # paths.
+
+       umount ${ROOT_DIR}/var/cache/apt/cache
+}