From: Jason Wessel <jason.wessel@windriver.com>
To: <openembedded-core@lists.openembedded.org>
Subject: [PATCH 3/4] wic: Make disk partition size consistently computed
Date: Thu, 8 Aug 2019 05:55:08 -0700 [thread overview]
Message-ID: <20190808125509.120784-3-jason.wessel@windriver.com> (raw)
In-Reply-To: <20190808125509.120784-1-jason.wessel@windriver.com>
When using different root directories with a wks file wic is using the
value from the original ROOTFS_SIZE which is not correct. Example:
Number Start End Size File system Name Flags
1 20.5kB 318MB 318MB fat16 otaefi legacy_boot, msftdata
2 318MB 636MB 318MB ext4 otaboot
3 636MB 1709MB 1074MB ext4 otaroot
4 1709MB 2027MB 318MB ext4 otaboot_b
5 2027MB 3101MB 1074MB ext4 otaroot_b
6 3101MB 5249MB 2147MB ext4 fluxdata
The partitions 1, 2, and 3 incorrectly inherit the size, instead of using
a computed size. With the patch applied it is working properly:
Number Start End Size File system Name Flags
1 20.5kB 14.5MB 14.5MB fat16 otaefi legacy_boot, msftdata
2 14.5MB 65.3MB 50.8MB ext4 otaboot
3 65.3MB 1139MB 1074MB ext4 otaroot
4 1139MB 1190MB 50.8MB ext4 otaboot_b
5 1190MB 2264MB 1074MB ext4 otaroot_b
6 2264MB 4411MB 2147MB ext4 fluxdata
As for the removal of the bb.warn, if the size is not specified, it is
not something to warn the end user about. Some of my default images
make use of the head room + a computed directory size or while generating
images.
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
---
scripts/lib/wic/partition.py | 18 ++++++------------
1 file changed, 6 insertions(+), 12 deletions(-)
diff --git a/scripts/lib/wic/partition.py b/scripts/lib/wic/partition.py
index f427c8101b..2a71d7b1d6 100644
--- a/scripts/lib/wic/partition.py
+++ b/scripts/lib/wic/partition.py
@@ -212,19 +212,13 @@ class Partition():
if os.path.isfile(rootfs):
os.remove(rootfs)
- # Get rootfs size from bitbake variable if it's not set in .ks file
+ # If size is not specified compute it from the rootfs_dir size
if not self.size and real_rootfs:
- # Bitbake variable ROOTFS_SIZE is calculated in
- # Image._get_rootfs_size method from meta/lib/oe/image.py
- # using IMAGE_ROOTFS_SIZE, IMAGE_ROOTFS_ALIGNMENT,
- # IMAGE_OVERHEAD_FACTOR and IMAGE_ROOTFS_EXTRA_SPACE
- rsize_bb = get_bitbake_var('ROOTFS_SIZE')
- if rsize_bb:
- logger.warning('overhead-factor was specified, but size was not,'
- ' so bitbake variables will be used for the size.'
- ' In this case both IMAGE_OVERHEAD_FACTOR and '
- '--overhead-factor will be applied')
- self.size = int(round(float(rsize_bb)))
+ # Use the same logic found in get_rootfs_size()
+ # from meta/classes/image.bbclass
+ du_cmd = "du -ks %s" % rootfs_dir
+ out = exec_cmd(du_cmd)
+ self.size = int(out.split()[0])
prefix = "ext" if self.fstype.startswith("ext") else self.fstype
method = getattr(self, "prepare_rootfs_" + prefix)
--
2.21.0
next prev parent reply other threads:[~2019-08-08 12:55 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-08 12:55 [PATCH 1/4] image_types_wic.bbclass: Copy the .wks and .env files to deploy image dir Jason Wessel
2019-08-08 12:55 ` [PATCH 2/4] wic: Add partition type for msdos partition tables Jason Wessel
2019-08-08 12:55 ` Jason Wessel [this message]
2019-08-08 12:55 ` [PATCH 4/4] dpkg: Provide update-alternative for start-stop-daemon Jason Wessel
2019-08-08 16:45 ` [PATCH 1/4] image_types_wic.bbclass: Copy the .wks and .env files to deploy image dir Jason Wessel
2019-08-08 18:42 ` Richard Purdie
2019-08-08 20:09 ` Jason Wessel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190808125509.120784-3-jason.wessel@windriver.com \
--to=jason.wessel@windriver.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox