From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7163605801230139392 X-Received: by 2002:a05:6512:c25:b0:4af:7f16:d07c with SMTP id z37-20020a0565120c2500b004af7f16d07cmr18809313lfu.365.1667906954661; Tue, 08 Nov 2022 03:29:14 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6512:358c:b0:48b:2227:7787 with SMTP id m12-20020a056512358c00b0048b22277787ls1977559lfr.3.-pod-prod-gmail; Tue, 08 Nov 2022 03:29:13 -0800 (PST) X-Google-Smtp-Source: AMsMyM6+FJfIB7ZG9x+2jB9z/mDJyRdzlNWLCyxpk2TCW9fpvA4omA0GskYTJqHrOOOPbom5ypPE X-Received: by 2002:a19:c20b:0:b0:4a2:40e5:78b1 with SMTP id l11-20020a19c20b000000b004a240e578b1mr18958728lfc.228.1667906953406; Tue, 08 Nov 2022 03:29:13 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1667906953; cv=pass; d=google.com; s=arc-20160816; b=M8E1KVKmdt3stcQKTgicTSCt7xl66e0+rZJ3qj7HSXm4wVdYI/OBFANWD8WcK7jTyI lLs4ChiK2rTsuvrggx2cpcI1OJMZnpXhrZxZTWAgDDSKe8vNf1QBfXPrZyo3gWL00Ku2 PJgYFCrc/lIiHgDhG5FSoNgA7mmPOLBgjEOCEGidcZGQkzz50QS02YCiEIuwWhWE1PbZ vcDv96o5DnRxBAmgj5jrwQSj1vTh/DzeRRyKPrrEHO6w/2jVvRG3ssvHU+oBZyIp1Jby 6c3Pqeq/g8Lwj7vSfQZeS2vW2iuN4r+6h8CgLR8v2GmLJ3ULiScm3AUsv248n2AnVCOK Q3aQ== 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=wD1qqDYZJwaSVDmnaXZIMQGoECCN1RcR4Yk+F4lSGf0=; b=oc/G0ylbVKupTXnGv23wI0WyIy4ffEQ5N/AtyA5Zk1SKBEyy6u1O4HuVt+F7sxCmiB 7oi5GsCRWEu3DneJUT7V7weGIAFF5WC4EOgPY6cj9p1Zj4WLy5CEAZDj0cvhxf5ij2ze q5e9iq74jkS5Yxle/DFJww1eKaYTQxQm1WSyXAOB+9nl5c6DdC8axz1XmofHJbwQ5Eri GCkhX86atFhttZ2FLzXkCshprGz6j2TIXwqDmTg3BJsFYoSdqYO+JF/EIb2FxS+ER0Ih NEnng7F7BQAY0icGY5O1VvIp37CnVHGbsyfp5Mcr5+ZBVKzQopQXLeXuzG3tBcZab287 OBnw== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=UStqMbn8; arc=pass (i=1); spf=pass (google.com: domain of tobias.schaffner@siemens.com designates 40.107.6.86 as permitted sender) smtp.mailfrom=tobias.schaffner@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60086.outbound.protection.outlook.com. [40.107.6.86]) by gmr-mx.google.com with ESMTPS id z14-20020a056512370e00b0048b224551b6si365877lfr.12.2022.11.08.03.29.13 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 08 Nov 2022 03:29:13 -0800 (PST) Received-SPF: pass (google.com: domain of tobias.schaffner@siemens.com designates 40.107.6.86 as permitted sender) client-ip=40.107.6.86; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=UStqMbn8; arc=pass (i=1); spf=pass (google.com: domain of tobias.schaffner@siemens.com designates 40.107.6.86 as permitted sender) smtp.mailfrom=tobias.schaffner@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=KAL9PskOzWzXqQkNQ7CbXHVzznch4mg2/cujL3Sz9gn7cyNLpoBVC8XF9pES2rZdqdRcH1+F9wr0lVfRfUXeh2IoVdqnRNpIj+pf7L8E3XQ64E1eU9FhfAH8iaLexKRh2MyAxpJkhx39U6HFu8BCvJ16+AfdhObYiyWXZcjCLUCbcUqTLCgOD7Ua5lfjG0RrDRlc0LHJ4gnOSXrgHCWALItq3w4MQMY5IumQNIYBB6axWjFhx1SRAZ0Lefh3q51j7VR9WiiVGDzyF9S7yX5jTfpFa4RhIJIeaU+9G9GI4wArwB4+s5UwKQPTCgEDL7dlWzaGOKFSrtTME8beyb4okA== 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=wD1qqDYZJwaSVDmnaXZIMQGoECCN1RcR4Yk+F4lSGf0=; b=FMtOIE0C4JXqVgwlpRY5zlqya8hwBhnBz9tqKBzaOojntGGgJ2/oW9+3zWzfqLvYbDmPFIvaAsqML1dahZq5gYyXWcqWAUHgN5/ooagL21JbThfchOzJP0BE4oSlL2V9CgeK5A6xFEWTaCQKlx0xRwXQzP0l/pRQCoWEluI6xnzIhNEz2zxi78Qs7w32Gv+C5eS0gcQSwfMGZf0rbPFXzSsLTIoQq9sEix5YNcHbeewHI+whZhV8jCO9uTi7JBZtpkjm00PeATTQRKcEEsx5XLBaDJbxIG/ilHo+jSXEXI8GV2J9JQhq18sGOwliNCVkP3bFbmR4UlfE1gHjrltHIQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 194.138.21.76) smtp.rcpttodomain=googlegroups.com smtp.mailfrom=siemens.com; dmarc=fail (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=wD1qqDYZJwaSVDmnaXZIMQGoECCN1RcR4Yk+F4lSGf0=; b=UStqMbn8Gl2ABlJlK3pSY0DKpFRj1G53sM3BiAd8HTcukXoMpnfgYOgQFnqo0OS2de573H7qN8ShS4fdcVPD4nMRX3bO/YZv/9TtgIx/p2EPzUepwxwg9sg8UCQQdrGqJCf50xJaG2WNBhHsjxO1kEnvnO+xnpiyJJt6AnhD49vLe7ary2tf6u/bKm9aau3wgJKRuHWtSzZvUa/ylskhnU6iBwXA7aRc+SzKh9jmrMDvuaFy/M0LjupCWD7YMRh+HX1nuEC4o/JD8hJ/GLB0dpcFPrdD2xnhoCPBXCCIYT6q7A6Ak/OHkQd2XFKC+IbuteX0CIA2VF8WCS2p14qrkg== Received: from OS6P279CA0177.NORP279.PROD.OUTLOOK.COM (2603:10a6:e10:38::8) by AS4PR10MB5546.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:4cc::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5791.27; Tue, 8 Nov 2022 11:29:12 +0000 Received: from HE1EUR01FT065.eop-EUR01.prod.protection.outlook.com (2603:10a6:e10:38:cafe::b1) by OS6P279CA0177.outlook.office365.com (2603:10a6:e10:38::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5791.27 via Frontend Transport; Tue, 8 Nov 2022 11:29:11 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 194.138.21.76) smtp.mailfrom=siemens.com; dkim=none (message not signed) header.d=none;dmarc=fail action=none header.from=siemens.com; Received-SPF: Fail (protection.outlook.com: domain of siemens.com does not designate 194.138.21.76 as permitted sender) receiver=protection.outlook.com; client-ip=194.138.21.76; helo=hybrid.siemens.com; Received: from hybrid.siemens.com (194.138.21.76) by HE1EUR01FT065.mail.protection.outlook.com (10.152.0.242) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5791.20 via Frontend Transport; Tue, 8 Nov 2022 11:29:11 +0000 Received: from DEMCHDC8WAA.ad011.siemens.net (139.25.226.104) by DEMCHDC8VSA.ad011.siemens.net (194.138.21.76) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.15; Tue, 8 Nov 2022 12:29:10 +0100 Received: from L15-Gen2.ad001.siemens.net (139.25.69.126) by DEMCHDC8WAA.ad011.siemens.net (139.25.226.104) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.15; Tue, 8 Nov 2022 12:29:04 +0100 From: "T. Schaffner" To: CC: , Tobias Schaffner Subject: [PATCH 1/2] Check if last partition ends at GPT backup header Date: Tue, 8 Nov 2022 12:28:36 +0100 Message-ID: <20221108112837.435213-2-tobias.schaffner@siemens.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20221108112837.435213-1-tobias.schaffner@siemens.com> References: <20221108112837.435213-1-tobias.schaffner@siemens.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain Return-Path: tobias.schaffner@siemens.com X-Originating-IP: [139.25.69.126] X-ClientProxiedBy: DEMCHDC8WAA.ad011.siemens.net (139.25.226.104) To DEMCHDC8WAA.ad011.siemens.net (139.25.226.104) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1EUR01FT065:EE_|AS4PR10MB5546:EE_ X-MS-Office365-Filtering-Correlation-Id: ab5cbd56-ee6a-43c0-e223-08dac17c756c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: bTzMpxoisLszr5Mla14zlYCdujoeyM/ii/FY6sPTfklSynHO5mUMtNdipUqgpSyO5tv/zAESXbf7DvtL7wda0UKrf/4SjkroNhDAkvLKQJLn3j0y3/gTWYsc4nU06Nu7hgGt0ETofoobuspcwVlWWTkaVXuJDyKO0pwLE4E8t6edKQqZTS6r01L39RdDKKE7SPi7h00wdt6M8Cz1b6uHzXT4Etk7PAxrk0jdtGJ4ycVEDjdoHxjssDwdh/mOK2IKi4eqTjybnXVoZjRcwe3YdLqtqktdwBHLEDnK1ZiK1yBmRUTcOGp80tg9sujT9HR6Hx96qVjA3djYKWkW3ILFnovs81D0E5dqmveeKgV7ulAdq9JfT3ImfKzwTRRr0PZsV3Num73MSrLB1gqaDJeI2dzufuEf2PuhhlOPhLVL67kMC5JEQ+F9Urqnp4PMZRfNQtwlUv5ijNFhmgZ8/hjRrjniqdP/YhxrZBjZuq0RVBsx/75QReBy/w4YX1voYHOQ550g5QFrYt58WSHQiM+GLi3LIx8G7o1oBz04G+hfOz81TBg6gj4QDsI6E/NhVADJDWmdKN6jW8RDeTFU0vU3xowBD+A4IGVCrLlkf0F+yofAapX/sTXx30P5j0Kh0w9P8wAMe6IgIYikLoL3I9OgVZkZP4nURqTEZVrE4xM2BrpRFU5s77XS+QbatHvBpVQ4wWV2tmp8yCaJpo8J/xAcRQGN9nrMPwKC7Gn+r5c/IgUhSjWp5KSPElKDmS4pqGExC647pgYu2uYjfl0YU54yaErGy+UtW7DZowOPvYOnrG/KBY+5Vij/ELYjYuk4bCQX X-Forefront-Antispam-Report: CIP:194.138.21.76;CTRY:DE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:hybrid.siemens.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(396003)(39860400002)(346002)(376002)(136003)(451199015)(46966006)(40470700004)(36840700001)(47076005)(16526019)(1076003)(186003)(336012)(956004)(83380400001)(26005)(82960400001)(82740400003)(2616005)(36860700001)(5660300002)(2906002)(40460700003)(40480700001)(82310400005)(6666004)(107886003)(478600001)(316002)(6916009)(41300700001)(54906003)(70586007)(8936002)(4326008)(8676002)(70206006)(36756003)(356005)(86362001)(81166007)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2022 11:29:11.5428 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ab5cbd56-ee6a-43c0-e223-08dac17c756c 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.76];Helo=[hybrid.siemens.com] X-MS-Exchange-CrossTenant-AuthSource: HE1EUR01FT065.eop-EUR01.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR10MB5546 X-TUID: KWW/lOU+IUeJ From: Tobias Schaffner The GPT backup header has a fixed size of 33 512 byte blocks. Check if the last partition ends at the block before the start of the GUID partition table backup header. If so the partition is fully expanded. Signed-off-by: Tobias Schaffner --- .../files/expand-last-partition.sh | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/meta/recipes-support/expand-on-first-boot/files/expand-last-partition.sh b/meta/recipes-support/expand-on-first-boot/files/expand-last-partition.sh index 57055cc..0d662cc 100755 --- a/meta/recipes-support/expand-on-first-boot/files/expand-last-partition.sh +++ b/meta/recipes-support/expand-on-first-boot/files/expand-last-partition.sh @@ -22,24 +22,23 @@ if [ "${ROOT_DEV}" = "${BOOT_DEV}" ]; then exit 1 fi -# this value is in blocks. Normally a block has 512 bytes. -BUFFER_SIZE=32768 BOOT_DEV_NAME=${BOOT_DEV##*/} +LAST_PART_NAME="$(lsblk -l -o NAME "${BOOT_DEV}" | tail -1)" +LAST_PART="/dev/${LAST_PART_NAME}" + DISK_SIZE="$(cat /sys/class/block/"${BOOT_DEV_NAME}"/size)" -ALL_PARTS_SIZE=0 -for PARTITION in /sys/class/block/"${BOOT_DEV_NAME}"/"${BOOT_DEV_NAME}"*; do - PART_SIZE=$(cat "${PARTITION}"/size) - ALL_PARTS_SIZE=$((ALL_PARTS_SIZE + PART_SIZE)) -done +LAST_PART_SIZE="$(cat /sys/class/block/"${LAST_PART_NAME}"/size)" +LAST_PART_START="$(cat /sys/class/block/"${LAST_PART_NAME}"/start)" + +# The GUID partition table stores its backup in the last 33 blocks of the table. +# Therefore the last partition ends 33 before the end of the disk if expanded. +GPT_BACKUP_SIZE=33 -MINIMAL_SIZE=$((ALL_PARTS_SIZE + BUFFER_SIZE)) -if [ "$DISK_SIZE" -lt "$MINIMAL_SIZE" ]; then +if [ $((LAST_PART_START + LAST_PART_SIZE + GPT_BACKUP_SIZE)) -lt "${DISK_SIZE}" ]; then echo "Disk is practically already full, doing nothing." >&2 exit 0 fi -LAST_PART="$(sfdisk -d "${BOOT_DEV}" 2>/dev/null | tail -1 | cut -d ' ' -f 1)" - # Transform the partition table as follows: # # - Remove any 'last-lba' header so sfdisk uses the entire available space. -- 2.34.1