diff options
Diffstat (limited to 'distrib/alpha/miniroot/Makefile')
-rw-r--r-- | distrib/alpha/miniroot/Makefile | 126 |
1 files changed, 91 insertions, 35 deletions
diff --git a/distrib/alpha/miniroot/Makefile b/distrib/alpha/miniroot/Makefile index 97bdcd45087..6f496bd1134 100644 --- a/distrib/alpha/miniroot/Makefile +++ b/distrib/alpha/miniroot/Makefile @@ -1,50 +1,102 @@ -# $OpenBSD: Makefile,v 1.7 2019/04/29 15:56:25 deraadt Exp $ +# $OpenBSD: Makefile,v 1.8 2019/04/30 17:46:03 deraadt Exp $ FS= miniroot${OSrev}.fs +FSSIZE= 5760 +FSDISKTYPE= fakeramdisk +CDROM= cd${OSrev}.iso MOUNT_POINT= /mnt +MTREE= ${UTILS}/mtree.conf -.ifndef DESTDIR -all ${FS}: - @echo setenv DESTDIR before making a ramdisk! - @false -.else +LISTS= ${.CURDIR}/../common/list ${.CURDIR}/list.local +UTILS= ${.CURDIR}/../../miniroot -all: ${FS} +STRIPOPTS= -R .eh_frame -R .SUNW_ctf -R .shstrtab -${FS}: vn_up install_files installboot showit vn_down +MRDISKTYPE= rdroot +MRMAKEFSARGS= -o disklabel=${MRDISKTYPE},minfree=0,density=8192 -vn_up: blank_filesystem +all: ${FS} ${CDROM} + +${FS}: bsd.rd + dd if=/dev/zero of=${FS} bs=512 count=${FSSIZE} vnconfig -v ${FS} > vnd - disklabel -w `cat vnd` fakeramdisk + disklabel -w `cat vnd` ${FSDISKTYPE} newfs -m 0 /dev/r`cat vnd`a mount /dev/`cat vnd`a ${MOUNT_POINT} - -showit: + install -c -m 555 -o root -g wheel bsd.rd ${MOUNT_POINT}/bsd + install -c -m 555 -o root -g wheel \ + ${DESTDIR}/usr/mdec/boot ${MOUNT_POINT}/boot + /usr/mdec/installboot -v \ + ${MOUNT_POINT}/boot ${DESTDRIR}/usr/mdec/bootxx `cat vnd` df -i ${MOUNT_POINT} - -vn_down: umount ${MOUNT_POINT} vnconfig -u `cat vnd` rm -f vnd -install_files: bsd.rd boot - -bsd.rd: - install -c -m 555 -o root -g wheel \ - ${.OBJDIR}/../bsd.rd/bsd.rd ${MOUNT_POINT}/bsd - -boot: - install -c -m 555 -o root -g wheel \ - ${DESTDIR}/usr/mdec/boot ${MOUNT_POINT}/boot - -installboot: - /usr/mdec/installboot -v ${MOUNT_POINT}/boot \ - ${DESTDRIR}/usr/mdec/bootxx `cat vnd` - -blank_filesystem: - dd if=/dev/zero of=${FS} bs=512 count=5760 +${CDROM}: bsd.rd + rm -rf ${.OBJDIR}/cd-dir + mkdir -p ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE} + + cp bsd.rd ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE} + + # make sure right kernel is in / + ln ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}/bsd.rd ${.OBJDIR}/cd-dir/bsd.rd + ln ${.OBJDIR}/cd-dir/bsd.rd ${.OBJDIR}/cd-dir/bsd + + cp ${DESTDIR}/usr/mdec/boot ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE} + cp ${DESTDIR}/usr/mdec/bootxx ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE} + + (mkhybrid -a -R -v -v -T -L -d -D -N -o ${.OBJDIR}/${CDROM} \ + -A "OpenBSD ${OSREV} ${MACHINE} bootonly CD" \ + -P "Copyright (c) `date +%Y` Theo de Raadt, The OpenBSD project" \ + -p "Theo de Raadt <deraadt@openbsd.org>" \ + -V "OpenBSD/${MACHINE} ${OSREV} boot-only CD" \ + ${.OBJDIR}/cd-dir 2>&1) | tee log + vnconfig -v ${CDROM} > vnd + mount -t cd9660 /dev/`cat vnd`a ${MOUNT_POINT} + /usr/mdec/installboot -v \ + -s `cat log | grep -v 'Name' | egrep "/cd-dir/${OSREV}/${MACHINE}/boot$$" | cut -d' ' -f1` \ + -e `cat log | grep -v 'Name' | egrep "/cd-dir/${OSREV}/${MACHINE}/boot$$" | cut -d' ' -f2` \ + ${MOUNT_POINT}/${OSREV}/${MACHINE}/boot /usr/mdec/bootxx `cat vnd` + umount ${MOUNT_POINT} + vnconfig -u `cat vnd` + rm -f vnd -.endif +bsd.rd: bsd.rd_unz + objcopy -Sg -R .comment bsd.rd_unz bsd.strip + strip ${STRIPOPTS} bsd.strip + gzip -c -9nv bsd.strip > bsd.rd + +bsd.rd_unz: bsd mr.fs + cp bsd bsd.rd_unz + rdsetroot bsd.rd_unz mr.fs + strip -R .SUNW_ctf -R .shstrtab bsd.rd_unz + +bsd: + cd ${.CURDIR}/../../../sys/arch/alpha/compile/RAMDISKBIG && \ + su ${BUILDUSER} -c '${MAKE} config && ${MAKE} clean && exec ${MAKE}' + cp -p ${.CURDIR}/../../../sys/arch/alpha/compile/RAMDISKBIG/obj/bsd bsd + +mr.fs: instbin + rm -rf $@.d + install -d -o root -g wheel $@.d + mtree -def ${MTREE} -p $@.d -u + CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} OSrev=${OSrev} \ + TARGDIR=$@.d UTILS=${UTILS} RELEASEDIR=${RELEASEDIR} \ + sh ${UTILS}/runlist.sh ${LISTS} + rm $@.d/instbin + makefs ${MRMAKEFSARGS} $@ $@.d + +instbin.conf: ${LISTS} + awk -f ${UTILS}/makeconf.awk ${LISTS} > instbin.conf + +instbin.mk instbin.cache instbin.c: instbin.conf + crunchgen -E -D ${.CURDIR}/../../.. -L ${DESTDIR}/usr/lib \ + -c instbin.c -e instbin -m instbin.mk instbin.conf + +instbin: instbin.mk instbin.cache instbin.c + ${MAKE} -f instbin.mk SRCLIBDIR=${.CURDIR}/../../../lib all + strip ${STRIPOPTS} instbin unconfig: -umount -f ${MOUNT_POINT} @@ -52,12 +104,16 @@ unconfig: .ifdef RELEASEDIR install: + cp bsd.rd ${RELEASEDIR} + chmod a+r ${RELEASEDIR}/bsd.rd cp ${FS} ${RELEASEDIR} + cp ${CDROM} ${RELEASEDIR} .endif -clean: - rm -f ${FS} +clean cleandir: + /bin/rm -f *.core mr.fs instbin instbin.mk instbin.cache \ + *.o *.lo *.c \ + lib*.a lib*.olist instbin.map ${CLEANFILES} + /bin/rm -rf mr.fs.d -.include <bsd.own.mk> .include <bsd.obj.mk> -.include <bsd.subdir.mk> |