From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7071266692367646720 X-Received: by 2002:a1c:4c0f:0:b0:38c:7af1:4438 with SMTP id z15-20020a1c4c0f000000b0038c7af14438mr4798588wmf.8.1647967551271; Tue, 22 Mar 2022 09:45:51 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a5d:64aa:0:b0:204:1c8a:51f9 with SMTP id m10-20020a5d64aa000000b002041c8a51f9ls905921wrp.2.gmail; Tue, 22 Mar 2022 09:45:50 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyCkRcs6NDX0RHBqVGZab2+/RkEwwOgurOmzKRQbXTu63YCkBjSnpti+i3az3DMVFTGppDe X-Received: by 2002:a5d:5981:0:b0:204:1da7:93d7 with SMTP id n1-20020a5d5981000000b002041da793d7mr6042925wri.621.1647967550437; Tue, 22 Mar 2022 09:45:50 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1647967550; cv=pass; d=google.com; s=arc-20160816; b=b+TRx5WbWqtbujZidIwK3LbluLTZx8DItx6UbbaQsV0kqUV3VIGd8bjasHV4yjaRXq P4spjFzwcI2JurQLOI423Xg2uVd+4FknWy1vk2QcqxUbA9u0FKYf6QYBWcFQkoh4fBTh ZnGY8MrI47Hd1MDF1mgjsZxhkfj0jHKjUJlbaYH3tRs9Kh0gX9jLj8mTld1C8CnPfwi3 ciz9dW4TI1IGeRLfzhuYCJz6+uFLzKgix0IjohrHv1Gx4UDTy38Av8lIiI4lbMZpKGm3 ktQeE/5SRQpgJtB7ODYDEf9qmVTX2TtImXKckWWHyILYjVCZK/J9A3Gzu2K/cL9kEnil SRvQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=ZYVGkh6tU8XV6ea3Ro8/Muw5yRj+82evvaILfYityIA=; b=cklOwLUG202sfyLnJ+ahHZeauQajRwi0I8aKfkI2f2aIJBlDLtWUU/y2y7Bei8bZep eBy/3+9yZCkOdM7hP6Zsuj4crItK3eQKuXBg90hEy+VF27reabmYBbOyrLpXJ6W2IyAe dCg/8Zdf2rEBjONJk6Ra95Ng29e3Cuvwtk1uSWBCsKb4Dz9rk7+ltz+g7bXb+ZUga20r J4Mk9acs1eT6Gq5T6PqwC+YiP0sAQlpS4BqIjAMm+fDnNN5SMfgDR3QVHxvFHBvfzRZA Z25RAKR/hX2Jz36FUXn5K3wrmLZrq22eWsLnXljbs1jWvccXfnWzvXCEC7COgWrmIyCw Zb5w== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=ONEyy2vA; arc=pass (i=1 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f400:fe0d::630 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on0630.outbound.protection.outlook.com. [2a01:111:f400:fe0d::630]) by gmr-mx.google.com with ESMTPS id e11-20020a056000178b00b0020405b47816si536676wrg.3.2022.03.22.09.45.50 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 22 Mar 2022 09:45:50 -0700 (PDT) Received-SPF: pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f400:fe0d::630 as permitted sender) client-ip=2a01:111:f400:fe0d::630; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=ONEyy2vA; arc=pass (i=1 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f400:fe0d::630 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ky5jE77JxAMtC32zsWQFvcsGWtxVHILtVH9SirexGARRbQRZJbZ8nPUndH48LeRERbPFnUIvCMn7aTswxLKZxxQpcBrQ5wzKJVXWZKjTk/oYidNg8+q4XN00Q8LxZ4PU1JfXvG5V86WnXbo0qnZoFMlnYjZT/XE6X3v54ZSAHIthaEMnlv5JREVR0TD4hhPBUP0TBA7MrC+gEh+zx9LaBzE5Qy8LH+m/c+S/NLQbnSRgYUZA33+bW1u1BefVRLxVh8hhPKy3XAgaeMBLS7ERPThkmJM3rwGbP1nBjVvGL1DGw4TcjIN4SAbT0JUagPR76wFWduU5GOvPtl3cEMywbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ZYVGkh6tU8XV6ea3Ro8/Muw5yRj+82evvaILfYityIA=; b=Fu1mF4/oinLQ9OP3VOQrpJadH7e9+ULA+XB7kUcgsAeVuuynuSYWiSRdoei+P2NiKwdfFg0VafP2wsgTyLAVba4L5K5yZwYXBvAsFLGNVnnevCDUcv8FNXbYIuivgof7ke9FkKY0k7GUEFZJvTbYqZpL333rpHsrh+eYOhcmp7IUtmfrdYiRhC6iVkZNE+15CmlOnRMC2WtiNgYV9hJ+My1tfBv/9AQNBzNtRDxfNSqeoJf6VorlJ1Ieky8wXeaFEXUYZhSttNvUrek2T098a5YvlYsZOAx+jJHltSZ1mdb2bFxNPqtz9Lth4uhFqVT61DU18pXho2JYD1xxqv1Z1g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 194.138.21.73) smtp.rcpttodomain=googlegroups.com smtp.mailfrom=siemens.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=siemens.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=siemens.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZYVGkh6tU8XV6ea3Ro8/Muw5yRj+82evvaILfYityIA=; b=ONEyy2vA/2quTGQFhcSaBvxYIQAbPMMb/26naCKQHuTM1sTP6x6iOyBmaXNNsCacClO2gQFR7c0XbW0Nzt/Ah6JrqkOcyV9qwlsQ7Bs3G5ANMUssOit1dF3sh8O3HD1oBb6YClnshxWANNV0g4qggX2WdA6Inq6+Z7Lw5V1zmpjdg7AwP93rj2W6uuDifyhW8eofOyV85qFJ9WS4YXevPMIPWyjLGjJ3E9F/V7FZAQ3XJypgRTbRL+A2x2NNbC3dpNQOBI+uSHx9dKyFK+39vNbf2XCBS4Fb7+kzvDZtN1+MgY584YEuwcHxUL5sd0UuN/VBmnYqpcPcRCAlPjZAkQ== Received: from DB6PR07CA0113.eurprd07.prod.outlook.com (2603:10a6:6:2c::27) by DB9PR10MB4537.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:22f::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5081.14; Tue, 22 Mar 2022 16:45:48 +0000 Received: from DB5EUR01FT102.eop-EUR01.prod.protection.outlook.com (2603:10a6:6:2c:cafe::64) by DB6PR07CA0113.outlook.office365.com (2603:10a6:6:2c::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5102.8 via Frontend Transport; Tue, 22 Mar 2022 16:45:48 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 194.138.21.73) smtp.mailfrom=siemens.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=siemens.com; Received-SPF: Pass (protection.outlook.com: domain of siemens.com designates 194.138.21.73 as permitted sender) receiver=protection.outlook.com; client-ip=194.138.21.73; helo=hybrid.siemens.com; Received: from hybrid.siemens.com (194.138.21.73) by DB5EUR01FT102.mail.protection.outlook.com (10.152.5.35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.5081.10 via Frontend Transport; Tue, 22 Mar 2022 16:45:48 +0000 Received: from DEMCHDC89XA.ad011.siemens.net (139.25.226.103) by DEMCHDC9SNA.ad011.siemens.net (194.138.21.73) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Tue, 22 Mar 2022 17:45:48 +0100 Received: from felix-dev.test (139.21.146.185) by DEMCHDC89XA.ad011.siemens.net (139.25.226.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.18; Tue, 22 Mar 2022 17:45:47 +0100 From: Felix Moessbauer To: CC: , , , , Felix Moessbauer Subject: [PATCH v3 1/7] Copy efi-plus-pcbios script from OE Date: Tue, 22 Mar 2022 17:45:19 +0100 Message-ID: <20220322164525.3950970-2-felix.moessbauer@siemens.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220322164525.3950970-1-felix.moessbauer@siemens.com> References: <20220322164525.3950970-1-felix.moessbauer@siemens.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain Return-Path: felix.moessbauer@siemens.com X-Originating-IP: [139.21.146.185] X-ClientProxiedBy: DEMCHDC8A1A.ad011.siemens.net (139.25.226.107) To DEMCHDC89XA.ad011.siemens.net (139.25.226.103) X-TM-AS-Product-Ver: SMEX-14.0.0.3080-8.6.1018-26680.007 X-TM-AS-Result: No-10--16.476400-8.000000 X-TMASE-MatchedRID: WRfbYgIWkBY/R6pk1J76xOvwUJTj0sMGrI78kygLfmzuykw7cfAoIH8J riQimOJnoxCLfriDzziEgpd7r2FIkirQiEndxcFjpUJS/yYPsPAsaaYlMvaOHA97mDMXdNW3qsV 6avrpxlVjoMUtsRB8RUB32ynv+GCS4NoxCkFr5kwXKqBAcaFmVUEu3vOafvstvJocEH9IQOw+94 UIF56W/bt4BAaULwAV3//SlfH4KAlReI1Gl+a3J17QVc4aOT0K0bdhFzSuAKbX3j/lf1V8LCUnL zk1+IxzRqYP52QLif1/PefbUWH1H5hGJwsvjRJvWfWFeLLu0VBqKLYuAAtrIoDCiwMF64/B2FA7 wK9mP9fPK8+dMKlrtcQ5vcyCjz1ImtvWuJblbASEHe1zw7eeX9Q90znSFC6qEVuC0eNRYvJBHuV Yxc8DW+m+8/L2lXj1t6IWqTEh27Zevs1eD+lKBHVHmKjDGmlmeENXuE9FZ8c4ZNXh8UPrIDzLhq T0KeNiEt/W/Pt5w8eJsx9NMrHvcANxr8hDZcd7qO3bPz8d3e0NqsPpeYMTRQrACLPt7tKTzxauQ OoKfWtbgeSLS7q8hGrElEhczdbZMELYFPvBwM+D1p+T3PkHcyD/BQjE9pLwutvHF25zoU9Q2v2c nMDdZJWjuQbzw7c3dCxf9jqOU4mD2uiv1enc3t9ouPLyr/bGgVADA2RbGhWeAiCmPx4NwBnUJ0E k6yhjxEHRux+uk8jpP8tMOyYmaA== X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--16.476400-8.000000 X-TMASE-Version: SMEX-14.0.0.3080-8.6.1018-26680.007 X-TM-SNTS-SMTP: D084D040472C0D648C5AFAD012A4201BE8133E85810365866BB6A568C03C1C112000:8 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 34ad5cc1-a636-4746-306c-08da0c236b13 X-MS-TrafficTypeDiagnostic: DB9PR10MB4537:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 5h5vgJR6Hxt8Ps90UIdZMLsgk0R5lSZi5Ntr2mL+CRhokEuyzHI16yGy21BoM3GZDv+BnCFMK8L6SGpHXRMMWfTugQYpPhdF0vEHiCwF96rwTEEter8Ejviif+4zFGLk4Hg1wSynNfN9ce3nxHdsanVo93ahLYlmhthjSWQuZUWNt8C4E5mswOE9egMweQX4IErtE5ZgAQDnPeP8mccEJd8Hwj4XNyHE23em6XkLbktFwG9BZqUNaDhwkJ35x5dbjyBS8Otk7m2G5AE3s5NIdXuECeKHtUC1jftToBUriaprkf5mA5S62U4ub1TsrXe7UaWwspUjP1iM8Y+sIWPj22afAo5gWHpHm5Z5gc7Rco86SW/AwRqh2TCRvXoq0P8O25XgDGEIzCzD7/8+pJOYW0by7Kkox5CzhZm62QpWI1t99qNmZYY3bu7n5f3WcTgn6/DTKuy1F0Iz62K96pw4jrQoee8t9kE5+aYZ2TkQj4i9KsnBL4oiI3uMIrVgqO6kb6SZtLVh6T3Bd42yuR2ma0G5uTrYaRDFPTCxFvz3I3iHaFYyEAe9WCNUZm6lXH7DyBNhRQizboFSHrqejI3yzEJgMTMRVaUxDHEZ9m+zX1RgeN8pOUDGqr3AlZn3OJ/aPhHxwKLLSDpnhFdEDpIn8NRZhESZL0cTpiUMGcoC4SB0vvWF/G+/BOL1l4Z51EV7aJTmJvIGRrSnZ35gwo7006avX6oK8ffpM3628hAWl1pAJF/WR2I/rdnoOWbezSn7 X-Forefront-Antispam-Report: CIP:194.138.21.73;CTRY:DE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:hybrid.siemens.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230001)(4636009)(36840700001)(40470700004)(46966006)(336012)(81166007)(47076005)(70206006)(36756003)(40460700003)(5660300002)(356005)(70586007)(186003)(6666004)(16526019)(26005)(8676002)(36860700001)(2906002)(4326008)(316002)(44832011)(2616005)(86362001)(508600001)(6916009)(107886003)(8936002)(54906003)(82960400001)(82310400004)(1076003)(956004)(83380400001)(2004002)(21314003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2022 16:45:48.5529 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 34ad5cc1-a636-4746-306c-08da0c236b13 X-MS-Exchange-CrossTenant-Id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=38ae3bcd-9579-4fd4-adda-b42e1495d55a;Ip=[194.138.21.73];Helo=[hybrid.siemens.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR01FT102.eop-EUR01.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR10MB4537 X-TUID: 0kwOhx1hJSIk This adds a baseline for further modification to the efi-plus-pcbios WIC script. It helps to keep track of the ISAR related changes. Signed-off-by: Felix Moessbauer --- .../source/bootimg-biosplusefi-isar.py | 213 ++++++++++++++++++ 1 file changed, 213 insertions(+) create mode 100644 meta/scripts/lib/wic/plugins/source/bootimg-biosplusefi-isar.py diff --git a/meta/scripts/lib/wic/plugins/source/bootimg-biosplusefi-isar.py b/meta/scripts/lib/wic/plugins/source/bootimg-biosplusefi-isar.py new file mode 100644 index 00000000..5bd73906 --- /dev/null +++ b/meta/scripts/lib/wic/plugins/source/bootimg-biosplusefi-isar.py @@ -0,0 +1,213 @@ +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# +# DESCRIPTION +# This implements the 'bootimg-biosplusefi' source plugin class for 'wic' +# +# AUTHORS +# William Bourque + +import types + +from wic.pluginbase import SourcePlugin +from importlib.machinery import SourceFileLoader + +class BootimgBiosPlusEFIPlugin(SourcePlugin): + """ + Create MBR + EFI boot partition + + This plugin creates a boot partition that contains both + legacy BIOS and EFI content. It will be able to boot from both. + This is useful when managing PC fleet with some older machines + without EFI support. + + Note it is possible to create an image that can boot from both + legacy BIOS and EFI by defining two partitions : one with arg + --source bootimg-efi and another one with --source bootimg-pcbios. + However, this method has the obvious downside that it requires TWO + partitions to be created on the storage device. + Both partitions will also be marked as "bootable" which does not work on + most BIOS, has BIOS often uses the "bootable" flag to determine + what to boot. If you have such a BIOS, you need to manually remove the + "bootable" flag from the EFI partition for the drive to be bootable. + Having two partitions also seems to confuse wic : the content of + the first partition will be duplicated into the second, even though it + will not be used at all. + + Also, unlike "isoimage-isohybrid" that also does BIOS and EFI, this plugin + allows you to have more than only a single rootfs partitions and does + not turn the rootfs into an initramfs RAM image. + + This plugin is made to put everything into a single /boot partition so it + does not have the limitations listed above. + + The plugin is made so it does tries not to reimplement what's already + been done in other plugins; as such it imports "bootimg-pcbios" + and "bootimg-efi". + Plugin "bootimg-pcbios" is used to generate legacy BIOS boot. + Plugin "bootimg-efi" is used to generate the UEFI boot. Note that it + requires a --sourceparams argument to know which loader to use; refer + to "bootimg-efi" code/documentation for the list of loader. + + Imports are handled with "SourceFileLoader" from importlib as it is + otherwise very difficult to import module that has hyphen "-" in their + filename. + The SourcePlugin() methods used in the plugins (do_install_disk, + do_configure_partition, do_prepare_partition) are then called on both, + beginning by "bootimg-efi". + + Plugin options, such as "--sourceparams" can still be passed to a + plugin, as long they does not cause issue in the other plugin. + + Example wic configuration: + part /boot --source bootimg-biosplusefi --sourceparams="loader=grub-efi"\\ + --ondisk sda --label os_boot --active --align 1024 --use-uuid + """ + + name = 'bootimg-biosplusefi' + + __PCBIOS_MODULE_NAME = "bootimg-pcbios" + __EFI_MODULE_NAME = "bootimg-efi" + + __imgEFIObj = None + __imgBiosObj = None + + @classmethod + def __init__(cls): + """ + Constructor (init) + """ + + # XXX + # For some reasons, __init__ constructor is never called. + # Something to do with how pluginbase works? + cls.__instanciateSubClasses() + + @classmethod + def __instanciateSubClasses(cls): + """ + + """ + + # Import bootimg-pcbios (class name "BootimgPcbiosPlugin") + modulePath = os.path.join(os.path.dirname(os.path.realpath(__file__)), + cls.__PCBIOS_MODULE_NAME + ".py") + loader = SourceFileLoader(cls.__PCBIOS_MODULE_NAME, modulePath) + mod = types.ModuleType(loader.name) + loader.exec_module(mod) + cls.__imgBiosObj = mod.BootimgPcbiosPlugin() + + # Import bootimg-efi (class name "BootimgEFIPlugin") + modulePath = os.path.join(os.path.dirname(os.path.realpath(__file__)), + cls.__EFI_MODULE_NAME + ".py") + loader = SourceFileLoader(cls.__EFI_MODULE_NAME, modulePath) + mod = types.ModuleType(loader.name) + loader.exec_module(mod) + cls.__imgEFIObj = mod.BootimgEFIPlugin() + + @classmethod + def do_install_disk(cls, disk, disk_name, creator, workdir, oe_builddir, + bootimg_dir, kernel_dir, native_sysroot): + """ + Called after all partitions have been prepared and assembled into a + disk image. + """ + + if ( (not cls.__imgEFIObj) or (not cls.__imgBiosObj) ): + cls.__instanciateSubClasses() + + cls.__imgEFIObj.do_install_disk( + disk, + disk_name, + creator, + workdir, + oe_builddir, + bootimg_dir, + kernel_dir, + native_sysroot) + + cls.__imgBiosObj.do_install_disk( + disk, + disk_name, + creator, + workdir, + oe_builddir, + bootimg_dir, + kernel_dir, + native_sysroot) + + @classmethod + def do_configure_partition(cls, part, source_params, creator, cr_workdir, + oe_builddir, bootimg_dir, kernel_dir, + native_sysroot): + """ + Called before do_prepare_partition() + """ + + if ( (not cls.__imgEFIObj) or (not cls.__imgBiosObj) ): + cls.__instanciateSubClasses() + + cls.__imgEFIObj.do_configure_partition( + part, + source_params, + creator, + cr_workdir, + oe_builddir, + bootimg_dir, + kernel_dir, + native_sysroot) + + cls.__imgBiosObj.do_configure_partition( + part, + source_params, + creator, + cr_workdir, + oe_builddir, + bootimg_dir, + kernel_dir, + native_sysroot) + + @classmethod + def do_prepare_partition(cls, part, source_params, creator, cr_workdir, + oe_builddir, bootimg_dir, kernel_dir, + rootfs_dir, native_sysroot): + """ + Called to do the actual content population for a partition i.e. it + 'prepares' the partition to be incorporated into the image. + """ + + if ( (not cls.__imgEFIObj) or (not cls.__imgBiosObj) ): + cls.__instanciateSubClasses() + + cls.__imgEFIObj.do_prepare_partition( + part, + source_params, + creator, + cr_workdir, + oe_builddir, + bootimg_dir, + kernel_dir, + rootfs_dir, + native_sysroot) + + cls.__imgBiosObj.do_prepare_partition( + part, + source_params, + creator, + cr_workdir, + oe_builddir, + bootimg_dir, + kernel_dir, + rootfs_dir, + native_sysroot) -- 2.30.2