summaryrefslogtreecommitdiff
path: root/distrib/common/bootimage/Makefile.installimage
blob: 84918b2a9e4319e3946074f645b9488aad1ec532 (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
#	$NetBSD: Makefile.installimage,v 1.4 2012/11/03 14:25:32 tsutsui Exp $
#
# Common Makefile to create a bootable installation image for USB flash etc.
#

#
# Required variables:
#	INSTIMGBASE
#		Basename of the liveimage
#
# Optional variables:
#	INSTIMAGEMB
#		target image size in MB
#		(if empty default IMAGEMB in Makefile.bootimage is used)
#
# See Makefile.bootimage for other variables.
#

.if !target(check_INSTIMGBASE)
check_INSTIMGBASE: .PHONY .NOTMAIN
.if !defined(INSTIMGBASE)
	@echo "Error: INSTIMGBASE is not set"
	@false
.else
	@true
.endif
.endif

.if defined(INSTIMAGEMB)
IMAGEMB=	${INSTIMAGEMB}
.endif
SWAPMB=		0			# no swap
OMIT_SWAPIMG=	yes			# nothing to write

KERN_SET?=	kern-GENERIC
SETS?=		modules base etc

FSTAB_IN?=	${NETBSDSRCDIR}/distrib/common/bootimage/fstab.install.in

.if ${USE_MBR} != "no"
DISKPROTO_IN?=	${NETBSDSRCDIR}/distrib/common/bootimage/diskproto.noswap.mbr.in
.else
DISKPROTO_IN?=	${NETBSDSRCDIR}/distrib/common/bootimage/diskproto.noswap.in
.endif

# XXX: no permission info for makefs(8)
IMGDIR_EXTRA=	${RELEASEDIR}/${RELEASEMACHINEDIR}	${RELEASEMACHINEDIR}
IMGDIR_EXCLUDE= 	-s ',./installation/cdrom.*,,gp'
IMGDIR_EXCLUDE+=	-s ',./installation/liveimage.*,,gp'
IMGDIR_EXCLUDE+=	-s ',./installation/installimage.*,,gp'

IMGBASE=        ${INSTIMGBASE}

.include "${NETBSDSRCDIR}/distrib/common/bootimage/Makefile.bootimage"

# INSTIMG_RELEASEDIR specifies where to install ${INSTIMGBASE}.img.gz.
# This should be passed from etc/Makefile or etc/etc.${MACHINE}/Makefile.inc
# but also set default here for manual builds.
INSTIMG_RELEASEDIR?=	${RELEASEMACHINEDIR}/installation/installimage

# should be defined elsewhere? 
MKDIR?=		mkdir -p

install_image: check_INSTIMGBASE check_RELEASEDIR ${IMGBASE}.img.gz
	${MKDIR} ${INSTIMG_RELEASEDIR}
	${RELEASE_INSTALL} ${IMGBASE}.img.gz ${INSTIMG_RELEASEDIR}
	# note ${MAKESUM} will be calculated in src/etc/Makefile

release: