1# $OpenBSD: Makefile,v 1.7 2024/06/09 17:24:19 deraadt Exp $ 2 3FS= install${OSrev}.img 4FSSIZE= 1032192 5CDROM= install${OSrev}.iso 6 7MOUNT_POINT= /mnt 8 9RELXDIR?= /home/relx-${MACHINE} 10RELDIR?= /home/rel-${MACHINE} 11 12BASE= ${RELDIR}/base${OSrev}.tgz ${RELDIR}/comp${OSrev}.tgz \ 13 ${RELDIR}/game${OSrev}.tgz ${RELDIR}/man${OSrev}.tgz \ 14 ${RELDIR}/bsd ${RELDIR}/bsd.mp ${RELDIR}/bsd.rd \ 15 ${RELDIR}/INSTALL.${MACHINE} ${RELDIR}/BUILDINFO 16XBASE= ${RELXDIR}/xbase${OSrev}.tgz ${RELXDIR}/xfont${OSrev}.tgz \ 17 ${RELXDIR}/xshare${OSrev}.tgz ${RELXDIR}/xserv${OSrev}.tgz 18 19MSDOSSTART= 64 20MSDOSSIZE= 30000 21TOTALSIZE!= expr ${FSSIZE} + ${MSDOSSIZE} 22 23NEWFS_ARGS_msdos=-L boot 24MOUNT_ARGS_msdos=-o-l 25 26all: ${FS} ${CDROM} 27 28${FS}: ${BASE} ${XBASE} 29 dd if=/dev/zero of=${FS} bs=512 count=${TOTALSIZE} 30 vnconfig -v ${FS} > vnd 31 fdisk -iy -b "${MSDOSSIZE}@${MSDOSSTART}:c" `cat vnd` >/dev/null 32 echo '/ *' | disklabel -wAT- `cat vnd` 33 newfs -t msdos ${NEWFS_ARGS_msdos} /dev/r`cat vnd`i 34 mount ${MOUNT_ARGS_msdos} /dev/`cat vnd`i ${MOUNT_POINT} 35 echo 'menuentry "OpenBSD install" {' > ${MOUNT_POINT}/grub.cfg 36 echo '\tlinux /boot' >> ${MOUNT_POINT}/grub.cfg 37 echo '\tinitrd /boot' >> ${MOUNT_POINT}/grub.cfg 38 echo '}' >> ${MOUNT_POINT}/grub.cfg 39 cp ${RELDIR}/bsd.rd ${MOUNT_POINT}/boot 40 umount ${MOUNT_POINT} 41 42 newfs -O 1 -m 0 -o space -i 524288 -c ${FSSIZE} /dev/r`cat vnd`a 43 mount /dev/`cat vnd`a ${MOUNT_POINT} 44 mkdir -p ${MOUNT_POINT}/${OSREV}/${MACHINE} 45 cp -p ${BASE} ${MOUNT_POINT}/${OSREV}/${MACHINE} 46 cp -p ${XBASE} ${MOUNT_POINT}/${OSREV}/${MACHINE} 47 ln ${MOUNT_POINT}/${OSREV}/${MACHINE}/bsd.rd ${MOUNT_POINT}/bsd.rd 48 ln ${MOUNT_POINT}/${OSREV}/${MACHINE}/bsd.rd ${MOUNT_POINT}/bsd 49 50 cat ${RELDIR}/SHA256 ${RELXDIR}/SHA256 > \ 51 ${MOUNT_POINT}/${OSREV}/${MACHINE}/SHA256 52 # XXX no SHA256.sig 53 df -i ${MOUNT_POINT} 54 umount ${MOUNT_POINT} 55 vnconfig -u `cat vnd` 56 rm -f vnd 57 58${CDROM}: ${BASE} ${XBASE} 59 rm -rf ${.OBJDIR}/cd-dir 60 mkdir -p ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE} 61 echo 'menuentry "OpenBSD install" {' > ${.OBJDIR}/cd-dir/grub.cfg 62 echo '\tlinux /boot' >> ${.OBJDIR}/cd-dir/grub.cfg 63 echo '\tinitrd /boot' >> ${.OBJDIR}/cd-dir/grub.cfg 64 echo '}' >> ${.OBJDIR}/cd-dir/grub.cfg 65 cp ${RELDIR}/bsd.rd ${.OBJDIR}/cd-dir/boot 66 67 cp -p ${BASE} ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE} 68 cp -p ${XBASE} ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE} 69 ln ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}/bsd.rd ${.OBJDIR}/cd-dir/bsd.rd 70 ln ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}/bsd.rd ${.OBJDIR}/cd-dir/bsd 71 72 cat ${RELDIR}/SHA256 ${RELXDIR}/SHA256 > \ 73 ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}/SHA256 74 # XXX no SHA256.sig 75 76 mkhybrid -a -R -T -L -l -d -D -N -o ${.OBJDIR}/${CDROM} \ 77 -A "OpenBSD ${OSREV} ${MACHINE} Install CD" \ 78 -P "Copyright (c) `date +%Y` Theo de Raadt, The OpenBSD project" \ 79 -p "Theo de Raadt <deraadt@openbsd.org>" \ 80 -V "OpenBSD/${MACHINE} ${OSREV} Install CD" \ 81 ${.OBJDIR}/cd-dir 82 83install: 84 cp ${CDROM} ${FS} ${RELDIR}/ 85 86clean cleandir: 87 rm -f ${CDROM} ${FS} 88 rm -rf cd-dir 89 90.include <bsd.obj.mk> 91