Home | History | Annotate | Line # | Download | only in bootimage
Makefile.installimage revision 1.8
      1 #	$NetBSD: Makefile.installimage,v 1.8 2020/05/28 19:20:57 jmcneill 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)
     20 check_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)
     30 IMAGEMB=	${INSTIMAGEMB}
     31 .endif
     32 SWAPMB=		0			# no swap
     33 
     34 KERN_SET?=	kern-GENERIC
     35 SETS?=		modules base etc
     36 
     37 FSTAB_IN?=	${NETBSDSRCDIR}/distrib/common/bootimage/fstab.install.in
     38 
     39 USE_MBR?=	no
     40 
     41 .if ${USE_MBR} != "no"
     42 DISKPROTO_IN?=	${NETBSDSRCDIR}/distrib/common/bootimage/diskproto.noswap.mbr.in
     43 .else
     44 DISKPROTO_IN?=	${NETBSDSRCDIR}/distrib/common/bootimage/diskproto.noswap.in
     45 .endif
     46 
     47 # XXX: no permission info for makefs(8)
     48 IMGDIR_EXTRA=	${RELEASEDIR}/${RELEASEMACHINEDIR}	${RELEASEMACHINEDIR}
     49 IMGDIR_EXCLUDE= 	-s ',./installation/cdrom.*,,gp'
     50 IMGDIR_EXCLUDE+=	-s ',./installation/liveimage.*,,gp'
     51 IMGDIR_EXCLUDE+=	-s ',./installation/installimage.*,,gp'
     52 .if defined(MD_IMGDIR_EXCLUDE)
     53 IMGDIR_EXCLUDE+=	${MD_IMGDIR_EXCLUDE}
     54 .endif
     55 
     56 IMGBASE=        ${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.
     63 INSTIMG_RELEASEDIR?=	${RELEASEMACHINEDIR}/installation/installimage
     64 
     65 # should be defined elsewhere? 
     66 MKDIR?=		mkdir -p
     67 
     68 install_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 
     73 release:
     74 
     75