blob: aa359a76bbe5e3ddc5991b634db78d62d218fb66 (
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
|
# $OpenBSD: Makefile.inc,v 1.7 2017/08/13 15:41:30 jasper Exp $
TOP= ${.CURDIR}/..
.include "${TOP}/Makefile.inc"
LISTS?= ${.CURDIR}/../common/list
UTILS?= ${.CURDIR}/../../miniroot
MOUNT_POINT= /mnt
MTREE= ${UTILS}/mtree.conf
FS?= miniroot${REV}.fs
VND?= vnd0
VND_DEV= /dev/${VND}a
VND_RDEV= /dev/r${VND}a
VND_CRDEV= /dev/r${VND}c
VND_IDEV= /dev/${VND}i
VND_IRDEV= /dev/r${VND}i
PID!= echo $$$$
REALIMAGE!= echo /var/tmp/image.${PID}
BOOT?= ${DESTDIR}/usr/mdec/boot
EFIBOOT?= ${DESTDIR}/usr/mdec/BOOTX64.EFI ${DESTDIR}/usr/mdec/BOOTIA32.EFI
FLOPPYSIZE?= 2880
FLOPPYTYPE?= floppy3
all: ${FS}
${FS}: bsd.gz
dd if=/dev/zero of=${REALIMAGE} bs=512 count=${FLOPPYSIZE}
vnconfig -v -c ${VND} ${REALIMAGE}
.ifdef LBA
fdisk -yi -l ${FLOPPYSIZE} -b 960 -f ${DESTDIR}/usr/mdec/mbr ${VND}
.endif
.ifdef TEMPLATE
disklabel -wAT ${TEMPLATE} ${VND}
newfs -t msdos ${VND_IRDEV}
mount ${VND_IDEV} ${MOUNT_POINT}
mkdir -p ${MOUNT_POINT}/efi/boot
cp ${EFIBOOT} ${MOUNT_POINT}/efi/boot
umount ${MOUNT_POINT}
.else
disklabel -w ${VND} ${FLOPPYTYPE}
.endif
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 -R .SUNW_ctf ${.OBJDIR}/boot
installboot -v -r ${MOUNT_POINT} ${VND_CRDEV} \
${DESTDIR}/usr/mdec/biosboot ${.OBJDIR}/boot
dd if=bsd.gz of=${MOUNT_POINT}/bsd bs=512
@echo ""
@df -i ${MOUNT_POINT}
@echo ""
umount ${MOUNT_POINT}
vnconfig -u ${VND}
cp ${REALIMAGE} ${FS}
rm ${REALIMAGE}
unconfig:
-umount -f ${MOUNT_POINT}
-vnconfig -u ${VND}
DISKTYPE?= rdroot
MAKEFSARGS_RD= -o disklabel=${DISKTYPE},minfree=0,density=4096
bsd.gz: bsd.rd
cp bsd.rd bsd.strip
strip bsd.strip
strip -R .comment -R .SUNW_ctf bsd.strip
gzip -c9n bsd.strip > bsd.gz
bsd.rd: mr.fs bsd rdsetroot
cp bsd bsd.rd
${.OBJDIR}/rdsetroot bsd.rd mr.fs
bsd:
cd ${.CURDIR}/../../../sys/arch/amd64/compile/${RAMDISK} && \
su ${BUILDUSER} -c '${MAKE} config && ${MAKE} clean && env COPTS=-Oz ${MAKE}'
cp -p ${.CURDIR}/../../../sys/arch/amd64/compile/${RAMDISK}/obj/bsd bsd
mr.fs: instbin
rm -rf $@.d
install -d -o root -g wheel $@.d
mtree -def ${MTREE} -p $@.d -u
TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} REV=${REV} \
TARGDIR=$@.d UTILS=${UTILS} RELEASEDIR=${RELEASEDIR} \
sh ${UTILS}/runlist.sh ${LISTS}
rm $@.d/instbin
makefs ${MAKEFSARGS_RD} $@ $@.d
vnconfig -v -c ${VND} mr.fs
df -i /dev/${VND}a
vnconfig -u ${VND}
rdsetroot: ${TOP}/../common/elfrdsetroot.c
${HOSTCC} ${HOSTCFLAGS} -o rdsetroot \
${TOP}/../common/elfrdsetroot.c ${TOP}/../common/elf32.c \
${TOP}/../common/elf64.c
.ifdef RELEASEDIR
install:
.ifndef NOBSDRD
cp bsd.rd ${RELEASEDIR}/bsd.rd
chmod a+r ${RELEASEDIR}/bsd.rd
.endif
.ifndef NOFS
cp ${FS} ${RELEASEDIR}/${FS}
.endif
.endif # RELEASEDIR
instbin.mk instbin.cache instbin.c: instbin.conf
crunchgen -E -D ${BSDSRCDIR} -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 -R .comment -R .SUNW_ctf instbin
instbin.conf: ${LISTS}
awk -f ${UTILS}/makeconf.awk CBIN=instbin ${LISTS} > instbin.conf
clean cleandir:
/bin/rm -f *.core mr.fs instbin instbin.mk instbin*.cache \
*.o *.lo *.c bsd bsd.rd bsd.gz bsd.strip floppy*.fs \
lib*.a lib*.olist instbin.map \
rdsetroot boot instbin.conf ${FS}
/bin/rm -rf mr.fs.d
.include <bsd.obj.mk>
.include <bsd.subdir.mk>
|