#!/bin/sh mount /boot 2> /dev/null rm -rf ~/ROOT/ mkdir -p ~/ROOT cd ~/ROOT export ROOT=$PWD/ export FEATURES="-* sfperms strict" export PYTHON_DONTCOMPILE=1 emerge -qKDe system emerge -qK portage-utils grub if [[ "$*" != "" ]]; then emerge "$@" fi cd ${ROOT}/dev || exit 1 suffix="-i386" case $(uname -m) in arm*) suffix=-arm ;; alpha*) suffix=-alpha ;; amd64|x86_64) suffix=-i386 ;; hppa|parisc) suffix=-hppa ;; ia64) suffix=-ia64 ;; m68k) suffix=-m68k ;; mips*) suffix=-mips ;; ppc*) suffix=-powerpc ;; s390*) suffix=-s390 ;; sh*) suffix=-sh ;; sparc*) suffix=-sparc ;; *86) suffix=-i386 ;; esac echo "Using generic${suffix} to make $(uname -m) device nodes..." ./MAKEDEV generic${suffix} echo "SETUP: timezone.." cd ${ROOT}/etc rm -f localtime ln -s ../usr/share/zoneinfo/PST8PDT localtime mkdir -p ${ROOT}/lib/modules/ ${ROOT}/boot/grub ${ROOT}/usr/portage/ ${ROOT}/etc/portage/ echo SETUP: mount binding $PORTDIR to ${ROOT}/${PORTDIR} mount --bind /usr/portage ${ROOT}/usr/portage echo SETUP: package manager variables.. cp -a /etc/make.profile ${ROOT}/etc/ grep -v -e USE_ORDER -e MAKEOPTS -e PORTAGE_TMPFS -e EXTRA_ECONF -e ^FEATURES -e ^PORTAGE_BINHOST -e AUTOPATCH -e PATCH_OVERLAY -e ^$ /etc/make.conf > ${ROOT}/etc/make.conf cp /etc/portage/package.use ${ROOT}/usr/portage/ echo "SETUP: bootloader and kernel modules and fstab.." cp -a /lib/modules/$(uname -r) ${ROOT}/lib/modules/ cp /boot/grub/grub.conf ${ROOT}/boot/grub/ cp $(grep ^kernel /boot/grub/grub.conf | cut -d ')' -f 2 | awk '{print $1}') ${ROOT}/boot/ cp /etc/fstab ${ROOT}/etc/ env ROOT=/ chroot ${ROOT} /bin/bash -c 'emerge -qK grub' echo SETUP: compiler to default.. env ROOT=/ chroot ${ROOT} /bin/bash -c 'gcc-config 1' echo SETUP: unbinding ${ROOT}/${PORTDIR} from $PORTDIR umount ${ROOT}/usr/portage echo "Done.."