[Buildroot] [git commit] support/testing: test_ubi: allow to boot several times using the same ubi image.

From: Yann E. MORIN <hidden>
Date: 2021-10-17 19:53:07
Subsystem: the rest · Maintainer: Linus Torvalds

commit: https://git.buildroot.net/buildroot/commit/?id=e11c3cbe26a945497524aba7dade42bd1efbadd0
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Since the ubi/ubifs test has been introduced, it's not possible to
boot the same ubi image twice [1]:

"TODO: if you boot Qemu twice on the same UBI image, it fails to
attach the image the second time, with "ubi0 error:
ubi_read_volume_table: the layout volume was not found"."

For some reason, the kernel corrupt the ubi image if the ubifs
rootfs is mounted with write access. Use a custom config file
to mount the rootfs readonly (vol_type=static). Doing so requires
to add the flash size (vol_size=64MiB).

At least it allows to boot several times the same ubi image.

[1] bf4a6490e4ee70f0a46e588602995ba34e6c872a

Signed-off-by: Romain Naour <redacted>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <redacted>
---
 support/testing/tests/fs/test_ubi.py                            | 9 ++++-----
 support/testing/tests/fs/test_ubi/ubinize_qemu_pflash_cfi01.cfg | 8 ++++++++
 2 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/support/testing/tests/fs/test_ubi.py b/support/testing/tests/fs/test_ubi.py
index 7c687c1982..564a436d42 100644
--- a/support/testing/tests/fs/test_ubi.py
+++ b/support/testing/tests/fs/test_ubi.py
@@ -13,12 +13,11 @@ class TestUbi(infra.basetest.BRTest):
         BR2_TARGET_ROOTFS_UBI=y
         BR2_TARGET_ROOTFS_UBI_PEBSIZE=0x40000
         BR2_TARGET_ROOTFS_UBI_SUBSIZE=1
-        """
+        BR2_TARGET_ROOTFS_UBI_USE_CUSTOM_CONFIG=y
+        BR2_TARGET_ROOTFS_UBI_CUSTOM_CONFIG_FILE="{}"
+        """.format(
+              infra.filepath("tests/fs/test_ubi/ubinize_qemu_pflash_cfi01.cfg"))
 
-    # TODO: if you boot Qemu twice on the same UBI image, it fails to
-    # attach the image the second time, with "ubi0 error:
-    # ubi_read_volume_table: the layout volume was not found".
-    # To be investigated.
     def test_run(self):
         img = os.path.join(self.builddir, "images", "rootfs.ubi")
         out = infra.run_cmd_on_host(self.builddir, ["file", img])
diff --git a/support/testing/tests/fs/test_ubi/ubinize_qemu_pflash_cfi01.cfg b/support/testing/tests/fs/test_ubi/ubinize_qemu_pflash_cfi01.cfg
new file mode 100644
index 0000000000..52dd5f0007
--- /dev/null
+++ b/support/testing/tests/fs/test_ubi/ubinize_qemu_pflash_cfi01.cfg
@@ -0,0 +1,8 @@
+[ubifs]
+mode=ubi
+vol_id=0
+vol_type=static
+vol_name=rootfs
+vol_alignment=1
+vol_size=64MiB
+image=BR2_ROOTFS_UBIFS_PATH
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help