blob: 38a6254e725e62c93917ea267ca9caa6587bbe5a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
# $OpenBSD: Makefile,v 1.5 2009/04/17 03:58:55 deraadt Exp $
TOP= ${.CURDIR}/..
#.include "${TOP}/Makefile.inc"
CDROM= install${OSrev}.iso
RELXDIR?= /home/relx-${MACHINE}
RELDIR?= /home/rel-${MACHINE}
BASE= ${RELDIR}/base${OSrev}.tgz ${RELDIR}/comp${OSrev}.tgz \
${RELDIR}/etc${OSrev}.tgz ${RELDIR}/game${OSrev}.tgz \
${RELDIR}/man${OSrev}.tgz ${RELDIR}/misc${OSrev}.tgz \
${RELDIR}/bsd ${RELDIR}/bsd.rd \
${RELDIR}/INSTALL.${MACHINE}
XBASE= ${RELXDIR}/xbase${OSrev}.tgz ${RELXDIR}/xetc${OSrev}.tgz \
${RELXDIR}/xfont${OSrev}.tgz ${RELXDIR}/xshare${OSrev}.tgz \
${RELXDIR}/xserv${OSrev}.tgz
all: ${CDROM}
${CDROM}: ${BASE} ${XBASE}
-rm -rf ${.OBJDIR}/cd-dir
mkdir -p ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}
cp -p ${BASE} ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}
cp -p ${XBASE} ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}
ln -f ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}/bsd.rd ${.OBJDIR}/cd-dir/bsd.rd
ln -f ${.OBJDIR}/cd-dir/bsd.rd ${.OBJDIR}/cd-dir/bsd
ln -f ${.OBJDIR}/cd-dir/bsd.rd ${.OBJDIR}/cd-dir/vmunix # for kicks
cp ${RELDIR}/boot ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}
cp ${RELDIR}/bootxx ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}
(mkhybrid -a -R -v -v -T -L -d -D -N -o ${.OBJDIR}/${CDROM} \
-A "OpenBSD ${OSREV} ${MACHINE} Install CD" \
-P "Copyright (c) `date +%Y` Theo de Raadt, The OpenBSD project" \
-p "Theo de Raadt <deraadt@openbsd.org>" \
-V "OpenBSD/${MACHINE} ${OSREV} Install CD" \
${.OBJDIR}/cd-dir 2>&1) | tee log
vnconfig -v -c svnd0 ${.OBJDIR}/${CDROM}
mount -t cd9660 /dev/svnd0a /mnt
/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` \
/mnt/${OSREV}/${MACHINE}/boot /usr/mdec/bootxx /dev/rsvnd0c
disklabel -w svnd0 fakecdrom "OpenBSD/${MACHINE} "
umount /mnt
vnconfig -u svnd0
# XXX Some ${MACHINE} machines fail to load the kernel correctly if the
# XXX cd image is truncated. It is not yet known why this happens.
# XXX For now we pad the image.
dd if=/dev/zero bs=2k count=200 >> ${.OBJDIR}/${CDROM}
install:
cp ${CDROM} ${RELDIR}/
# update the SHA256 file
grep -v ${CDROM} ${RELDIR}/SHA256 > ${RELDIR}/SHA256.new
sum -a sha256 ${CDROM} >> ${RELDIR}/SHA256.new
sort ${RELDIR}/SHA256.new > ${RELDIR}/SHA256
rm ${RELDIR}/SHA256.new
clean cleandir:
/bin/rm -f ${CDROM}
rm -rf cd-dir log
unconfig:
-umount /mnt
-vnconfig -u svnd0
.include <bsd.obj.mk>
.include <bsd.subdir.mk>
|