blob: baa38cbfe9199aa6a800ea45f5bfc3b693a47731 (
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
|
# $OpenBSD: Makefile.inc,v 1.34 2013/10/15 22:46:50 deraadt Exp $
TOP= ${.CURDIR}/..
.include "${TOP}/Makefile.inc"
IMAGE= mr.fs
CBIN?= instbin
CRUNCHCONF?= ${CBIN}.conf
LISTS?= ${.CURDIR}/../common/list
UTILS?= ${.CURDIR}/../../miniroot
MOUNT_POINT= /mnt
MTREE= ${UTILS}/mtree.conf
XNAME?= floppy
FS?= ${XNAME}${REV}.fs
VND?= vnd0
VND_DEV= /dev/${VND}a
VND_RDEV= /dev/r${VND}a
VND_CRDEV= /dev/r${VND}c
PID!= echo $$$$
REALIMAGE!= echo /var/tmp/image.${PID}
BOOT= ${DESTDIR}/usr/mdec/boot
FLOPPYSIZE?= 2880
FLOPPYTYPE?= floppy3
all: ${FS}
${FS}: bsd.gz
dd if=/dev/zero of=${REALIMAGE} bs=512 count=${FLOPPYSIZE}
vnconfig -v -c ${VND} ${REALIMAGE}
disklabel -w ${VND} ${FLOPPYTYPE}
newfs -m 0 -o space -i 524288 -c ${FLOPPYSIZE} ${VND_RDEV}
mount ${VND_DEV} ${MOUNT_POINT}
cp ${BOOT} ${.OBJDIR}/boot
strip ${.OBJDIR}/boot
strip -R .comment ${.OBJDIR}/boot
dd if=${.OBJDIR}/boot of=${MOUNT_POINT}/boot bs=512
dd if=bsd.gz of=${MOUNT_POINT}/bsd bs=512
/usr/mdec/installboot -v ${MOUNT_POINT}/boot \
${DESTDIR}/usr/mdec/biosboot ${VND_CRDEV}
@echo ""
@df -i ${MOUNT_POINT}
@echo ""
umount ${MOUNT_POINT}
vnconfig -u ${VND}
cp ${REALIMAGE} ${FS}
rm ${REALIMAGE}
DISKTYPE?= rdroot
NBLKS?= 3872
# minfree, opt, b/i, blks/cyl
NEWFSARGS= -m 0 -o space -i 4096
COPTS= -Os -mtune=i486
bsd.gz: bsd.rd
cp bsd.rd bsd.strip
strip bsd.strip
strip -R .comment bsd.strip
gzip -c9n bsd.strip > bsd.gz
bsd.rd: ${IMAGE} bsd rdsetroot
cp bsd bsd.rd
${.OBJDIR}/rdsetroot bsd.rd ${IMAGE}
bsd:
cd ${.CURDIR}/../../../sys/arch/i386/conf && config ${RAMDISK}
cd ${.CURDIR}/../../../sys/arch/i386/compile/${RAMDISK} && \
${MAKE} clean && COPTS="${COPTS}" exec ${MAKE}
cp ${.CURDIR}/../../../sys/arch/i386/compile/${RAMDISK}/bsd bsd
${IMAGE}: ${CBIN} rd_setup do_files rd_teardown
rd_setup: ${CBIN}
dd if=/dev/zero of=${REALIMAGE} bs=512 count=${NBLKS}
vnconfig -v -c ${VND} ${REALIMAGE}
disklabel -w ${VND} ${DISKTYPE}
newfs ${NEWFSARGS} ${VND_RDEV}
fsck ${VND_RDEV}
mount ${VND_DEV} ${MOUNT_POINT}
rd_teardown:
@df -i ${MOUNT_POINT}
-umount ${MOUNT_POINT}
-vnconfig -u ${VND}
cp ${REALIMAGE} ${IMAGE}
rm ${REALIMAGE}
rdsetroot: ${TOP}/../common/elfrdsetroot.c
${HOSTCC} ${HOSTCFLAGS} -o rdsetroot \
${TOP}/../common/elfrdsetroot.c ${TOP}/../common/elf32.c \
${TOP}/../common/elf64.c
unconfig:
-umount -f ${MOUNT_POINT}
-vnconfig -u ${VND}
.PRECIOUS: ${IMAGE}
.ifdef RELEASEDIR
install:
.ifndef NOBSDRD
cp bsd.rd ${RELEASEDIR}/bsd.rd
.endif
.ifndef NOFS
cp ${FS} ${RELEASEDIR}/${FS}
.endif
.endif # RELEASEDIR
${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF}
crunchgen -E -D ${BSDSRCDIR} -L ${DESTDIR}/usr/lib \
-c ${CBIN}.c -e ${CBIN} -m ${CBIN}.mk ${CRUNCHCONF}
${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c
${MAKE} -f ${CBIN}.mk SRCLIBDIR=${.CURDIR}/../../../lib all
strip -R .comment ${CBIN}
${CRUNCHCONF}: ${LISTS}
awk -f ${UTILS}/makeconf.awk CBIN=${CBIN} ${LISTS} > ${CRUNCHCONF}
do_files:
mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u
TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \
REV=${REV} TARGDIR=${MOUNT_POINT} UTILS=${UTILS} \
RELEASEDIR=${RELEASEDIR} sh ${UTILS}/runlist.sh ${LISTS}
rm ${MOUNT_POINT}/${CBIN}
clean cleandir:
/bin/rm -f *.core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}*.cache \
*.o *.lo *.c bsd bsd.rd bsd.gz bsd.strip floppy*.fs \
lib*.a lib*.olist ${CBIN}.map \
rdsetroot boot ${CRUNCHCONF} ${FS}
.include <bsd.obj.mk>
.include <bsd.subdir.mk>
|