summaryrefslogtreecommitdiff
path: root/distrib/alpha/miniroot/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'distrib/alpha/miniroot/Makefile')
-rw-r--r--distrib/alpha/miniroot/Makefile126
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>