From 46c413fe0655ac76e82a22827291919b9ca6c600 Mon Sep 17 00:00:00 2001 From: Nathan Whitehorn Date: Sun, 27 Mar 2011 23:46:12 +0000 Subject: [PATCH] Add infrastructure for generation of boot-only ISO images. These have a reduced world, though still reasonably complete for fixit purposes. --- release/Makefile | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/release/Makefile b/release/Makefile index e48120ab89ee..610d57a12537 100644 --- a/release/Makefile +++ b/release/Makefile @@ -122,13 +122,38 @@ system: packagesystem ln -s /tmp/bsdinstall_etc/resolv.conf ${.OBJDIR}/release/etc/resolv.conf echo sendmail_enable=\"NONE\" > ${.OBJDIR}/release/etc/rc.conf echo hostid_enable=\"NO\" >> ${.OBJDIR}/release/etc/rc.conf - touch ${.OBJDIR}/release/etc/fstab cp ${.CURDIR}/rc.local ${.OBJDIR}/release/etc touch ${.OBJDIR}/${.TARGET} +bootonly: packagesystem +# Install system + mkdir ${.OBJDIR}/bootonly + cd ${WORLDDIR} && ${IMAKE} installkernel installworld distribution \ + DESTDIR=${.OBJDIR}/bootonly WITHOUT_AMD=1 WITHOUT_AT=1 \ + WITHOUT_BIND_DNSSEC=1 WITHOUT_BIND_ETC=1 WITHOUT_BIND_MTREE=1 \ + WITHOUT_BIND_NAMED=1 WITHOUT_GAMES=1 WITHOUT_GROFF=1 \ + WITHOUT_INSTALLLIB=1 WITHOUT_LIB32=1 WITHOUT_MAIL=1 \ + WITHOUT_NCP=1 WITHOUT_TOOLCHAIN=1 WITHOUT_RESCUE=1 WITHOUT_DICT=1 + -rm ${.OBJDIR}/bootonly/boot/kernel/*.symbols +# Copy manifest only (no distfiles) to get checksums + mkdir ${.OBJDIR}/bootonly/usr/freebsd-dist + cp ${.OBJDIR}/MANIFEST ${.OBJDIR}/bootonly/usr/freebsd-dist +# Copy documentation, if generated +.if !defined(NODOC) + cp ${.OBJDIR}/reldoc/* ${.OBJDIR}/bootonly +.endif +# Set up installation environment + ln -s /tmp/bsdinstall_etc/resolv.conf ${.OBJDIR}/bootonly/etc/resolv.conf + echo sendmail_enable=\"NONE\" > ${.OBJDIR}/bootonly/etc/rc.conf + echo hostid_enable=\"NO\" >> ${.OBJDIR}/bootonly/etc/rc.conf + cp ${.CURDIR}/rc.local ${.OBJDIR}/bootonly/etc + release.iso: system sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b FreeBSD_Install ${.OBJDIR}/release.iso ${.OBJDIR}/release +bootonly.iso: bootonly + sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b FreeBSD_Install ${.OBJDIR}/bootonly.iso ${.OBJDIR}/bootonly + memstick: system sh ${.CURDIR}/${TARGET}/make-memstick.sh ${.OBJDIR}/release ${.OBJDIR}/memstick @@ -136,7 +161,7 @@ packagesystem: base.txz kernel.txz ${EXTRA_PACKAGES} sh ${.CURDIR}/scripts/make-manifest.sh ${.OBJDIR}/*.txz > ${.OBJDIR}/MANIFEST touch ${.OBJDIR}/${.TARGET} -cdrom: release.iso +cdrom: release.iso bootonly.iso ftp: packagesystem rm -rf ${.OBJDIR}/ftp mkdir ${.OBJDIR}/ftp