+printf "${LOCAL_APT_MIRROR}\n" >${ROOT_DIR}/etc/apt/sources.list
+(chroot ${ROOT_DIR} aptitude update)
+
+# set up base system and base packages
+echo "en_US.UTF-8 UTF-8" >${ROOT_DIR}/etc/locale.gen
+(chroot ${ROOT_DIR} aptitude install -y `cat base.packages`)
+
+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"
+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 the geode driver off hold
+echo xserver-xorg-video-geode install | (chroot ${ROOT_DIR} dpkg --set-selections)
+
+# 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 packages
+(chroot ${ROOT_DIR} aptitude install -y `grep --invert-match '^#' ${PLIST}`)
+
+# 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 kdm, kde
+if [ -d ${ROOT_DIR}/etc/kde3/kdm ]; then
+ sed --in-place "s/AllowNullPasswd=false/AllowNullPasswd=true/;s/#AutoLoginEnable=true/AutoLoginEnable=true/;s/#AutoLoginUser=fred/AutoLoginUser=${DEFUSER}/" ${ROOT_DIR}/etc/kde3/kdm/kdmrc
+fi