summaryrefslogtreecommitdiff
path: root/distrib/sgi/cdfs/Makefile
blob: 61cf26eadb42a04a7faee4ad4d545b13fbdf5119 (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
#	$OpenBSD: Makefile,v 1.31 2021/02/14 17:11:02 semarie Exp $

FS=		miniroot${OSrev}.img
CDROM=		cd${OSrev}.iso
# must match the size of `minicdroot' in disktab
CDFSMB=	15
MOUNT_POINT=	/mnt

all: ${CDROM}

ALLIP=		22 26 27 28 30 32

# Note regarding sgivol -h value:
# boot32 currently (2012/05/25) needs 87 512 byte sectors, boot64 needs 200,
# bootecoff needs 77, the XFS partition needs 32768, and we need to keep some
# room for growth.
SGIVOLSZ=	33500

${CDROM}:
	dd if=/dev/zero of=${FS} bs=1m count=${CDFSMB}
	vnconfig -v ${FS} > vnd
	disklabel -w `cat vnd` minicdroot "OpenBSD/${MACHINE}"
	newfs -O 1 -m 0 -o space -i 524288 /dev/r`cat vnd`a
	mount /dev/`cat vnd`a ${MOUNT_POINT}
	mkdir -p ${MOUNT_POINT}/${OSrev}/${MACHINE}
.for IP in ${ALLIP}
	gzip -9cf ${.OBJDIR}/../ramdisk/bsd.rd.IP${IP} > \
	    ${MOUNT_POINT}/bsd.IP${IP}
	ln ${MOUNT_POINT}/bsd.IP${IP} ${MOUNT_POINT}/bsd.rd.IP${IP}
	ln ${MOUNT_POINT}/bsd.IP${IP} ${MOUNT_POINT}/${OSrev}/${MACHINE}/bsd.IP${IP}
	ln ${MOUNT_POINT}/bsd.IP${IP} ${MOUNT_POINT}/${OSrev}/${MACHINE}/bsd.rd.IP${IP}
.endfor
	cp ${DESTDIR}/usr/mdec/bootecoff ${MOUNT_POINT}/bootecoff
	cp ${DESTDIR}/usr/mdec/boot32 ${MOUNT_POINT}/boot32
	cp ${DESTDIR}/usr/mdec/boot64 ${MOUNT_POINT}/boot64
	umount ${MOUNT_POINT}
	df -i /dev/`cat vnd`a
	vnconfig -u `cat vnd`
	rm -f vnd
	dd if=/dev/zero of=${.OBJDIR}/${CDROM} bs=1m count=`expr ${CDFSMB} + 1 + ${SGIVOLSZ} / 2048`
	vnconfig -v ${CDROM} > vnd
	/usr/mdec/sgivol -i -h ${SGIVOLSZ} `cat vnd`
	uudecode -o ${.OBJDIR}/xfs512.bin.gz ${.CURDIR}/xfs512.bin.gz.uue
	gzip -d ${.OBJDIR}/xfs512.bin.gz
	cat ${DESTDIR}/usr/mdec/boot64 >> ${.OBJDIR}/xfs512.bin
	dd if=${.OBJDIR}/xfs512.bin of=${.OBJDIR}/xfs obs=16m conv=osync
	/usr/mdec/sgivol -w xfsboot ${.OBJDIR}/xfs `cat vnd`
	/usr/mdec/sgivol -w bootecoff ${DESTDIR}/usr/mdec/bootecoff `cat vnd`
	/usr/mdec/sgivol -l bootecoff sash `cat vnd`
	/usr/mdec/sgivol -w boot32 ${DESTDIR}/usr/mdec/boot32 `cat vnd`
	/usr/mdec/sgivol -l boot32 sashARCS `cat vnd`
	/usr/mdec/sgivol -w boot64 ${DESTDIR}/usr/mdec/boot64 `cat vnd`
	/usr/mdec/sgivol -l boot64 sash64 `cat vnd`
	vnconfig -u `cat vnd`
	rm -f vnd
	dd if=${FS} of=${CDROM} bs=512 seek=${SGIVOLSZ}

unconfig:
	-umount -f ${MOUNT_POINT}
	-[ -f vnd ] && vnconfig -u `cat vnd` && rm -f vnd

.ifdef RELEASEDIR
install:
	cp ${CDROM} ${RELEASEDIR}
.endif

clean cleandir:
	rm -f ${CDROM} ${FS} xfs512.bin xfs
	rm -rf cd-dir

.include <bsd.obj.mk>