Makefile.installimage revision 1.10
1#	$NetBSD: Makefile.installimage,v 1.10 2021/09/25 21:26:03 maya Exp $
2#
3# Common Makefile to create a bootable installation image for USB flash etc.
4#
5
6#
7# Required variables:
8#	INSTIMGBASE
9#		Basename of the liveimage
10#
11# Optional variables:
12#	INSTIMAGEMB
13#		target image size in MB
14#		(if empty default IMAGEMB in Makefile.bootimage is used)
15#
16# See Makefile.bootimage for other variables.
17#
18
19.if !target(check_INSTIMGBASE)
20check_INSTIMGBASE: .PHONY .NOTMAIN
21.if !defined(INSTIMGBASE)
22	@echo "Error: INSTIMGBASE is not set"
23	@false
24.else
25	@true
26.endif
27.endif
28
29.if defined(INSTIMAGEMB)
30IMAGEMB=	${INSTIMAGEMB}
31.endif
32SWAPMB=		0			# no swap
33
34KERN_SET?=	kern-GENERIC
35SETS?=		gpufw modules base etc
36
37FSTAB_IN?=	${NETBSDSRCDIR}/distrib/common/bootimage/fstab.install.in
38
39USE_MBR?=	no
40
41.if ${USE_MBR} != "no"
42DISKPROTO_IN?=	${NETBSDSRCDIR}/distrib/common/bootimage/diskproto.noswap.mbr.in
43.else
44DISKPROTO_IN?=	${NETBSDSRCDIR}/distrib/common/bootimage/diskproto.noswap.in
45.endif
46
47# XXX: no permission info for makefs(8)
48IMGDIR_EXTRA=	${RELEASEDIR}/${RELEASEMACHINEDIR}	${RELEASEMACHINEDIR}
49IMGDIR_EXCLUDE= 	-s ',./installation/cdrom.*,,gp'
50IMGDIR_EXCLUDE+=	-s ',./installation/liveimage.*,,gp'
51IMGDIR_EXCLUDE+=	-s ',./installation/installimage.*,,gp'
52.if defined(MD_IMGDIR_EXCLUDE)
53IMGDIR_EXCLUDE+=	${MD_IMGDIR_EXCLUDE}
54.endif
55
56IMGBASE=        ${INSTIMGBASE}
57
58.include "${NETBSDSRCDIR}/distrib/common/bootimage/Makefile.bootimage"
59
60# INSTIMG_RELEASEDIR specifies where to install ${INSTIMGBASE}.img.gz.
61# This should be passed from etc/Makefile or etc/etc.${MACHINE}/Makefile.inc
62# but also set default here for manual builds.
63INSTIMG_RELEASEDIR?=	${RELEASEMACHINEDIR}/installation/installimage
64
65# should be defined elsewhere? 
66MKDIR?=		mkdir -p
67
68install_image: check_INSTIMGBASE check_RELEASEDIR ${IMGBASE}.img.gz
69	${MKDIR} ${MKDIRPERM} ${INSTIMG_RELEASEDIR}
70	${RELEASE_INSTALL} ${IMGBASE}.img.gz ${INSTIMG_RELEASEDIR}
71	# note ${MAKESUM} will be calculated in src/etc/Makefile
72
73release:
74
75