When we use --use-uuid along with bootimg plugin, it is observed
that the uuid updated in /etc/fstab is not same as the one the
disk created by bootimg has.
The latest wic[1] creates a UUID for use for these plugins, our ISAR
version of these plugins were not consuming the uuid generated by
wic while generating the partition. Instead a default volume id is
generated which is different from what is written by wic in fstab;
resulting in boot failure.
Fix the ISAR bootimg plugins to use the uuid from wic.
Also, enable --use-uuid with bootimg-pcbios-isar plugin in
common-isar.wks.inc for a testcase.
[1]
https://github.com/openembedded/openembedded-core/commit/9256b8799495634ee8aee5d16ff71bd6e6e25ed4
Reported-by: Henning Schild <
henning...@siemens.com>
Signed-off-by: Vijai Kumar K <
Vijaikumar_...@mentor.com>
---
meta-isar/scripts/lib/wic/canned-wks/common-isar.wks.inc | 2 +-
meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py | 3 ++-
meta/scripts/lib/wic/plugins/source/bootimg-pcbios-isar.py | 3 ++-
3 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/meta-isar/scripts/lib/wic/canned-wks/common-isar.wks.inc b/meta-isar/scripts/lib/wic/canned-wks/common-isar.wks.inc
index cc38a01..4290edb 100644
--- a/meta-isar/scripts/lib/wic/canned-wks/common-isar.wks.inc
+++ b/meta-isar/scripts/lib/wic/canned-wks/common-isar.wks.inc
@@ -1,3 +1,3 @@
# This file is included into 3 canned wks files from this directory
-part /boot --source bootimg-pcbios-isar --ondisk sda --label boot --active --align 1024
+part /boot --use-uuid --source bootimg-pcbios-isar --ondisk sda --label boot --active --align 1024
part / --source rootfs --ondisk sda --fstype=ext4 --label platform --align 1024 --exclude-path=boot
diff --git a/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py b/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py
index 2285d2e..6b2fbc2 100644
--- a/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py
+++ b/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py
@@ -276,7 +276,8 @@ class BootimgEFIPlugin(SourcePlugin):
# dosfs image, created by mkdosfs
bootimg = "%s/boot.img" % cr_workdir
- dosfs_cmd = "mkdosfs -n efi -C %s %d" % (bootimg, blocks)
+ dosfs_cmd = "mkdosfs -n efi -i %s -C %s %d" % \
+ (part.fsuuid, bootimg, blocks)
exec_cmd(dosfs_cmd)
mcopy_cmd = "mcopy -i %s -s %s/* ::/" % (bootimg, hdddir)
diff --git a/meta/scripts/lib/wic/plugins/source/bootimg-pcbios-isar.py b/meta/scripts/lib/wic/plugins/source/bootimg-pcbios-isar.py
index 493615b..b3d71c5 100644
--- a/meta/scripts/lib/wic/plugins/source/bootimg-pcbios-isar.py
+++ b/meta/scripts/lib/wic/plugins/source/bootimg-pcbios-isar.py
@@ -209,7 +209,8 @@ class BootimgPcbiosIsarPlugin(SourcePlugin):
# dosfs image, created by mkdosfs
bootimg = "%s/boot.img" % cr_workdir
- dosfs_cmd = "mkdosfs -n boot -S 512 -C %s %d" % (bootimg, blocks)
+ dosfs_cmd = "mkdosfs -n boot -i %s -S 512 -C %s %d" % \
+ (part.fsuuid, bootimg, blocks)
exec_native_cmd(dosfs_cmd, native_sysroot)
mcopy_cmd = "mcopy -i %s -s %s/* ::/" % (bootimg, hdddir)
--
2.17.1