Home | History | Annotate | Line # | Download | only in bootimage
Makefile.installimage revision 1.11
      1 #	$NetBSD: Makefile.installimage,v 1.11 2024/04/25 11:56:51 nia 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?=		gpufw 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/floppy/.*,,gp'
     50 IMGDIR_EXCLUDE+= 	-s ',./installation/cdrom.*,,gp'
     51 IMGDIR_EXCLUDE+=	-s ',./installation/liveimage.*,,gp'
     52 IMGDIR_EXCLUDE+=	-s ',./installation/installimage.*,,gp'
     53 .if defined(MD_IMGDIR_EXCLUDE)
     54 IMGDIR_EXCLUDE+=	${MD_IMGDIR_EXCLUDE}
     55 .endif
     56 
     57 IMGBASE=        ${INSTIMGBASE}
     58 
     59 .include "${NETBSDSRCDIR}/distrib/common/bootimage/Makefile.bootimage"
     60 
     61 # INSTIMG_RELEASEDIR specifies where to install ${INSTIMGBASE}.img.gz.
     62 # This should be passed from etc/Makefile or etc/etc.${MACHINE}/Makefile.inc
     63 # but also set default here for manual builds.
     64 INSTIMG_RELEASEDIR?=	${RELEASEMACHINEDIR}/installation/installimage
     65 
     66 # should be defined elsewhere? 
     67 MKDIR?=		mkdir -p
     68 
     69 install_image: check_INSTIMGBASE check_RELEASEDIR ${IMGBASE}.img.gz
     70 	${MKDIR} ${MKDIRPERM} ${INSTIMG_RELEASEDIR}
     71 	${RELEASE_INSTALL} ${IMGBASE}.img.gz ${INSTIMG_RELEASEDIR}
     72 	# note ${MAKESUM} will be calculated in src/etc/Makefile
     73 
     74 release:
     75 
     76