diff options
author | 2016-11-24 16:32:33 +0000 | |
---|---|---|
committer | 2016-11-24 16:32:33 +0000 | |
commit | 072c49fd6ca4c1cbb76c3c15714ebae7f5c568aa (patch) | |
tree | 30a9bdf4f539853c1da2980c9ed493bdbd4988df /distrib/i386/common | |
parent | sync (diff) | |
download | wireguard-openbsd-072c49fd6ca4c1cbb76c3c15714ebae7f5c568aa.tar.xz wireguard-openbsd-072c49fd6ca4c1cbb76c3c15714ebae7f5c568aa.zip |
Use makefs to build bsd.rd. amd64 and i386 are first; other platforms
will follow with some safety distance when I figured out all MD quirks.
makefs allows to build the ramdisk image as an unprivileged user. The
next step in the quest to reduce root during builds.
ok deraadt
Diffstat (limited to 'distrib/i386/common')
-rw-r--r-- | distrib/i386/common/Makefile.inc | 52 |
1 files changed, 18 insertions, 34 deletions
diff --git a/distrib/i386/common/Makefile.inc b/distrib/i386/common/Makefile.inc index 486538eef43..bcae63d6eac 100644 --- a/distrib/i386/common/Makefile.inc +++ b/distrib/i386/common/Makefile.inc @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile.inc,v 1.39 2016/10/14 18:44:19 deraadt Exp $ +# $OpenBSD: Makefile.inc,v 1.40 2016/11/24 16:32:33 natano Exp $ TOP= ${.CURDIR}/.. @@ -49,10 +49,13 @@ ${FS}: bsd.gz cp ${REALIMAGE} ${FS} rm ${REALIMAGE} -DISKTYPE?= rdroot -NBLKS?= 3872 -# minfree, opt, b/i, blks/cyl -NEWFSARGS= -m 0 -o space -i 4096 +unconfig: + -umount -f ${MOUNT_POINT} + -vnconfig -u ${VND} + + +DISKTYPE= rdroot +MAKEFSARGS_RD= -o disklabel=${DISKTYPE},minfree=0,density=4096 COPTS= -Os -mtune=i486 @@ -72,34 +75,21 @@ bsd: su ${BUILDUSER} -c '${MAKE} config && ${MAKE} clean && env COPTS="${COPTS}" ${MAKE}' cp -p ${.CURDIR}/../../../sys/arch/i386/compile/${RAMDISK}/obj/bsd bsd -${IMAGE}: ${CBIN} rd_setup do_files rd_teardown - -rd_setup: ${CBIN} - dd if=/dev/zero of=${REALIMAGE} bs=512 count=${NBLKS} - vnconfig -v -c ${VND} ${REALIMAGE} - disklabel -w ${VND} ${DISKTYPE} - newfs ${NEWFSARGS} ${VND_RDEV} - fsck ${VND_RDEV} - mount ${VND_DEV} ${MOUNT_POINT} - -rd_teardown: - @df -i ${MOUNT_POINT} - -umount ${MOUNT_POINT} - -vnconfig -u ${VND} - cp ${REALIMAGE} ${IMAGE} - rm ${REALIMAGE} +${IMAGE}: ${CBIN} + rm -rf $@.d + install -d -o root -g wheel $@.d + mtree -def ${MTREE} -p $@.d -u + TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} REV=${REV} \ + TARGDIR=$@.d UTILS=${UTILS} RELEASEDIR=${RELEASEDIR} \ + sh ${UTILS}/runlist.sh ${LISTS} + rm $@.d/${CBIN} + makefs ${MAKEFSARGS_RD} $@ $@.d rdsetroot: ${TOP}/../common/elfrdsetroot.c ${HOSTCC} ${HOSTCFLAGS} -o rdsetroot \ ${TOP}/../common/elfrdsetroot.c ${TOP}/../common/elf32.c \ ${TOP}/../common/elf64.c -unconfig: - -umount -f ${MOUNT_POINT} - -vnconfig -u ${VND} - -.PRECIOUS: ${IMAGE} - .ifdef RELEASEDIR install: .ifndef NOBSDRD @@ -121,18 +111,12 @@ ${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c ${CRUNCHCONF}: ${LISTS} awk -f ${UTILS}/makeconf.awk CBIN=${CBIN} ${LISTS} > ${CRUNCHCONF} -do_files: - mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u - TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \ - REV=${REV} TARGDIR=${MOUNT_POINT} UTILS=${UTILS} \ - RELEASEDIR=${RELEASEDIR} sh ${UTILS}/runlist.sh ${LISTS} - rm ${MOUNT_POINT}/${CBIN} - clean cleandir: /bin/rm -f *.core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}*.cache \ *.o *.lo *.c bsd bsd.rd bsd.gz bsd.strip floppy*.fs \ lib*.a lib*.olist ${CBIN}.map \ rdsetroot boot ${CRUNCHCONF} ${FS} + /bin/rm -rf ${IMAGE}.d .include <bsd.obj.mk> .include <bsd.subdir.mk> |