- do_install() {
- # mount
- mount -o noatime /dev/${MD_ROOT} ${VDMNT}
- mount /dev/${MD_TMP} ${VDMNT}/tmp
- mount /dev/${MD_VAR} ${VDMNT}/var
- mount /dev/${MD_USR} ${VDMNT}/usr
- # make distribution directories
- cd ${SRCDIR}/etc
- make distrib-dirs DESTDIR=${DESTDIR}
- # run merge master
- mkdir -p ${TEMPROOT}
- mergemaster -i -m ${SRCDIR}/etc -t ${TEMPROOT} -D ${DESTDIR}
- # install world
- cd ${SRCDIR}
- make installworld DESTDIR=${DESTDIR} ${BUILDDEFINES}
- # copy system files
- cp ${SETUPDIR}/${FSTABTMP} ${DESTDIR}/etc/fstab
- cp /etc/localtime ${DESTDIR}/etc/localtime
- cp ${SRCDIR}/sys/boot/forth/loader.conf ${DESTDIR}/boot/defaults
- cp ${SRCDIR}/sys/i386/conf/GENERIC.hints ${DESTDIR}/boot/device.hints
- # copied shamelessly from "FreeBSD From Scratch"
- cd ${TEMPROOT}
- find . -type f | sed 's,^\./,,' |
- while read f; do
- if test -r ${DESTDIR}/${f}; then
- echo "${DESTDIR}/${f} already exists; not copied"
- else
- echo "Creating empty ${DESTDIR}/${f}"
- cp -p ${f} ${DESTDIR}/${f}
- fi
- done
- chflags -R 0 ${TEMPROOT}
- rm -rf ${TEMPROOT}
- # install kernel
- cd ${SRCDIR}
- make installkernel DESTDIR=${DESTDIR} KERNCONF=${KERNCONF}
- # unmount and unload virtual disk device
- umount /dev/${MD_TMP}
- umount /dev/${MD_VAR}
- umount /dev/${MD_USR}
- umount /dev/${MD_ROOT}
- }
Raw Paste