Makefile.installimage revision 1.9
1#	$NetBSD: Makefile.installimage,v 1.9 2021/09/25 08:54:29 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?=		modules base etc
36.if ${MKGPUFIRMWARE:Uno} != "no"
37SETS+=		gpufw
38.endif
39
40FSTAB_IN?=	${NETBSDSRCDIR}/distrib/common/bootimage/fstab.install.in
41
42USE_MBR?=	no
43
44.if ${USE_MBR} != "no"
45DISKPROTO_IN?=	${NETBSDSRCDIR}/distrib/common/bootimage/diskproto.noswap.mbr.in
46.else
47DISKPROTO_IN?=	${NETBSDSRCDIR}/distrib/common/bootimage/diskproto.noswap.in
48.endif
49
50# XXX: no permission info for makefs(8)
51IMGDIR_EXTRA=	${RELEASEDIR}/${RELEASEMACHINEDIR}	${RELEASEMACHINEDIR}
52IMGDIR_EXCLUDE= 	-s ',./installation/cdrom.*,,gp'
53IMGDIR_EXCLUDE+=	-s ',./installation/liveimage.*,,gp'
54IMGDIR_EXCLUDE+=	-s ',./installation/installimage.*,,gp'
55.if defined(MD_IMGDIR_EXCLUDE)
56IMGDIR_EXCLUDE+=	${MD_IMGDIR_EXCLUDE}
57.endif
58
59IMGBASE=        ${INSTIMGBASE}
60
61.include "${NETBSDSRCDIR}/distrib/common/bootimage/Makefile.bootimage"
62
63# INSTIMG_RELEASEDIR specifies where to install ${INSTIMGBASE}.img.gz.
64# This should be passed from etc/Makefile or etc/etc.${MACHINE}/Makefile.inc
65# but also set default here for manual builds.
66INSTIMG_RELEASEDIR?=	${RELEASEMACHINEDIR}/installation/installimage
67
68# should be defined elsewhere? 
69MKDIR?=		mkdir -p
70
71install_image: check_INSTIMGBASE check_RELEASEDIR ${IMGBASE}.img.gz
72	${MKDIR} ${MKDIRPERM} ${INSTIMG_RELEASEDIR}
73	${RELEASE_INSTALL} ${IMGBASE}.img.gz ${INSTIMG_RELEASEDIR}
74	# note ${MAKESUM} will be calculated in src/etc/Makefile
75
76release:
77
78