From: "Daniel Gomez" <daniel@qtec.com>
To: openembedded-core@lists.openembedded.org
Cc: dagmcr@gmail.com, Daniel Gomez <daniel@qtec.com>
Subject: [OE-core][RFC][PATCH][dunfell] wic: direct: Use stock fstab in partitions
Date: Thu, 5 Aug 2021 17:03:07 +0200 [thread overview]
Message-ID: <20210805150307.56631-1-daniel@qtec.com> (raw)
Be able to get the stock fstab in partitions.
Functionality reverted at commit id:
ce682a73b7447652f898ce1d1d0416a456df5416
Signed-off-by: Daniel Gomez <daniel@qtec.com>
---
Hi,
I'm trying to get back the stock fstab file in a rootfs partition
image (wic plugin) and I'd like to know what you think about it.
Functionality was included before commit-id
ce682a73b7447652f898ce1d1d0416a456df5416 and removed afterwards. Would
it be possible to add it again? What would be needed to re-add it?
Thanks in advance,
Daniel
Here the relevant information:
wks definition:
part /boot/bootloader --source qbootimg-pcbios --active --align 1024 --use-uuid --fsoptions defaults,ro
part /export --source rootfs --rootfs-dir=hockeycam-image --fstype=ext4 --label export --align 1024 --use-uuid --fsoptions defaults,ro --extra-space 400M
part /media/rw --fstype=ext4 --label rwfs --align 1024 --use-uuid --size 200
part / --source rootfs --fstype=ext4 --label rootfs --align 1024 --use-uuid --fsoptions defaults,ro --extra-space 400M
bootloader --timeout=1 --append="ro rootfstype=ext4 qtec_mem.size=64" --source qbootimg-pcbios
/export/etc/fstab before:
# stock fstab - you probably want to override this with a machine specific one
/dev/root / auto ro 1 0
proc /proc proc defaults 0 0
devpts /dev/pts devpts mode=0620,ptmxmode=0666,gid=5 0 0
tmpfs /run tmpfs mode=0755,nodev,nosuid,strictatime 0 0
tmpfs /var/volatile tmpfs defaults 0 0
# uncomment this if your device has a SD/MMC/Transflash slot
#/dev/mmcblk0p1 /media/card auto defaults,sync,noauto 0 0
/dev/sdb /mnt auto defaults 0 0
UUID=D339-7B77 /boot/bootloader vfat defaults,ro 0 0
UUID=31f46be1-d9fb-4081-bd53-2c2727e7854b /export ext4 defaults,ro 0 0
UUID=d8e8f5d4-897e-48cd-9188-33598363f706 /media/rw ext4 defaults 0 0
/export/etc/fstab after:
# stock fstab - you probably want to override this with a machine specific one
/dev/root / auto ro 1 0
proc /proc proc defaults 0 0
devpts /dev/pts devpts mode=0620,ptmxmode=0666,gid=5 0 0
tmpfs /run tmpfs mode=0755,nodev,nosuid,strictatime 0 0
tmpfs /var/volatile tmpfs defaults 0 0
# uncomment this if your device has a SD/MMC/Transflash slot
#/dev/mmcblk0p1 /media/card auto defaults,sync,noauto 0 0
10.100.10.100:/mnt/rw /media/rw nfs defaults 0 0
scripts/lib/wic/plugins/imager/direct.py | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/scripts/lib/wic/plugins/imager/direct.py b/scripts/lib/wic/plugins/imager/direct.py
index 7e1c1c03ab..1bb9d38524 100644
--- a/scripts/lib/wic/plugins/imager/direct.py
+++ b/scripts/lib/wic/plugins/imager/direct.py
@@ -111,7 +111,15 @@ class DirectPlugin(ImagerPlugin):
with open(fstab_path) as fstab:
fstab_lines = fstab.readlines()
+ self.original_fstab = fstab_lines.copy()
+ if self._update_fstab(fstab_lines, self.parts):
+ with open(fstab_path, "w") as fstab:
+ fstab.writelines(fstab_lines)
+ else:
+ self.original_fstab = None
+
+ def _update_fstab(self, fstab_lines, parts):
updated = False
for part in self.parts:
if not part.realnum or not part.mountpoint \
@@ -142,10 +150,7 @@ class DirectPlugin(ImagerPlugin):
fstab_lines.append(line)
updated = True
- if updated:
- self.updated_fstab_path = os.path.join(self.workdir, "fstab")
- with open(self.updated_fstab_path, "w") as f:
- f.writelines(fstab_lines)
+ return updated
def _full_path(self, path, name, extention):
""" Construct full file path to a file we generate. """
@@ -274,6 +279,13 @@ class DirectPlugin(ImagerPlugin):
if os.path.isfile(path):
shutil.move(path, os.path.join(self.outdir, fname))
+
+ # Restore original fstab
+ if self.original_fstab:
+ fstab_path = self.rootfs_dir.get("ROOTFS_DIR") + "/etc/fstab"
+ with open(fstab_path, "w") as fstab:
+ fstab.writelines(self.original_fstab)
+
# remove work directory
shutil.rmtree(self.workdir, ignore_errors=True)
--
2.30.2
next reply other threads:[~2021-08-05 15:03 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-05 15:03 Daniel Gomez [this message]
2021-08-05 15:31 ` [OE-core][RFC][PATCH][dunfell] wic: direct: Use stock fstab in partitions Richard Purdie
2021-08-06 9:23 ` [OE-core][RFC][PATCH][dunfell] wic: Add --use-stock-fstab option Daniel Gomez
2021-08-06 10:02 ` Richard Purdie
2021-08-06 10:29 ` Paul Barker
2021-08-06 13:27 ` Daniel Gomez
2021-08-06 9:35 ` [OE-core][RFC][PATCH][dunfell] wic: direct: Use stock fstab in partitions Daniel Gomez
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=20210805150307.56631-1-daniel@qtec.com \
--to=daniel@qtec.com \
--cc=dagmcr@gmail.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