-#
-# 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
-}