Re: [PATCH 0/9] Nokia RX-51: Small cleanups and UBI boot test case

Pali Rohár
2022-09-19T11:23:46Z

On Monday 19 September 2022 13:12:41 Alexander Dahl wrote:
> Hello Pali,
>
> Am Sun, Sep 04, 2022 at 03:28:57AM +0200 schrieb Pali Rohár:
> > Do various small fixup/cleanups and extend test script to boot kernel
> > image from UBI volume. This test verifies that U-Boot UBI implementation
> > is working and U-Boot can read volume with bootable kernel code
> > correctly. And therefore CI prevents UBI breakage.
> >
> > Note that U-Boot UBIFS code on ARM is currently somehow broken and
> > trying to mount UBIFS from UBI volume fails :-( I have already tried to
> > debug this issue but I have no idea why it is failing. Function
> > check_lpt_crc in unpack_ltab is failing. Volume is for sure correct and
> > valid because Linux kernel can successfully mount it. And to make it
> > more suspicious, U-Boot UBIFS is working fine on big endian powerpc
> > platform. So UBIFS issue is probably endian or arch specific.
> > (This is UBIFS related, not UBI related.)
>
> I had some trouble with UBIFS volumes created by Linux not mountable
> by U-Boot myself recently. Problem was Linux gained zstd compression
> support for UBIFS with version 5.3 and that was made default with
> kernel 5.13. U-Boot does not support zstd compression at least up to
> version 2022.04 (did not try later ones), and simply refuses to mount
> those volumes. The error message however was different than yours,
> but maybe you get an idea what might be wrong. I would certainly
> check with what features the UBIFS is created and if U-Boot supports
> that.

Hello! The issue is not with zstd compression, I'm sure as I'm
generating it without it. Plus it is working fine with old 2.6.28
kernel, which does not have any zstd support. The issue is with parsing
UBIFS LPT, it looks like that U-Boot is trying to read it from wrong
position or maybe wrong LEB. My another idea is that issue could be in
u-boot onenand driver used on n900 and in qemu. Maybe it is possible
that 'mtd' and 'ubi' commands do not trigger this issue and hence
reading it working fine, but is triggered by ubifs code and ubifs
reading fails. On powerpc platform where ubifs is working fine is
present freescale nand controller / driver, not samsung/onenand.

> HTH & Greets
> Alex
>
> >
> > Pali Rohár (9):
> > Nokia RX-51: Remove label copy_kernel_start from lowlevel_init.S
> > Nokia RX-51: Do not clear unknown memory in lowlevel_init.S
> > Nokia RX-51: Set default SYS_LOAD_ADDR to 0x80008000
> > Nokia RX-51: Change UBIFS volume size to 1870 LEBs in test script
> > Nokia RX-51: Call bootm in test script only when image is valid
> > Nokia RX-51: Fix documentation how to enable UBI support
> > Nokia RX-51: Do not set useless ARCH= in test script
> > Nokia RX-51: Add comment describing kernel image type into test script
> > Nokia RX-51: Add booting from UBI into test script
> >
> > board/nokia/rx51/lowlevel_init.S | 7 +--
> > configs/nokia_rx51_defconfig | 2 +-
> > doc/board/nokia/rx51.rst | 3 +-
> > test/nokia_rx51_test.sh | 97 +++++++++++++++++++++++++-------
> > 4 files changed, 82 insertions(+), 27 deletions(-)
> >
> > --
> > 2.20.1
> >