Module Name: src
Committed By: joerg
Date: Thu Nov 21 22:29:03 UTC 2019
Modified Files:
src/distrib/amd64/uefi-installimage: Makefile Makefile.bootimage
Makefile.installimage
src/distrib/common/bootimage: Makefile.bootimage Makefile.installimage
Log Message:
Merge amd64's UEFI logic back into the generic bootimage handling.
To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/distrib/amd64/uefi-installimage/Makefile
cvs rdiff -u -r1.12 -r1.13 \
src/distrib/amd64/uefi-installimage/Makefile.bootimage
cvs rdiff -u -r1.2 -r1.3 \
src/distrib/amd64/uefi-installimage/Makefile.installimage
cvs rdiff -u -r1.22 -r1.23 src/distrib/common/bootimage/Makefile.bootimage
cvs rdiff -u -r1.5 -r1.6 src/distrib/common/bootimage/Makefile.installimage
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/distrib/amd64/uefi-installimage/Makefile
diff -u src/distrib/amd64/uefi-installimage/Makefile:1.6 src/distrib/amd64/uefi-installimage/Makefile:1.7
--- src/distrib/amd64/uefi-installimage/Makefile:1.6 Sat Dec 15 18:03:17 2018
+++ src/distrib/amd64/uefi-installimage/Makefile Thu Nov 21 22:29:03 2019
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.6 2018/12/15 18:03:17 gson Exp $
+# $NetBSD: Makefile,v 1.7 2019/11/21 22:29:03 joerg Exp $
.include <bsd.own.mk>
@@ -40,4 +40,4 @@ IMGFILE_EXTRA= \
${SYSINSTDIR}/sysinstmsgs.pl . \
${SYSINSTDIR}/sysinst .
-.include "${.CURDIR}/Makefile.installimage"
+.include "${NETBSDSRCDIR}/distrib/common/bootimage//Makefile.installimage"
Index: src/distrib/amd64/uefi-installimage/Makefile.bootimage
diff -u src/distrib/amd64/uefi-installimage/Makefile.bootimage:1.12 src/distrib/amd64/uefi-installimage/Makefile.bootimage:1.13
--- src/distrib/amd64/uefi-installimage/Makefile.bootimage:1.12 Wed Oct 2 11:15:59 2019
+++ src/distrib/amd64/uefi-installimage/Makefile.bootimage Thu Nov 21 22:29:03 2019
@@ -1,500 +0,0 @@
-# $NetBSD: Makefile.bootimage,v 1.12 2019/10/02 11:15:59 maya Exp $
-#
-# Copyright (c) 2009, 2010, 2011 Izumi Tsutsui. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-#
-# Makefile to create a bootable FS image for USB flash or emulators
-#
-
-#
-# Required variables:
-# RELEASEDIR
-# Should be defined in nbmake-${MACHINE}
-# IMGBASE
-# Basename of the image
-#
-# Optional variables:
-# USE_MBR
-# set yes if target disk image requires MBR partition
-# (default: no)
-# USE_GPT
-# set yes if target disk image requires GPT partition
-# (default: no)
-# MBR_BOOTCODE
-# optional MBR bootcode which should be installed by fdisk(8)
-# (default: empty)
-# - specified MBR_BOOTCODE must exist in ${DESTDIR}/usr/mdec
-# - if MBR_BOOTCODE is not specified,
-# MBR_DEFAULT_BOOTCODE (default: mbr) will be used
-# if the target ${MACHINE} has the one in /usr/mdec
-# USE_SUNLABEL
-# set yes if target disk image requires Sun's label
-# (default: no)
-# INSTALLBOOT_AFTER_DISKLABEL (untested)
-# set yes if the target ${MACHINE} requires disklabel
-# to run installboot(8), like hp300
-# (default: empty)
-# IMAGEMB
-# target image size in MB
-# (default: 2048)
-# SWAPMB
-# swap size in target image in MB
-# (default: 128)
-# EFIMB
-# EFI partition size in target image in MB
-# (default: 128)
-# KERN_SET
-# kernel set name which should be extracted into image
-# (default: kern-GENERIC)
-# SETS
-# binary sets that should be extracted into image
-# (default: modules base etc comp games man misc rescue tests
-# text xbase xcomp xetc xfont xserver)
-# SETS_DIR
-# directory path where binary sets are stored
-# (default: ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/sets)
-# IMGFILE_EXTRA
-# list of additional files to be copied into images,
-# containing one or more tuples of the form:
-# FILE TARGETPATH
-# for installation image etc.
-# (default: empty)
-# IMGDIR_EXTRA
-# list of additional directories to be copied into images,
-# containing one or more tuples of the form:
-# DIR TARGETPATH
-# for installation image etc.
-# (default: empty)
-# XXX: currently permissions in IMGDIR_EXTRA are not handled
-# IMGDIR_EXCLUDE
-# pax(1) options to exclude files which should not copied
-# into TARGETPATH in IMGDIR_EXTRA
-# (default: empty)
-# FSTAB_IN
-# template file of /etc/fstab
-# (default: ${DISTRIBDIR}/common/bootimage/fstab.in)
-# SPEC_IN
-# default files of spec file for makefs(8)
-# (default: ${DISTRIBDIR}/common/bootimage/spec.in)
-# SPEC_EXTRA
-# additional files of spec file for makefs(8)
-# (default: empty)
-# IMGMAKEFSOPTIONS
-# options passed to makefs(8) to create root file system
-# (default: -o bsize=16384,fsize=2048,density=8192)
-# INSTALLBOOTOPTIONS
-# options passed to installboot(8), e.g., -o console=com0
-# (default: empty)
-# PRIMARY_BOOT
-# primary boot loader that should be installed into
-# the target image via installboot(8)
-# (default: empty)
-# SECONDARY_BOOT
-# secondary bootloader that should be put into the target image
-# (default: empty)
-# SECONDARY_BOOT_ARG
-# extra arguments that should be passed to installboot(8)
-# to specify the secondary bootloader
-# (default: empty)
-# DISKPROTO_IN
-# template file of disklabel -R
-# (default: ${DISTRIBDIR}/common/bootimage/diskproto.in
-# or ${DISTRIBDIR}/common/bootimage/diskproto.mbr.in)
-# OMIT_SWAPIMG
-# no need to put swap partition into image (for USB stick)
-# (default: no)
-# EFIBOOT
-# EFI bootloader
-# (default: empty)
-#
-
-.include <bsd.own.mk> #
-.include <bsd.endian.mk> # for TARGET_ENDIANNESS
-
-.include "${NETBSDSRCDIR}/distrib/common/Makefile.distrib"
-
-.if ${MKREPRO_TIMESTAMP:Uno} != "no"
-MAKEFS_TIMESTAMP=-T "${MKREPRO_TIMESTAMP}"
-GPT_TIMESTAMP=-T "${MKREPRO_TIMESTAMP}"
-PAX_TIMESTAMP=--timestamp "${MKREPRO_TIMESTAMP}"
-.endif
-
-.if empty(IMGBASE)
-.BEGIN:
- @echo "Error: IMGBASE is not set"
- @false
-.endif
-
-# should be defined elsewhere?
-CAT?= cat
-CHMOD?= chmod
-DD?= dd
-MKDIR?= mkdir -p
-RM?= rm
-
-#
-# common definitions for image
-#
-USE_MBR?= no
-USE_GPT?= no
-USE_SUNLABEL?= no
-INSTALLBOOT_AFTER_DISKLABEL?= no
-
-#
-# size parameters for image
-#
-IMAGEMB?= 2048 # 2048MB
-SWAPMB?= 128 # 128MB
-EFIMB?= 128 # 128MB
-
-# XXX: SWAPMB could be zero and expr(1) returns exit status 1 in that case
-IMAGESECTORS!= expr ${IMAGEMB} \* 1024 \* 1024 / 512
-SWAPSECTORS!= expr ${SWAPMB} \* 1024 \* 1024 / 512 || true
-EFISECTORS!= expr ${EFIMB} \* 1024 \* 1024 / 512 || true
-
-.if ${USE_MBR} == "no" && ${USE_GPT} == "no"
-LABELSECTORS?= 0
-.else
-#LABELSECTORS?= 63 # historical
-#LABELSECTORS?= 32 # 16KB aligned
-LABELSECTORS?= 2048 # 1MB aligned for modern flash devices
-.endif
-
-FSSECTORS!= expr ${IMAGESECTORS} - ${SWAPSECTORS} - ${LABELSECTORS}
-FSSIZE!= expr ${FSSECTORS} \* 512
-
-# parameters for disklabel and MBR
-HEADS= 64
-SECTORS= 32
-CYLINDERS!= expr ${IMAGESECTORS} / \( ${HEADS} \* ${SECTORS} \)
-SECPERCYLINDERS!= expr ${HEADS} \* ${SECTORS}
-MBRHEADS= 255
-MBRSECTORS= 63
-MBRCYLINDERS!= expr ${IMAGESECTORS} / \( ${MBRHEADS} \* ${MBRSECTORS} \)
-MBRNETBSD= 169
-
-BSDPARTSECTORS!= expr ${IMAGESECTORS} - ${LABELSECTORS}
-FSOFFSET= ${LABELSECTORS}
-SWAPOFFSET!= expr ${LABELSECTORS} + ${FSSECTORS}
-
-# parameters for sunlabel
-FSCYLINDERS!= expr ${FSSECTORS} / \( ${HEADS} \* ${SECTORS} \)
-SWAPCYLINDERS!= expr ${SWAPSECTORS} / \( ${HEADS} \* ${SECTORS} \) || true
-
-.if ${USE_GPT} != "no"
-# 2048 for Secondary GPT header and entries
-FSSECTORS!= expr ${IMAGESECTORS} - ${SWAPSECTORS} - ${LABELSECTORS} \
- - ${EFISECTORS} - 2048
-FSSIZE!= expr ${FSSECTORS} \* 512
-
-BSDPARTSECTORS!= expr ${IMAGESECTORS} - ${LABELSECTORS} - ${EFISECTORS} - 2048
-FSOFFSET!= expr ${LABELSECTORS} + ${EFISECTORS}
-SWAPOFFSET!= expr ${LABELSECTORS} + ${FSSECTORS} + ${EFISECTORS}
-
-BOOTDISK_UUID=`${TOOL_GPT} ${GPT_TIMESSTAMP} ${WORKMBR} show -i 2 | ${TOOL_AWK} '/^GUID/ {print $$2}'`
-SWAPDISK_UUID=`${TOOL_GPT} ${GPT_TIMESSTAMP} ${WORKMBR} show -i 3 | ${TOOL_AWK} '/^GUID/ {print $$2}'`
-.endif
-
-#
-# definitions to create root fs
-#
-SETS_DEFAULT= modules base etc comp games man misc rescue tests text
-.if ${MKX11} != "no"
-SETS_DEFAULT+= xbase xcomp xetc xfont xserver
-.endif
-
-KERN_SET?= kern-GENERIC
-SETS?= ${SETS_DEFAULT}
-IMG_SETS= ${KERN_SET} ${SETS}
-SETS_DIR?= ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/sets
-
-FSTAB_IN?= ${DISTRIBDIR}/common/bootimage/fstab.in
-SPEC_IN?= ${DISTRIBDIR}/common/bootimage/spec.in
-
-IMGMAKEFSOPTIONS?= -o bsize=16384,fsize=2048,density=8192
-
-WORKDIR?= work
-WORKSPEC?= work.spec
-WORKFSTAB?= work.fstab
-WORKRCCONF?= work.rc.conf
-WORKFS?= work.rootfs
-TARGETFS?= imgroot.fs
-COMPRESS_PROGRAM=${"${USE_XZ_SETS:Uno}"!="no":?${TOOL_XZ}:${TOOL_GZIP}}
-TAR_SUFF= ${"${USE_XZ_SETS:Uno}"!="no":?tar.xz:tgz}
-
-CLEANFILES+= ${WORKSPEC} ${WORKFSTAB} ${WORKRCCONF} ${WORKFS}
-CLEANFILES+= ${TARGETFS}
-
-#
-# create root file system for the image
-#
-${TARGETFS}: prepare_md_post pre-targetfs
- @if [ ! -d ${RELEASEDIR}/${RELEASEMACHINEDIR} ]; then \
- echo "Missing ${RELEASEDIR}/${RELEASEMACHINEDIR}, aborting"; \
- false; \
- fi;
- @${MKDIR} ${MKDIRPERM} ${WORKDIR}
-.for set in ${IMG_SETS}
- @if [ ! -f ${SETS_DIR}/${set}.${TAR_SUFF} ]; then \
- echo "Missing ${SETS_DIR}/${set}.${TAR_SUFF}, aborting";\
- false; \
- fi
- @echo Extracting ${set}.${TAR_SUFF} ...
- @(cd ${WORKDIR}; ${TOOL_PAX} ${PAX_TIMESTAMP} -rn \
- --use-compress-program=${COMPRESS_PROGRAM:Q} \
- -f ${SETS_DIR}/${set}.${TAR_SUFF} .)
-.endfor
-.if defined(SECONDARY_BOOT)
- @echo Copying secondary boot...
- ${INSTALL} ${COPY} -m 0444 ${WORKDIR}/usr/mdec/${SECONDARY_BOOT} ${WORKDIR}
-.endif
- @echo Preparing /etc/fstab ...
-.if ${USE_GPT} != "no"
-.if ${OMIT_SWAPIMG} == "no"
- ${TOOL_SED} \
- -e "s/ROOT.a/NAME=${BOOTDISK_UUID}/" \
- -e "s/ROOT.b/NAME=${SWAPDISK_UUID}/" \
- < ${FSTAB_IN} > ${WORKFSTAB}
-.else
- ${TOOL_SED} \
- -e "s/ROOT.a/NAME=${BOOTDISK_UUID}/" \
- -e "/ROOT.b/d" \
- < ${FSTAB_IN} > ${WORKFSTAB}
-.endif
-.else # USE_GPT == "no"
-.if ${OMIT_SWAPIMG} == "no"
- ${TOOL_SED} < ${FSTAB_IN} > ${WORKFSTAB}
-.else
- ${TOOL_SED} \
- -e "/ROOT.b/d" \
- < ${FSTAB_IN} > ${WORKFSTAB}
-.endif
-.endif # USE_GPT != "no"
- ${INSTALL} ${COPY} -m 0644 ${WORKFSTAB} ${WORKDIR}/etc/fstab
- @echo Setting rc_configured=YES in /etc/rc.conf ...
- ${TOOL_SED} "s/rc_configured=NO/rc_configured=YES/" \
- < ${WORKDIR}/etc/rc.conf > ${WORKRCCONF}
- ${INSTALL} ${COPY} -m 0644 ${WORKRCCONF} ${WORKDIR}/etc/rc.conf
-.if defined(IMGDIR_EXTRA)
- @echo Copying extra dirs...
-.for _SRCDIR _TARGET in ${IMGDIR_EXTRA}
- @if [ ! -d ${_SRCDIR} ]; then \
- echo "${_SRCDIR} is not directory, aborting"; \
- false; \
- fi
- ${MKDIR} ${MKDIRPERM} ${WORKDIR}/${_TARGET}
- (cd ${_SRCDIR} ; \
- ${TOOL_PAX} ${PAX_TIMESTAMP} -rw -pe -v \
- ${IMGDIR_EXCLUDE} \
- . ${.OBJDIR}/${WORKDIR}/${_TARGET} )
-.endfor
-.endif
-.if defined(IMGFILE_EXTRA)
- @echo Copying extra files...
-.for _SRC _TARGET in ${IMGFILE_EXTRA}
- @if [ ! -f ${_SRC} ]; then \
- echo "${_SRC} in IMGFILE_EXTRA not found, aborting"; \
- false; \
- fi
- @if [ -f ${_SRC} ]; then \
- echo ${INSTALL} ${COPY} -m 0644 ${_SRC} ${WORKDIR}/${_TARGET}; \
- ${INSTALL} ${COPY} -m 0644 ${_SRC} ${WORKDIR}/${_TARGET}; \
- fi
-.endfor
-.endif
- @echo Preparing spec files for makefs...
- ${RM} -f ${WORKSPEC}
- cat ${WORKDIR}/etc/mtree/* | \
- ${TOOL_SED} -e 's/ size=[0-9]*//' > ${WORKSPEC}
- ${HOST_SH} ${WORKDIR}/dev/MAKEDEV -s all ipty | \
- ${TOOL_SED} -e '/^\. type=dir/d' -e 's,^\.,./dev,' >> ${WORKSPEC}
- cat ${SPEC_IN} >> ${WORKSPEC}
-.if defined(SECONDARY_BOOT)
- echo "./${SECONDARY_BOOT} type=file uname=root gname=wheel mode=0444" \
- >> ${WORKSPEC}
-.endif
-.if defined(SPEC_EXTRA)
- cat ${SPEC_EXTRA} >> ${WORKSPEC}
-.endif
- @echo Creating rootfs...
- # XXX /var/spool/ftp/hidden is unreadable
- ${CHMOD} +r ${WORKDIR}/var/spool/ftp/hidden
- ${TOOL_MAKEFS} -M ${FSSIZE} -m ${FSSIZE} \
- -B ${TARGET_ENDIANNESS} \
- -F ${WORKSPEC} -N ${WORKDIR}/etc \
- ${MAKEFS_TIMESTAMP} \
- ${IMGMAKEFSOPTIONS} \
- ${WORKFS} ${WORKDIR}
-.if !empty(PRIMARY_BOOT) && ${INSTALLBOOT_AFTER_DISKLABEL} == "no"
- ${TOOL_INSTALLBOOT} -v -m ${MACHINE} ${INSTALLBOOTOPTIONS} ${WORKFS} \
- ${WORKDIR}/usr/mdec/${PRIMARY_BOOT} ${SECONDARY_BOOT_ARG}
-.endif
- @echo done.
- mv ${WORKFS} ${.TARGET}
-
-#
-# definitions to create image
-#
-.if ${USE_MBR} != "no"
-DISKPROTO_IN?= ${DISTRIBDIR}/common/bootimage/diskproto.mbr.in
-.else
-DISKPROTO_IN?= ${DISTRIBDIR}/common/bootimage/diskproto.in
-.endif
-
-MBR_DEFAULT_BOOTCODE?= mbr
-
-OMIT_SWAPIMG?= no
-
-WORKMBR?= work.mbr
-WORKSWAP?= work.swap
-WORKEFI?= work.efi
-WORKGPT?= work.gpt
-WORKLABEL?= work.diskproto
-WORKIMG?= work.img
-EFIWORKDIR?= work.efidir
-
-CLEANFILES+= ${WORKMBR} ${WORKSWAP}
-CLEANFILES+= ${WORKEFI} ${WORKGPT}
-CLEANFILES+= ${WORKLABEL}.tmp ${WORKLABEL}
-CLEANFILES+= ${WORKIMG} ${IMGBASE}.img
-
-${WORKLABEL}:
- ${TOOL_SED} \
- -e "s/@@SECTORS@@/${SECTORS}/" \
- -e "s/@@HEADS@@/${HEADS}/" \
- -e "s/@@SECPERCYLINDERS@@/${SECPERCYLINDERS}/" \
- -e "s/@@CYLINDERS@@/${CYLINDERS}/" \
- -e "s/@@IMAGESECTORS@@/${IMAGESECTORS}/" \
- -e "s/@@FSSECTORS@@/${FSSECTORS}/" \
- -e "s/@@FSOFFSET@@/${FSOFFSET}/" \
- -e "s/@@SWAPSECTORS@@/${SWAPSECTORS}/" \
- -e "s/@@SWAPOFFSET@@/${SWAPOFFSET}/" \
- -e "s/@@BSDPARTSECTORS@@/${BSDPARTSECTORS}/" \
- < ${DISKPROTO_IN} > ${WORKLABEL}.tmp
- mv ${WORKLABEL}.tmp ${WORKLABEL}
-
-pre-targetfs:
-.if ${USE_GPT} != "no"
- @echo creating GPT header and partition entries...
- ${RM} -f ${WORKMBR}
- ${DD} if=/dev/zero of=${WORKMBR} seek=$$((${IMAGESECTORS} - 1)) count=1
- ${TOOL_GPT} ${GPT_TIMESSTAMP} ${WORKMBR} create
- ${TOOL_GPT} ${GPT_TIMESSTAMP} ${WORKMBR} add -a 1m -s ${EFISECTORS} -t efi -l "EFI system"
- ${TOOL_GPT} ${GPT_TIMESSTAMP} ${WORKMBR} add -a 1m -s ${FSSECTORS} -t ffs
-.if ${OMIT_SWAPIMG} == "no"
- ${TOOL_GPT} ${GPT_TIMESSTAMP} ${WORKMBR} add -a 1m -s ${SWAPSECTORS} -t swap
-.endif
-
-${IMGBASE}.img: ${TARGETFS}
- @echo create EFI system partition...
- @${MKDIR} ${MKDIRPERM} ${EFIWORKDIR}/EFI/boot
-.if !empty(EFIBOOT)
-.for f in ${EFIBOOT}
- ${INSTALL} ${COPY} -m 0644 ${f} ${EFIWORKDIR}/EFI/boot/`basename ${f}`
-.endfor
-.endif
- ${RM} -f ${WORKEFI}
- ${TOOL_MAKEFS} -M ${EFIMB}m -m ${EFIMB}m \
- -B ${TARGET_ENDIANNESS} \
- ${MAKEFS_TIMESTAMP} \
- -t msdos -o F=32,c=1 \
- ${WORKEFI} ${EFIWORKDIR}
- @echo create GPT image...
- ${DD} if=${WORKMBR} of=${WORKGPT} skip=$$((${IMAGESECTORS} - 2048)) \
- count=2048
- ${DD} if=${WORKMBR} count=${LABELSECTORS} | \
- ${CAT} - ${WORKEFI} ${TARGETFS} ${WORKGPT} > ${WORKIMG}
- ${TOOL_GPT} ${GPT_TIMESSTAMP} ${WORKIMG} biosboot -i 2 \
- -c ${.OBJDIR}/${WORKDIR}/usr/mdec/gptmbr.bin
- ${TOOL_GPT} ${GPT_TIMESSTAMP} ${WORKIMG} set -a bootme -i 2
-.else # USE_GPT == "no"
-${IMGBASE}.img: ${TARGETFS} ${WORKLABEL}
-.if ${USE_MBR} != "no"
- @echo creating MBR labels...
- ${DD} if=/dev/zero of=${WORKMBR} seek=$$((${IMAGESECTORS} - 1)) count=1
- ${TOOL_FDISK} -f -i -u \
- -b ${MBRCYLINDERS}/${MBRHEADS}/${MBRSECTORS} \
- -0 -a -s ${MBRNETBSD}/${FSOFFSET}/${BSDPARTSECTORS} \
- -F ${WORKMBR}
-.if empty(MBR_BOOTCODE)
- @if [ -f ${WORKDIR}/usr/mdec/${MBR_DEFAULT_BOOTCODE} ]; then \
- echo ${TOOL_FDISK} -f \
- -i -c ${WORKDIR}/usr/mdec/${MBR_DEFAULT_BOOTCODE} \
- -F ${WORKMBR}; \
- ${TOOL_FDISK} -f \
- -i -c ${WORKDIR}/usr/mdec/${MBR_DEFAULT_BOOTCODE} \
- -F ${WORKMBR}; \
- fi
-.else
- @if [ ! -f ${WORKDIR}/usr/mdec/${MBR_BOOTCODE} ]; then \
- echo "${MBR_BOOTCODE} is not found in DESTDIR/usr/mdec, aborting"; \
- false; \
- fi
- ${TOOL_FDISK} -f -i -c ${WORKDIR}/usr/mdec/${MBR_BOOTCODE} \
- -F ${WORKMBR}
-.endif
- ${DD} if=${WORKMBR} count=${LABELSECTORS} | \
- ${CAT} - ${TARGETFS} > ${WORKIMG}
-.else # USE_MBR == "no"
- ${INSTALL} ${COPY} -m 0644 ${TARGETFS} ${WORKIMG}
-.endif # USE_MBR != "no"
-.endif # USE_GPT != "no"
-.if ${OMIT_SWAPIMG} == "no"
- ${DD} if=/dev/zero of=${WORKSWAP} seek=$$((${SWAPSECTORS} - 1)) count=1
- ${CAT} ${WORKSWAP} >> ${WORKIMG}
-.endif
-.if ${USE_SUNLABEL} != "no"
- @echo Creating sun disklabel...
- printf 'V ncyl %d\nV nhead %d\nV nsect %d\na %d %d/0/0\nb %d %d/0/0\nW\n' \
- ${CYLINDERS} ${HEADS} ${SECTORS} \
- ${FSOFFSET} ${FSCYLINDERS} ${FSCYLINDERS} ${SWAPCYLINDERS} | \
- ${TOOL_SUNLABEL} -nq ${WORKIMG}
-.endif
-.if ${USE_GPT} == "no"
- ${TOOL_DISKLABEL} -R -F ${WORKIMG} ${WORKLABEL}
-.if !empty(PRIMARY_BOOT) && ${INSTALLBOOT_AFTER_DISKLABEL} != "no"
- ${TOOL_INSTALLBOOT} -v -m ${MACHINE} ${INSTALLBOOTOPTIONS} ${WORKIMG} \
- ${WORKDIR}/usr/mdec/${PRIMARY_BOOT}
-.endif
-.endif
- mv ${WORKIMG} ${.TARGET}
-
-
-CLEANFILES+= ${IMGBASE}.img.gz ${IMGBASE}.img.gz.tmp
-
-${IMGBASE}.img.gz: ${IMGBASE}.img
- ${TOOL_GZIP_N} -9c ${IMGBASE}.img > ${.TARGET}.tmp
- mv ${.TARGET}.tmp ${.TARGET}
-
-clean:
- @if [ -d ${WORKDIR}/var/spool/ftp/hidden ]; then \
- ${CHMOD} +r ${WORKDIR}/var/spool/ftp/hidden; \
- fi # XXX
- ${RM} -fr ${WORKDIR}
- ${RM} -fr ${EFIWORKDIR}
-
-prepare_md_post: .PHONY
-image_md_post: .PHONY
-image_md_pre: .PHONY
-
-.include <bsd.prog.mk>
Index: src/distrib/amd64/uefi-installimage/Makefile.installimage
diff -u src/distrib/amd64/uefi-installimage/Makefile.installimage:1.2 src/distrib/amd64/uefi-installimage/Makefile.installimage:1.3
--- src/distrib/amd64/uefi-installimage/Makefile.installimage:1.2 Fri Feb 10 16:43:59 2017
+++ src/distrib/amd64/uefi-installimage/Makefile.installimage Thu Nov 21 22:29:03 2019
@@ -1,70 +0,0 @@
-# $NetBSD: Makefile.installimage,v 1.2 2017/02/10 16:43:59 christos 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 "${.CURDIR}/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} ${MKDIRPERM} ${INSTIMG_RELEASEDIR}
- ${RELEASE_INSTALL} ${IMGBASE}.img.gz ${INSTIMG_RELEASEDIR}
- # note ${MAKESUM} will be calculated in src/etc/Makefile
-
-release:
-
Index: src/distrib/common/bootimage/Makefile.bootimage
diff -u src/distrib/common/bootimage/Makefile.bootimage:1.22 src/distrib/common/bootimage/Makefile.bootimage:1.23
--- src/distrib/common/bootimage/Makefile.bootimage:1.22 Wed Oct 2 11:15:59 2019
+++ src/distrib/common/bootimage/Makefile.bootimage Thu Nov 21 22:29:03 2019
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.bootimage,v 1.22 2019/10/02 11:15:59 maya Exp $
+# $NetBSD: Makefile.bootimage,v 1.23 2019/11/21 22:29:03 joerg Exp $
#
# Copyright (c) 2009, 2010, 2011 Izumi Tsutsui. All rights reserved.
#
@@ -37,6 +37,9 @@
# USE_MBR
# set yes if target disk image requires MBR partition
# (default: no)
+# USE_GPT
+# set yes if target disk image requires GPT partition
+# (default: no)
# MBR_BOOTCODE
# optional MBR bootcode which should be installed by fdisk(8)
# (default: empty)
@@ -57,6 +60,9 @@
# SWAPMB
# swap size in target image in MB
# (default: 128)
+# EFIMB
+# EFI partition size in target image in MB
+# (default: 128)
# KERN_SET
# kernel set name which should be extracted into image
# (default: kern-GENERIC)
@@ -114,9 +120,9 @@
# template file of disklabel -R
# (default: ${DISTRIBDIR}/common/bootimage/diskproto.in
# or ${DISTRIBDIR}/common/bootimage/diskproto.mbr.in)
-# OMIT_SWAPIMG
-# no need to put swap partition into image (for USB stick)
-# (default: no)
+# EFIBOOT
+# EFI bootloader
+# (default: empty)
#
.include <bsd.own.mk> #
@@ -126,6 +132,7 @@
.if ${MKREPRO_TIMESTAMP:Uno} != "no"
MAKEFS_TIMESTAMP=-T "${MKREPRO_TIMESTAMP}"
+GPT_TIMESTAMP=-T "${MKREPRO_TIMESTAMP}"
PAX_TIMESTAMP=--timestamp "${MKREPRO_TIMESTAMP}"
.endif
@@ -146,6 +153,7 @@ RM?= rm
# common definitions for image
#
USE_MBR?= no
+USE_GPT?= no
USE_SUNLABEL?= no
INSTALLBOOT_AFTER_DISKLABEL?= no
@@ -154,12 +162,20 @@ INSTALLBOOT_AFTER_DISKLABEL?= no
#
IMAGEMB?= 2048 # 2048MB
SWAPMB?= 128 # 128MB
+.if ${USE_GPT} == "no"
+EFIMB?= 0
+GPTSECTORS= 0
+.else
+EFIMB?= 128 # 128MB
+GPTSECTORS= 2048
+.endif
# XXX: SWAPMB could be zero and expr(1) returns exit status 1 in that case
IMAGESECTORS!= expr ${IMAGEMB} \* 1024 \* 1024 / 512
SWAPSECTORS!= expr ${SWAPMB} \* 1024 \* 1024 / 512 || true
+EFISECTORS!= expr ${EFIMB} \* 1024 \* 1024 / 512 || true
-.if ${USE_MBR} == "no"
+.if ${USE_MBR} == "no" && ${USE_GPT} == "no"
LABELSECTORS?= 0
.else
#LABELSECTORS?= 63 # historical
@@ -167,7 +183,8 @@ LABELSECTORS?= 0
LABELSECTORS?= 2048 # 1MB aligned for modern flash devices
.endif
-FSSECTORS!= expr ${IMAGESECTORS} - ${SWAPSECTORS} - ${LABELSECTORS}
+FSSECTORS!= expr ${IMAGESECTORS} - ${SWAPSECTORS} - ${LABELSECTORS} \
+ - ${EFISECTORS} - ${GPTSECTORS}
FSSIZE!= expr ${FSSECTORS} \* 512
# parameters for disklabel and MBR
@@ -180,14 +197,18 @@ MBRSECTORS= 63
MBRCYLINDERS!= expr ${IMAGESECTORS} / \( ${MBRHEADS} \* ${MBRSECTORS} \)
MBRNETBSD= 169
-BSDPARTSECTORS!= expr ${IMAGESECTORS} - ${LABELSECTORS}
-FSOFFSET= ${LABELSECTORS}
-SWAPOFFSET!= expr ${LABELSECTORS} + ${FSSECTORS}
+BSDPARTSECTORS!= expr ${IMAGESECTORS} - ${LABELSECTORS} - ${EFISECTORS} - ${GPTSECTORS}
+FSOFFSET!= expr ${LABELSECTORS} + ${EFISECTORS}
+SWAPOFFSET!= expr ${LABELSECTORS} + ${FSSECTORS} + ${EFISECTORS}
# parameters for sunlabel
FSCYLINDERS!= expr ${FSSECTORS} / \( ${HEADS} \* ${SECTORS} \)
SWAPCYLINDERS!= expr ${SWAPSECTORS} / \( ${HEADS} \* ${SECTORS} \) || true
+.if ${USE_GPT} != "no"
+BOOTDISK_UUID=`${TOOL_GPT} ${GPT_TIMESSTAMP} ${WORKMBR} show -i 2 | ${TOOL_AWK} '/^GUID/ {print $$2}'`
+SWAPDISK_UUID=`${TOOL_GPT} ${GPT_TIMESSTAMP} ${WORKMBR} show -i 3 | ${TOOL_AWK} '/^GUID/ {print $$2}'`
+.endif
#
# definitions to create root fs
@@ -220,9 +241,65 @@ CLEANFILES+= ${WORKSPEC} ${WORKFSTAB} ${
CLEANFILES+= ${TARGETFS}
#
+# definitions to create image
+#
+.if ${SWAPSECTORS} == 0
+. if ${USE_MBR} != "no"
+DISKPROTO_IN?= ${DISTRIBDIR}/common/bootimage/diskproto.noswap.mbr.in
+. else
+DISKPROTO_IN?= ${DISTRIBDIR}/common/bootimage/diskproto.noswap.in
+. endif
+.else
+. if ${USE_MBR} != "no"
+DISKPROTO_IN?= ${DISTRIBDIR}/common/bootimage/diskproto.mbr.in
+. else
+DISKPROTO_IN?= ${DISTRIBDIR}/common/bootimage/diskproto.in
+. endif
+.endif
+
+MBR_DEFAULT_BOOTCODE?= mbr
+
+WORKMBR?= work.mbr
+WORKMBRTRUNC?= work.mbr.truncated
+WORKSWAP?= work.swap
+WORKEFI?= work.efi
+WORKGPT?= work.gpt
+WORKLABEL?= work.diskproto
+WORKIMG?= work.img
+EFIWORKDIR?= work.efidir
+
+.if ${USE_GPT} != "no"
+${WORKFSTAB}: ${WORKMBR}
+.endif
+
+${WORKFSTAB}:
+ @echo Preparing /etc/fstab ...
+.if ${USE_GPT} != "no"
+. if ${SWAPSECTORS} != 0
+ ${TOOL_SED} \
+ -e "s/ROOT.a/NAME=${BOOTDISK_UUID}/" \
+ -e "s/ROOT.b/NAME=${SWAPDISK_UUID}/" \
+ < ${FSTAB_IN} > ${WORKFSTAB}
+. else
+ ${TOOL_SED} \
+ -e "s/ROOT.a/NAME=${BOOTDISK_UUID}/" \
+ -e "/ROOT.b/d" \
+ < ${FSTAB_IN} > ${WORKFSTAB}
+. endif
+.else
+. if ${SWAPSECTORS} != 0
+ ${TOOL_SED} < ${FSTAB_IN} > ${WORKFSTAB}
+. else
+ ${TOOL_SED} \
+ -e "/ROOT.b/d" \
+ < ${FSTAB_IN} > ${WORKFSTAB}
+. endif
+.endif
+
+#
# create root file system for the image
#
-${TARGETFS}: prepare_md_post
+${TARGETFS}: prepare_md_post ${WORKFSTAB}
@if [ ! -d ${RELEASEDIR}/${RELEASEMACHINEDIR} ]; then \
echo "Missing ${RELEASEDIR}/${RELEASEMACHINEDIR}, aborting"; \
false; \
@@ -242,8 +319,6 @@ ${TARGETFS}: prepare_md_post
@echo Copying secondary boot...
${INSTALL} ${COPY} -m 0444 ${WORKDIR}/usr/mdec/${SECONDARY_BOOT} ${WORKDIR}
.endif
- @echo Preparing /etc/fstab ...
- ${TOOL_SED} < ${FSTAB_IN} > ${WORKFSTAB}
${INSTALL} ${COPY} -m 0644 ${WORKFSTAB} ${WORKDIR}/etc/fstab
@echo Setting rc_configured=YES in /etc/rc.conf ...
${TOOL_SED} "s/rc_configured=NO/rc_configured=YES/" \
@@ -306,28 +381,36 @@ ${TARGETFS}: prepare_md_post
@echo done.
mv ${WORKFS} ${.TARGET}
-#
-# definitions to create image
-#
-.if ${USE_MBR} != "no"
-DISKPROTO_IN?= ${DISTRIBDIR}/common/bootimage/diskproto.mbr.in
-.else
-DISKPROTO_IN?= ${DISTRIBDIR}/common/bootimage/diskproto.in
+TARGET_BLOCKS=
+.if ${USE_MBR} != "no" || ${USE_GPT} != "no"
+TARGET_BLOCKS+= ${WORKMBRTRUNC}
+.endif
+.if ${USE_GPT} != "no"
+TARGET_BLOCKS+= ${WORKEFI}
+.endif
+TARGET_BLOCKS+= ${TARGETFS}
+.if ${SWAPSECTORS} != 0
+TARGET_BLOCKS+= ${WORKSWAP}
+.endif
+.if ${USE_GPT} != "no"
+TARGET_BLOCKS+= ${WORKGPT}
.endif
-MBR_DEFAULT_BOOTCODE?= mbr
-
-OMIT_SWAPIMG?= no
-
-WORKMBR?= work.mbr
-WORKSWAP?= work.swap
-WORKLABEL?= work.diskproto
-WORKIMG?= work.img
-
-CLEANFILES+= ${WORKMBR} ${WORKSWAP}
+CLEANFILES+= ${WORKMBR} ${WORKMBRTRUNC} ${WORKSWAP}
+CLEANFILES+= ${WORKEFI} ${WORKGPT}
CLEANFILES+= ${WORKLABEL}.tmp ${WORKLABEL}
CLEANFILES+= ${WORKIMG} ${IMGBASE}.img
+${WORKSWAP}:
+.if ${SWAPSECTORS} == 0
+ printf "" > ${WORKSWAP}
+.else
+ ${DD} if=/dev/zero of=${WORKSWAP} seek=$$((${SWAPSECTORS} - 1)) count=1
+.endif
+
+${WORKMBRTRUNC}: ${WORKMBR}
+ ${DD} if=${WORKMBR} count=${LABELSECTORS} of=${WORKMBRTRUNC}
+
${WORKLABEL}:
${TOOL_SED} \
-e "s/@@SECTORS@@/${SECTORS}/" \
@@ -343,15 +426,38 @@ ${WORKLABEL}:
< ${DISKPROTO_IN} > ${WORKLABEL}.tmp
mv ${WORKLABEL}.tmp ${WORKLABEL}
-${IMGBASE}.img: ${TARGETFS} ${WORKLABEL}
-.if ${USE_MBR} != "no"
+${WORKEFI}: ${TARGETFS}
+ @echo create EFI system partition...
+ @${MKDIR} ${MKDIRPERM} ${EFIWORKDIR}/EFI/boot
+.for f in ${EFIBOOT}
+ ${INSTALL} ${COPY} -m 0644 ${f} ${EFIWORKDIR}/EFI/boot/`basename ${f}`
+.endfor
+ ${RM} -f ${WORKEFI}
+ ${TOOL_MAKEFS} -M ${EFIMB}m -m ${EFIMB}m \
+ -B ${TARGET_ENDIANNESS} \
+ ${MAKEFS_TIMESTAMP} \
+ -t msdos -o F=32,c=1 \
+ ${WORKEFI} ${EFIWORKDIR}
+
+${WORKMBR}:
+.if ${USE_GPT} != "no"
+ @echo creating GPT header and partition entries...
+ ${RM} -f ${WORKMBR}
+ ${DD} if=/dev/zero of=${WORKMBR} seek=$$((${IMAGESECTORS} - 1)) count=1
+ ${TOOL_GPT} ${GPT_TIMESSTAMP} ${WORKMBR} create
+ ${TOOL_GPT} ${GPT_TIMESSTAMP} ${WORKMBR} add -a 1m -s ${EFISECTORS} -t efi -l "EFI system"
+ ${TOOL_GPT} ${GPT_TIMESSTAMP} ${WORKMBR} add -a 1m -s ${FSSECTORS} -t ffs
+. if ${SWAPSECTORS} != 0
+ ${TOOL_GPT} ${GPT_TIMESSTAMP} ${WORKMBR} add -a 1m -s ${SWAPSECTORS} -t swap
+. endif
+.elif ${USE_MBR} != "no"
@echo creating MBR labels...
${DD} if=/dev/zero of=${WORKMBR} seek=$$((${IMAGESECTORS} - 1)) count=1
${TOOL_FDISK} -f -i -u \
-b ${MBRCYLINDERS}/${MBRHEADS}/${MBRSECTORS} \
-0 -a -s ${MBRNETBSD}/${FSOFFSET}/${BSDPARTSECTORS} \
-F ${WORKMBR}
-.if empty(MBR_BOOTCODE)
+. if empty(MBR_BOOTCODE)
@if [ -f ${WORKDIR}/usr/mdec/${MBR_DEFAULT_BOOTCODE} ]; then \
echo ${TOOL_FDISK} -f \
-i -c ${WORKDIR}/usr/mdec/${MBR_DEFAULT_BOOTCODE} \
@@ -360,23 +466,32 @@ ${IMGBASE}.img: ${TARGETFS} ${WORKLABEL}
-i -c ${WORKDIR}/usr/mdec/${MBR_DEFAULT_BOOTCODE} \
-F ${WORKMBR}; \
fi
-.else
+. else
@if [ ! -f ${WORKDIR}/usr/mdec/${MBR_BOOTCODE} ]; then \
echo "${MBR_BOOTCODE} is not found in DESTDIR/usr/mdec, aborting"; \
false; \
fi
${TOOL_FDISK} -f -i -c ${WORKDIR}/usr/mdec/${MBR_BOOTCODE} \
-F ${WORKMBR}
+. endif
.endif
- ${DD} if=${WORKMBR} count=${LABELSECTORS} | \
- ${CAT} - ${TARGETFS} > ${WORKIMG}
-.else # USE_MBR == "no"
- ${INSTALL} ${COPY} -m 0644 ${TARGETFS} ${WORKIMG}
-.endif # USE_MBR != "no"
-.if ${OMIT_SWAPIMG} == "no"
- ${DD} if=/dev/zero of=${WORKSWAP} seek=$$((${SWAPSECTORS} - 1)) count=1
- ${CAT} ${WORKSWAP} >> ${WORKIMG}
+
+${WORKGPT}: ${WORKMBR}
+ @echo create GPT image...
+ ${DD} if=${WORKMBR} of=${WORKGPT} skip=$$((${IMAGESECTORS} - 2048)) \
+ count=2048
+
+.if ${USE_GPT} == "no"
+${IMGBASE}.img: ${WORKLABEL}
.endif
+
+${IMGBASE}.img: ${TARGET_BLOCKS}
+ ${CAT} ${TARGET_BLOCKS} > ${WORKIMG}
+.if ${USE_GPT} != "no"
+ ${TOOL_GPT} ${GPT_TIMESSTAMP} ${WORKIMG} biosboot -i 2 \
+ -c ${.OBJDIR}/${WORKDIR}/usr/mdec/gptmbr.bin
+ ${TOOL_GPT} ${GPT_TIMESSTAMP} ${WORKIMG} set -a bootme -i 2
+.endif # USE_GPT != "no"
.if ${USE_SUNLABEL} != "no"
@echo Creating sun disklabel...
printf 'V ncyl %d\nV nhead %d\nV nsect %d\na %d %d/0/0\nb %d %d/0/0\nW\n' \
@@ -384,14 +499,15 @@ ${IMGBASE}.img: ${TARGETFS} ${WORKLABEL}
${FSOFFSET} ${FSCYLINDERS} ${FSCYLINDERS} ${SWAPCYLINDERS} | \
${TOOL_SUNLABEL} -nq ${WORKIMG}
.endif
+.if ${USE_GPT} == "no"
${TOOL_DISKLABEL} -R -F ${WORKIMG} ${WORKLABEL}
.if !empty(PRIMARY_BOOT) && ${INSTALLBOOT_AFTER_DISKLABEL} != "no"
${TOOL_INSTALLBOOT} -v -m ${MACHINE} ${INSTALLBOOTOPTIONS} ${WORKIMG} \
${WORKDIR}/usr/mdec/${PRIMARY_BOOT}
.endif
+.endif
mv ${WORKIMG} ${.TARGET}
-
CLEANFILES+= ${IMGBASE}.img.gz ${IMGBASE}.img.gz.tmp
${IMGBASE}.img.gz: ${IMGBASE}.img
@@ -403,6 +519,7 @@ clean:
${CHMOD} +r ${WORKDIR}/var/spool/ftp/hidden; \
fi # XXX
${RM} -fr ${WORKDIR}
+ ${RM} -fr ${EFIWORKDIR}
prepare_md_post: .PHONY
image_md_post: .PHONY
Index: src/distrib/common/bootimage/Makefile.installimage
diff -u src/distrib/common/bootimage/Makefile.installimage:1.5 src/distrib/common/bootimage/Makefile.installimage:1.6
--- src/distrib/common/bootimage/Makefile.installimage:1.5 Fri Feb 10 16:43:59 2017
+++ src/distrib/common/bootimage/Makefile.installimage Thu Nov 21 22:29:03 2019
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.installimage,v 1.5 2017/02/10 16:43:59 christos Exp $
+# $NetBSD: Makefile.installimage,v 1.6 2019/11/21 22:29:03 joerg Exp $
#
# Common Makefile to create a bootable installation image for USB flash etc.
#
@@ -30,7 +30,6 @@ check_INSTIMGBASE: .PHONY .NOTMAIN
IMAGEMB= ${INSTIMAGEMB}
.endif
SWAPMB= 0 # no swap
-OMIT_SWAPIMG= yes # nothing to write
KERN_SET?= kern-GENERIC
SETS?= modules base etc