From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7163605801230139392 X-Received: by 2002:a17:907:70b:b0:740:ef93:2ffb with SMTP id xb11-20020a170907070b00b00740ef932ffbmr54169449ejb.93.1667982398345; Wed, 09 Nov 2022 00:26:38 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6402:40c8:b0:45c:bfd9:fb45 with SMTP id z8-20020a05640240c800b0045cbfd9fb45ls6730649edb.3.-pod-prod-gmail; Wed, 09 Nov 2022 00:26:37 -0800 (PST) X-Google-Smtp-Source: AMsMyM4QpLslDF7zIaSHByc5SBbN77KI2dYnDuFYOaQK5mD6QXTvyt8KW5nfEVtsgnqcn+bssx0u X-Received: by 2002:a05:6402:27cb:b0:463:6346:40f with SMTP id c11-20020a05640227cb00b004636346040fmr1121749ede.420.1667982397119; Wed, 09 Nov 2022 00:26:37 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1667982397; cv=pass; d=google.com; s=arc-20160816; b=y6mABmGHVQ5Jl2zO+jle3GEejzgw5rrS+e0QuoAGf+/+RKK4kpz8qUTxsZNA+G+JBC 6quCyoewHbL2cZmwdLaU++bTdp/Xa5v89O26l5iQsJkl+MfUYV4IQJJbNjwIDBsGpFy7 ROjbsGCRb6zOIJS188rIy6joUgUQZ9cYVXDKKb3sJzRb5sgr2fZphFHMJvr6BcnfGoPT v5/NSedlswUBxQz/Lft/prq2XczlVhRzRdZyku4FBiQcOb//zvhlr1SDjrrsoE3BqvBg iZlir2z3E6qg4YvPiv5b6V/sWYKTHZ9XwaP3LJQYZ3Q4VWKJJoGnZhbf0PVk/DOULHVE c36w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:content-transfer-encoding:references:in-reply-to :message-id:subject:cc:to:from:date:dkim-signature; bh=NQGi5+HyK9PGF+y0e2bPhPR3DcaN5fxt/QnkYOWr15M=; b=H2YL1j/E1NFjjdCTOH2TypJPOF4DDnlPOMw++DEe2tmAqfrLLLXtGr9V0jUPdwksmp 1k3FGsJNUp+umoNCKAo/dMbrmMqV7vI4yFtF6XpIgOsMYkbv5+dd7TFPFwXqI5H4Ls1x 3GeuBGN7uDB/Dz77LS3y03gHQEJW/HcGo0FC9ohtXd/+V0e3ZFVnKo77FgN1Pm7shKvx PDdi8i1LDGxe4SY/P6KfHWKsK3K3uJzkXIUdp5XDj4n5Dsy34I8brklYxhWufEZEEx2r J1lsfwkkd0U0/bzsns908QZtf8Haqk1e2SkA5fe2g5S6kZd+JJ0xSMuh0Yr5uezhvFAf PWjg== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=xZZb3hhe; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of henning.schild@siemens.com designates 40.107.21.80 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2080.outbound.protection.outlook.com. [40.107.21.80]) by gmr-mx.google.com with ESMTPS id i19-20020aa7c713000000b0045a1a4ee8d3si485218edq.0.2022.11.09.00.26.36 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 09 Nov 2022 00:26:37 -0800 (PST) Received-SPF: pass (google.com: domain of henning.schild@siemens.com designates 40.107.21.80 as permitted sender) client-ip=40.107.21.80; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=xZZb3hhe; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of henning.schild@siemens.com designates 40.107.21.80 as permitted sender) smtp.mailfrom=henning.schild@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=VEBl7F7u7+HnZOF6Q3B1nrrnORtwcTqKXtU7WC6zOu3jtxzdNssWI/KLRvQ20v5hTKvGVQXAlusHqUTKSD3IHJbiB1NiqvNzZdP37GgtO9M11NxEJzv9XuT+rCPZkDGBCfGvvFquPUOHsRUw0a7pV4pdg3AUER6v2iugdPoiLwDXWaT6XZeLxCDOdVxQLioa4Kf54r+fcBxi8NIWtrgQYV6RinyPHvLgjr/CerCV0wShWIfkf1OJUoXs4gfc/gWMb2CqNi4EsqoQtxSwcPDg+1KJF1sCxb/F2mLNmrBo0/e/ApaOc13L818Yt7uz3olT5/mWD6kean3GEtZlKoRDNg== 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=NQGi5+HyK9PGF+y0e2bPhPR3DcaN5fxt/QnkYOWr15M=; b=UjtewXsPNPygHOyDIFzkL6PU+t6UFDWA+jW/h5YO7dWtKQUT5htykAM2nLtj5LhUaWMnluAuNF1/n6rXiD2SQwacKycmxnjHUpk1TcceRiDqRFPI3YIxkBrj3thwzTTgp+SCcIBZdiWxZJeENOF6tNed4hX75MMfCUcKXPHwz08E0EhAbvx09fPQWqz9l/SlXw34Y4jaj/FORWxSCvQZPM6Vw2/vcrokKmMDr2sY2mTYwtoGadbDBEG9ymEBWj0tdx3VidCRALoFuCEtDpc88hioHRpC0iCzhxvR2xXOQ7QyW7HNtJak/5qYzGO0JDlONV1bBg+hPUH/z+FPeSUnoA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=siemens.com; dmarc=pass action=none header.from=siemens.com; dkim=pass header.d=siemens.com; 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=NQGi5+HyK9PGF+y0e2bPhPR3DcaN5fxt/QnkYOWr15M=; b=xZZb3hheoHHQKvloGtpzXkQOxdpMbYm/iWIuXMTFWE8Fk6qxgbfd738DwZVrrHD4d+35PRwkNa1XjmqiOyiXeqbgP5pdmfhN7j+uACOV0YzHhbmerKJze72RRArBUfaoJ17G2guT9zADGXr2ub06eqd8gELehS0ORDfmnGvvs0um0FknEtjUe+2NAet6s0IuAxqm7Z+3CyInLe63g0hn7nLFdlJbXcmEdzwWNnaDSE+L1ePJZ7MF4QOd6zwLbq3ljhRpXi2i9ob4w83jMij2KochbwxvnNRl+BytQXUorYDp+k+b08NNNdySAXw8IMX0Qoe5pEcyKmJg8uqnGNawCw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=siemens.com; Received: from PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:269::8) by DB3PR10MB6908.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:431::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5791.27; Wed, 9 Nov 2022 08:26:35 +0000 Received: from PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM ([fe80::e9f4:4305:f82d:1abb]) by PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM ([fe80::e9f4:4305:f82d:1abb%3]) with mapi id 15.20.5791.027; Wed, 9 Nov 2022 08:26:35 +0000 Date: Wed, 9 Nov 2022 10:26:27 +0200 From: Henning Schild To: "T. Schaffner" Cc: Subject: Re: [PATCH 1/2] Check if last partition ends at GPT backup header Message-ID: <20221109102627.279d430a@md1za8fc.ad001.siemens.net> In-Reply-To: <20221108112837.435213-2-tobias.schaffner@siemens.com> References: <20221108112837.435213-1-tobias.schaffner@siemens.com> <20221108112837.435213-2-tobias.schaffner@siemens.com> X-Mailer: Claws Mail 4.1.0 (GTK 3.24.34; x86_64-pc-linux-gnu) Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-ClientProxiedBy: CH0PR13CA0024.namprd13.prod.outlook.com (2603:10b6:610:b1::29) To PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:269::8) Return-Path: henning.schild@siemens.com MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PA4PR10MB5780:EE_|DB3PR10MB6908:EE_ X-MS-Office365-Filtering-Correlation-Id: 098e0482-0087-458f-970e-08dac22c1d7c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qGMN1hQ7SDu9uOwWhRhWRjc5VDQqyJHYApoDABve023tcIR252ITwJxipml4GAeeA820Z1ktU+utXfp9OaUy2dg0BpVMqjNFSckmwJrMauPyHjW5ZJTIdbnCSR5nMjTXK6JoNDKwBjS0KtPFhPBbiAiJqXysyUkH/E61YhWCiQM2gO6q+JSflUzlwn+GoNBUE/HheaG1Zlglt3qVsIBn+ONj0o+x4wx/zi6tETrbKYQg798Z7iJo5e8C3BqILeX/TpjG809wa/k0gWrMU0wdaG4QFOc+aZZJhC0dhlWFOVN0nHBBd8RigJYwaW1pIsdFQipQ1UCMItakkiMusdr2U6gMWCLkVWA8cHGNtNojAL1Vx4kGTK/GuhZbSZUZLkBmydJRFWz0STwV+Sr3MNOmmIF45xu5rVlPLG/t8cwMtztI6G5sa9P3EFS+0nv7hkwjourbgQg0xvyVjSs2JuOGHTQFczPVjYgkLy1A4nOv2K65st+on6l/YI26Eh3YKVv1rgZq5uNTkIaQO69N63VVANvB6rt7tu5iDpyqD2pGQ1CGXYfCCwDwsM0jZzbxxE1+Jm5becvGjNCtfenMcnY4oVZdK5yS7lXP7+Op4NFUgEubZQcEEgnhv99loHW5GnMPtSHhDWm8w3NKNB+K5pqFClhupHIEVhwLNfvj2mGtA7tg74oStX5lSkDypZ+Iwv2o8N43xWDINbaUoxTZTsbVIA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(366004)(39860400002)(346002)(376002)(136003)(451199015)(2906002)(38100700002)(9686003)(86362001)(41300700001)(26005)(82960400001)(6666004)(6512007)(478600001)(316002)(66476007)(6486002)(4326008)(66556008)(44832011)(6506007)(66946007)(83380400001)(1076003)(8936002)(6636002)(8676002)(5660300002)(6862004)(186003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?0cVbmI2R7dpmOyfyb5t+jR+wwOqtZvjm/bFsaK3QeTJtr2TEo0r1XCwEC3zQ?= =?us-ascii?Q?T3F3Q46cE2KgMStB6AjlFcQyecYkj3xMnWklViyVHd/DpmapZo/AWf0Ipqbl?= =?us-ascii?Q?Yb1KD52ZeLK3l9UGfZuojQ+bhD6O4FIjnxYcOdJZZDcz4SDkW1rAQ7Id6fJq?= =?us-ascii?Q?zNlp3q5F2idR8RxzS0c12qtOx4gkwsx5nmTvzwwKDEypW4EPxLWWa0mCFoJr?= =?us-ascii?Q?vDF1qBL/n8GF40RuTQslvgBs1PkKUyNjeiKADaOQPPk2A2ylxBPwP0yUoi0L?= =?us-ascii?Q?oQmvfxloPottVvapjUPJ+8M7dKEBr72YjfBvY2bnaU5N5YsNvbaWhXsRFka2?= =?us-ascii?Q?1zhV6RZLB46dKWkaok05lQXOi/eZeMDvxmxsfZl054FrQNdj8K4Skr+3r6fK?= =?us-ascii?Q?P0fjPijLanH+9X3wof9Pag9hP+D2OoVqSbxeBFo+3pC6kU41M8R6DP8Pb4wL?= =?us-ascii?Q?wAH6JGvs5OE6F4Z75mEr6In7Xcy16VclyEPVcY1gErMOkywJuyblPkmhxZbh?= =?us-ascii?Q?XDtT9/e8YPSpQdxLn92OsmHAxo04UCN1rwx5jeks+8V9iAisjXI9415YgGCd?= =?us-ascii?Q?S5HMFDrD7vYT3q5SlX5K7v4zvLmvfaU4rL4Krs09zFilULmMsD71XDxQd+sd?= =?us-ascii?Q?/UKGaR7JGJikgWR3KF0l46ob2gw/EkJotSgDZcV3UIuPSp3ljbq3EqcL/+ua?= =?us-ascii?Q?lyN1MtId4A1tHdC5SsGMFRlhLNVFLaCvLtLjklAN12MI0hnl+kOQnJPz781b?= =?us-ascii?Q?bEAaCXyzUHtyawaNZ9ty8jRzP+SirmDVe/O3FjrI+fBakcIQfg4a0pVundHS?= =?us-ascii?Q?KIO6WVK4esMe4Y+V9bdLv8VxcsT5QHoEJuqVARPoMd0+CZUI5nv6lcWxDikL?= =?us-ascii?Q?X2n9l6MxAJIvZ8KPFcVLRMjpwdUvZwx5NPRU/L+3KPxRKY7VX7l6nKLNg2ha?= =?us-ascii?Q?EL+8TS+siSe2YImDmtZV7MK5Q9yUQ3ESXMBl5SLpjLgZpmf4G8j6TsJNhL4E?= =?us-ascii?Q?mkbStNpAp7s/9WwaMbLaoiiwD3EfGQzaUkFtJf8VG6sgsdc+S6YIYOasX3C9?= =?us-ascii?Q?IkONogu6QubiIiWFmC8g8yjiNQ2kWemAZId4kZ4eWcdQAzfoH4h3KntlAVni?= =?us-ascii?Q?0d9UoZRWxRi8Q7HJ3izP/3k5Ggw0fq35mJ2bwYaKBpIJNYPxUTQYgjFX+3tE?= =?us-ascii?Q?b0psaVm5KyZ7Um5K2GPkfX+GkEBTTxZZcDPnsc+z6x8gKY0qOXiBdKrgZG6q?= =?us-ascii?Q?L66+v4atVw6WO50NHe0O6WVkwAkrCrD2/kWgpxU1mYUjXDFrz+KAQgy4EidW?= =?us-ascii?Q?QrHWSfYB8yutEYQkWEQjjCJyupP2/pQyOvi5P1AJ2tck65HYXNyvUVJi7fVA?= =?us-ascii?Q?mcjEefbkfKFRQ61eu6IVrOFkY5NdbyZaOemnwJYO0qAcTBwaav8BsCv403PW?= =?us-ascii?Q?2K5x11v1Veo8NumkwgsD0ptZybGeXsCOGkrXZZVUi05ucBeH985GCkxj7zfm?= =?us-ascii?Q?I8dIB1ma+hXv2bbRJlksCTf5dTyuw+OspyBvqsm7xSHf1i0hCLD1beb97elQ?= =?us-ascii?Q?tX1egnUWsRRYyGXi/jYXSjOMIYLSXj74F2vg6RF0fSTg0cokIZ/fj7ZGj09G?= =?us-ascii?Q?Uw=3D=3D?= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 098e0482-0087-458f-970e-08dac22c1d7c X-MS-Exchange-CrossTenant-AuthSource: PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2022 08:26:35.7899 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: +rAVhTUNWVyF7YAJ/ZiFWn2mQFtnFqSpAf5VvKuvOtKc4WCyANUbUag2w6oGgqKQOLY0sU4pM1gZsQwLlXZ6CrFakpuXq8ruUoVeykOAB48= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR10MB6908 X-TUID: KqDCeJBgw4mu Am Tue, 8 Nov 2022 12:28:36 +0100 schrieb "T. Schaffner" : > 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 There was a good reason for that. I think when for alignment reasons or so it looks like there is a little bit of space left. But the resize would then not work or we would in fact try a shrink and fail. Here you seem the switch the logic from "practically full" to "really full" and remove that margin where a resize would be tried but would fail. The trick with last_part start + size looks nicer than summing up the whole size. Henning > 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.