From patchwork Wed Oct 23 04:07:24 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Shrirang Bagul X-Patchwork-Id: 1181779 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=canonical.com Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 46ycKS3WSVz9sPZ; Wed, 23 Oct 2019 15:07:40 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1iN7vs-0000W0-Ix; Wed, 23 Oct 2019 04:07:36 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1iN7vo-0000V0-Aq for kernel-team@lists.ubuntu.com; Wed, 23 Oct 2019 04:07:32 +0000 Received: from 1.general.shrirang--bagul.uk.vpn ([10.172.198.4] helo=localhost.localdomain) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1iN7vn-0000NI-IT for kernel-team@lists.ubuntu.com; Wed, 23 Oct 2019 04:07:32 +0000 From: Shrirang Bagul To: kernel-team@lists.ubuntu.com Subject: [UNSTABLE][PATCH 1/2] UBUNTU: [Packaging] add rules to build FIT image Date: Wed, 23 Oct 2019 12:07:24 +0800 Message-Id: <20191023040725.9811-2-shrirang.bagul@canonical.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191023040725.9811-1-shrirang.bagul@canonical.com> References: <20191023040725.9811-1-shrirang.bagul@canonical.com> MIME-Version: 1.0 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" BugLink: https://bugs.launchpad.net/bugs/1847969 Add a fit_signed option and a script so we can build FIT images that will be eventually signed. Based on commit (in Bionic): 44efa9e736 UBUNTU: [Packaging] add rules to build FIT image Signed-off-by: Alfonso Sánchez-Beato Signed-off-by: Shrirang Bagul --- debian/rules | 2 +- debian/rules.d/1-maintainer.mk | 1 + debian/rules.d/2-binary-arch.mk | 14 ++++++++++++ debian/scripts/build-fit | 40 +++++++++++++++++++++++++++++++++ 4 files changed, 56 insertions(+), 1 deletion(-) create mode 100755 debian/scripts/build-fit diff --git a/debian/rules b/debian/rules index 8cb6604e18db..9281de598b03 100755 --- a/debian/rules +++ b/debian/rules @@ -49,7 +49,7 @@ ifneq ($(DEB_HOST_ARCH),$(DEB_BUILD_ARCH)) endif # Are any of the kernel signing options enabled. -any_signed=$(sort $(filter-out false,$(uefi_signed) $(opal_signed) $(sipl_signed))) +any_signed=$(sort $(filter-out false,$(uefi_signed) $(opal_signed) $(sipl_signed) $(fit_signed))) ifeq ($(any_signed),true) bin_pkg_name=$(bin_pkg_name_unsigned) else diff --git a/debian/rules.d/1-maintainer.mk b/debian/rules.d/1-maintainer.mk index 6b4e0901c288..f20f537e1364 100644 --- a/debian/rules.d/1-maintainer.mk +++ b/debian/rules.d/1-maintainer.mk @@ -94,6 +94,7 @@ printenv: @echo " uefi_signed = $(uefi_signed)" @echo " opal_signed = $(opal_signed)" @echo " sipl_signed = $(sipl_signed)" + @echo " fit_signed = $(fit_signed)" @echo "full_build = $(full_build)" @echo "libc_dev_version = $(libc_dev_version)" @echo "DEB_HOST_GNU_TYPE = $(DEB_HOST_GNU_TYPE)" diff --git a/debian/rules.d/2-binary-arch.mk b/debian/rules.d/2-binary-arch.mk index 82e4d80e469f..f3279369c3a7 100644 --- a/debian/rules.d/2-binary-arch.mk +++ b/debian/rules.d/2-binary-arch.mk @@ -478,6 +478,20 @@ endif install -m644 $(abidir)/$*.compiler \ $(pkgdir_bldinfo)/usr/lib/linux/$(abi_release)-$*/compiler +ifeq ($(fit_signed),true) + install -d $(signingv) + cp -p $(pkgdir_bin)/boot/$(instfile)-$(abi_release)-$* \ + $(signingv)/$(instfile)-$(abi_release)-$*; + # Build FIT image now that the modules folder exists + $(SHELL) $(DROOT)/scripts/build-fit \ + $(CURDIR)/$(DEBIAN)/$(fit_its) \ + "$(foreach f, $(fit_dtb_files), $(builddir)/build-$*/$(f))" \ + $(abi_release)-$(target_flavour) \ + $(CURDIR)/$(DROOT)/linux-modules-$(abi_release)-$* \ + $(signingv) + cp -p $(signingv)/fit-$(abi_release)-$*.fit $(pkgdir_bin)/boot/ +endif + headers_tmp := $(CURDIR)/debian/tmp-headers headers_dir := $(CURDIR)/debian/linux-libc-dev diff --git a/debian/scripts/build-fit b/debian/scripts/build-fit new file mode 100755 index 000000000000..09292611e39d --- /dev/null +++ b/debian/scripts/build-fit @@ -0,0 +1,40 @@ +#!/bin/sh -e +# Creates a FIT image +# $1: ITS file (FIT components description) +# $2: list of space-separated dtb files +# $3: kernel version +# $4: kernel modules directory +# $5: destination directory + +. debian/debian.env + +echo "Creating FIT image" +fit_its="$1" +dtb_files="$2" +KERNEL_VERSION="$3" +KERNEL_MODULES_D="$4" +dest_d="$5" + +set -x +fit_d=$dest_d +mkdir -p "$fit_d" +# Export variables to be used by hooks +export KERNEL_VERSION +export KERNEL_MODULES_D +initrd_f=initrd.img +mkinitramfs -o "$initrd_f" +mv "$initrd_f" "$fit_d" + +mkdir -p "$fit_d"/dtbs/ +for dtb in $dtb_files; do + cp -f "$dtb" "$fit_d"/dtbs/ +done + +cp -f "$dest_d"/vmlinuz-* "$fit_d"/zImage +cp -f "$fit_its" "$fit_d" + +cd "$fit_d" +mkimage -D "-I dts -O dtb -p 2000" -f "${fit_its##*/}" fit-"$KERNEL_VERSION".fit +cd - + +rm -rf "$fit_d"/"$initrd_f" "$fit_d"/dtbs/ "$fit_d"/zImage "$fit_d"/"${fit_its##*/}" From patchwork Wed Oct 23 04:07:25 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Shrirang Bagul X-Patchwork-Id: 1181781 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=canonical.com Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 46ycKT3MR1z9sPh; Wed, 23 Oct 2019 15:07:41 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1iN7vt-0000Wa-QS; Wed, 23 Oct 2019 04:07:37 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1iN7vp-0000VK-Sb for kernel-team@lists.ubuntu.com; Wed, 23 Oct 2019 04:07:33 +0000 Received: from 1.general.shrirang--bagul.uk.vpn ([10.172.198.4] helo=localhost.localdomain) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1iN7vp-0000NI-3U for kernel-team@lists.ubuntu.com; Wed, 23 Oct 2019 04:07:33 +0000 From: Shrirang Bagul To: kernel-team@lists.ubuntu.com Subject: [UNSTABLE][PATCH 2/2] UBUNTU: [Packaging] force creation of headers directory Date: Wed, 23 Oct 2019 12:07:25 +0800 Message-Id: <20191023040725.9811-3-shrirang.bagul@canonical.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191023040725.9811-1-shrirang.bagul@canonical.com> References: <20191023040725.9811-1-shrirang.bagul@canonical.com> MIME-Version: 1.0 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" BugLink: https://bugs.launchpad.net/bugs/1847969 Due to a race condition, some times the headers directory already exists when running the install-arch-headers rule. Make sure we do not fail in that case. Based on commit (in Bionic): bb372cae8201: UBUNTU: [Packaging] force creation of headers directory Signed-off-by: Alfonso Sánchez-Beato Signed-off-by: Shrirang Bagul --- debian/rules.d/2-binary-arch.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/debian/rules.d/2-binary-arch.mk b/debian/rules.d/2-binary-arch.mk index f3279369c3a7..bd86d7b71fad 100644 --- a/debian/rules.d/2-binary-arch.mk +++ b/debian/rules.d/2-binary-arch.mk @@ -522,7 +522,8 @@ endif find . -name '.' -o -name '.*' -prune -o -print | \ cpio -pvd --preserve-modification-time \ $(headers_dir)/usr/include/ ) - mkdir $(headers_dir)/usr/include/$(DEB_HOST_MULTIARCH) + mkdir -p $(headers_dir)/usr/include/$(DEB_HOST_MULTIARCH) + rm -rf $(headers_dir)/usr/include/$(DEB_HOST_MULTIARCH)/asm mv $(headers_dir)/usr/include/asm $(headers_dir)/usr/include/$(DEB_HOST_MULTIARCH)/ rm -rf $(headers_tmp)