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/b68159a652ad
branches: trunk
changeset: 465421:b68159a652ad
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 39e8855309f2 -r b68159a652ad 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 39e8855309f2 -r b68159a652ad 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