Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/distrib Merge amd64's UEFI logic back into the generic booti...



details:   https://anonhg.NetBSD.org/src/rev/9fdd705c3f79
branches:  trunk
changeset: 1004945:9fdd705c3f79
user:      joerg <joerg%NetBSD.org@localhost>
date:      Thu Nov 21 22:29:03 2019 +0000

description:
Merge amd64's UEFI logic back into the generic bootimage handling.

diffstat:

 distrib/amd64/uefi-installimage/Makefile              |    4 +-
 distrib/amd64/uefi-installimage/Makefile.bootimage    |  500 ------------------
 distrib/amd64/uefi-installimage/Makefile.installimage |   70 --
 distrib/common/bootimage/Makefile.bootimage           |  201 +++++-
 distrib/common/bootimage/Makefile.installimage        |    3 +-
 5 files changed, 162 insertions(+), 616 deletions(-)

diffs (truncated from 961 to 300 lines):

diff -r 20a4f996abcf -r 9fdd705c3f79 distrib/amd64/uefi-installimage/Makefile
--- a/distrib/amd64/uefi-installimage/Makefile  Thu Nov 21 22:05:09 2019 +0000
+++ b/distrib/amd64/uefi-installimage/Makefile  Thu Nov 21 22:29:03 2019 +0000
@@ -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 @@
        ${SYSINSTDIR}/sysinstmsgs.pl    .                               \
        ${SYSINSTDIR}/sysinst           .
 
-.include "${.CURDIR}/Makefile.installimage"
+.include "${NETBSDSRCDIR}/distrib/common/bootimage//Makefile.installimage"
diff -r 20a4f996abcf -r 9fdd705c3f79 distrib/amd64/uefi-installimage/Makefile.bootimage
--- a/distrib/amd64/uefi-installimage/Makefile.bootimage        Thu Nov 21 22:05:09 2019 +0000
+++ b/distrib/amd64/uefi-installimage/Makefile.bootimage        Thu Nov 21 22:29:03 2019 +0000
@@ -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"                                              \



Home | Main Index | Thread Index | Old Index