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