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

Yann E. MORIN yann.morin.1998 at free.fr
Sun Oct 17 19:51:53 UTC 2021


Romain, All,

On 2021-09-12 16:11 +0200, Romain Naour spake thusly:
> 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 <romain.naour at gmail.com>
> Cc: Thomas Petazzoni <thomas.petazzoni at bootlin.com>

Applied to master, thanks.

Regards,
Yann E. MORIN.

> ---
>  support/testing/tests/fs/test_ubi.py                     | 9 ++++-----
>  .../tests/fs/test_ubi/ubinize_qemu_pflash_cfi01.cfg      | 8 ++++++++
>  2 files changed, 12 insertions(+), 5 deletions(-)
>  create mode 100644 support/testing/tests/fs/test_ubi/ubinize_qemu_pflash_cfi01.cfg
> 
> 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
> -- 
> 2.31.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot at lists.buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'


More information about the buildroot mailing list