deepanr
February 25, 2020, 7:48am
1
Hi Team,
I have integrated my imx6ull for NAND boot in which we are using mender code. Yocto build is successfull . But when booted we get the below error. we are not able to figure out what is the issue. Since i have not tested with mender before.
U-Boot 2018.03-4.14.98-2.2.0+g73af2fca69 (Feb 25 2020 - 07:39:36 +0000)
CPU: Freescale i.MX6ULL rev1.1 792 MHz (running at 396 MHz)
CPU: Industrial temperature grade (-40C to 105C) at 41C
Reset cause: POR
Model: Freescale i.MX6 ULL 14x14 EVK Board
Board: MX6ULL 14x14 EVK
I2C: ready
DRAM: 256 MiB
NAND: 512 MiB
MMC: FSL_SDHC: 0
Loading Environment from … ubi0: attaching mtd1
ubi0 error: validate_ec_hdr: bad VID header offset 2048, expected 4096
ubi0 error: validate_ec_hdr: bad EC header
Erase counter header dump:
magic 0x55424923
version 1
ec 0
vid_hdr_offset 2048
data_offset 4096
image_seq 1848161125
hdr_crc 0xbb8791a9
erase counter header hexdump:
ubi0 error: ubi_io_read_ec_hdr: validation failed for PEB 0
ubi0 error: ubi_attach_mtd_dev: failed to attach mtd1, error -22
UBI error: cannot attach mtd1UBI error: cannot initialize UBI, error -22UBI init error 22
** Cannot find mtd partition “ubi”
Failed (-5)
In: serial
Out: serial
Err: serial
Net: No ethernet found.
Normal Boot
Hit any key to stop autoboot: 0
Saving Environment to … ubi0: attaching mtd1
ubi0 error: validate_ec_hdr: bad VID header offset 2048, expected 4096
ubi0 error: validate_ec_hdr: bad EC header
Erase counter header dump:
magic 0x55424923
version 1
ec 0
vid_hdr_offset 2048
data_offset 4096
image_seq 1848161125
hdr_crc 0xbb8791a9
erase counter header hexdump:
ubi0 error: ubi_io_read_ec_hdr: validation failed for PEB 0
ubi0 error: ubi_attach_mtd_dev: failed to attach mtd1, error -22
UBI error: cannot attach mtd1UBI error: cannot initialize UBI, error -22UBI init error 22
** Cannot find mtd partition “ubi”
Failed (1)
ubi0: attaching mtd1
ubi0 error: validate_ec_hdr: bad VID header offset 2048, expected 4096
ubi0 error: validate_ec_hdr: bad EC header
Erase counter header dump:
magic 0x55424923
version 1
ec 0
vid_hdr_offset 2048
data_offset 4096
image_seq 1848161125
hdr_crc 0xbb8791a9
erase counter header hexdump:
ubi0 error: ubi_io_read_ec_hdr: validation failed for PEB 0
ubi0 error: ubi_attach_mtd_dev: failed to attach mtd1, error -22
UBI error: cannot attach mtd1UBI error: cannot initialize UBI, error -22UBI init error 22
UBIFS error (pid: 1): cannot open “ubi0:rootfsa”, error -19Error reading superblock on volume ‘ubi0:rootfsa’ errno=-19!
ubifsmount - mount UBIFS volume
deepanr
February 25, 2020, 11:30am
2
I am using the .ubimg image.
Also my boot env is as below
altbootcmd=run mender_altbootcmd; run bootcmd
baudrate=115200
board_name=EVK
board_rev=14X14
bootargs=root=ubi0_0 mtdparts=01806000.flash:10m(u-boot),-(ubi) ubi.mtd=ubi rootfstype=ubifs console=ttymxc4,115200 ubi.mtd=3 rootfstype=ubifs coherent_)
bootcmd=run mender_setup; setenv bootargs root={mender_kernel_root} {mtdparts} ubi.mtd={mender_mtd_ubi_dev_name} rootfstype=ubifs {bootargs}; ubi par
bootcmd_mfg=run mfgtool_args;bootz {loadaddr} {initrd_addr} {fdt_addr};
bootcount=1
bootdelay=3
bootlimit=1
console=ttymxc4
ethaddr=00:01:02:03:04:FF
ethprime=eth1
fdt_addr_r=0x83000000
fdt_file=imx6ull-iwg18m-sm.dtb
fdt_high=0xffffffff
fdtcontroladdr=8eef4330
initrd_addr=0x83800000
initrd_high=0xffffffff
loadaddr=0x80800000
mender_altbootcmd=if test {mender_boot_part} = 0; then setenv mender_boot_part 1; setenv mender_boot_part_hex 1; else setenv mender_boot_part 0; setenvp
mender_boot_kernel_type=bootz
mender_boot_part=0
mender_boot_part_hex=0
mender_boot_part_name=ubi0:rootfsa
mender_check_saveenv_canary=1
mender_dtb_name=imx6ull-iwg18m-sm-nand.dtb
mender_kernel_name=zImage
mender_kernel_root=ubi0_0
mender_kernel_root_name=ubi0:rootfsa
mender_mtd_ubi_dev_name=ubi
mender_saveenv_canary=1
mender_setup=if test “{mender_saveenv_canary}" != "1"; then setenv mender_saveenv_canary 1; saveenv; fi; if test " {mender_pre_setup_commands}” != “”; i
mender_try_to_recover=if test {upgrade_available} = 1; then reset; fi
mender_uboot_boot=dummy dummy:
mender_uboot_dev=dummy
mender_uboot_if=dummy
mender_uboot_root=dummy dummy:0
mender_uboot_root_name=ubi0:rootfsa
mfgtool_args=setenv bootargs console= {console},${baudrate} rdinit=/linuxrc g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.file=/fat g
mtddevname=u-boot
mtddevnum=0
mtdids=nand0=01806000.flash
mtdparts=mtdparts=01806000.flash:10m(u-boot),-(ubi)
partition=nand0,0
stderr=serial
stdin=serial
stdout=serial
tee=no
upgrade_available=0
Environment size: 3376/131067 bytes
As far as I can recall, this means that your MTDPARAMS are incorrect for the flash parts on your device.
I’m not sure how to troubleshoot that though.
deepanr
February 26, 2020, 4:21am
4
Below are my configuration for MTD
Partitions
MENDER_MTDIDS = “nand0=01806000.flash”
MENDER_MTDPARTS = “01806000.flash:10m(u-boot),-(ubi)”
MENDER_NAND_FLASH_PAGE_SIZE = “4096”
MENDER_PARTITION_ALIGNMENT = “4194304”
MENDER_STORAGE_PEB_SIZE = “131072”
MENDER_STORAGE_TOTAL_SIZE_MB = “512”
MENDER_BOOT_PART_SIZE_MB = “0”
MENDER_DATA_PART_SIZE_MB = “10”
kacf
February 26, 2020, 6:57am
5
MENDER_PARTITION_ALIGNMENT
is almost certainly wrong, since it is not supposed to be a power of two when using UBI. Just unset it, it should be automatically set from the other variables. The rest looks ok to me from a generic viewpoint, but I don’t know the board well, so it’s hard for me to say.
deepanr
February 26, 2020, 7:32am
6
ERROR: u-boot-iwg18m-2018.03-r0 do_provide_mender_defines: BOOTENV_SIZE (0x20000) is too big to fit two copies inside MENDER_RESERVED_SPACE_BOOTLOADER_DATA (245760) with proper alignment. Please either: 1. Increase MENDER_RESERVED_SPACE_BOOTLOADER_DATA manually and make sure it is an even multiple of MENDER_PARTITION_ALIGNMENT (122880). -or- 2. Decrease BOOTENV_SIZE in the U-Boot recipe so that it can fit two copies inside MENDER_RESERVED_SPACE_BOOTLOADER_DATA. Please see https://docs.mender.io/troubleshooting/yocto-project-build for more information.
kacf
February 26, 2020, 8:26am
7
I would try option 1 in this case.
deepanr
February 28, 2020, 6:56am
8
UBIFS assert failed in ubifs_change_lp at 540
UBIFS assert failed in ubifs_release_lprops at 278
UBIFS assert failed in ubifs_change_lp at 540
UBIFS assert failed in ubifs_release_lprops at 278
UBIFS error (ubi0:0 pid 0): ubifs_read_node: bad node type (255 but expected 9)
UBIFS error (ubi0:0 pid 0): ubifs_read_node: bad node at LEB 125:249352, LEB mapping status 0
Not a node, first 24 bytes:UBIFS error (ubi0:0 pid 0): ubifs_iget: failed to read inode 1, error -22
Error reading superblock on volume ‘ubi0:rootfsa’ errno=-22!
kacf
February 28, 2020, 10:07am
9
Can you post the output from:
ubireader_display_info -i UBIMG
where UBIMG
is the image ending in .ubimg
.
(If you don’t have the tool, you can install with with sudo pip3 install python-lzo ubi-reader
)
deepanr
February 28, 2020, 10:34am
10
Please find the output of ubireader_display_info
UBI File
Min I/O: 4096
LEB Size: 253952
PEB Size: 262144
Total Block Count: 269
Data Block Count: 267
Layout Block Count: 2
Internal Volume Block Count: 0
Unknown Block Count: 0
First UBI PEB Number: 0
Image: 1201317210
---------------------
Image Sequence Num: 1201317210
Volume Name:u-boot-env-2
Volume Name:data
Volume Name:rootfsa
Volume Name:rootfsb
Volume Name:u-boot-env-1
PEB Range: 0 - 268
Volume: u-boot-env-2
---------------------
Vol ID: 4
Name: u-boot-env-2
Block Count: 1
Volume Record
---------------------
alignment: 1
crc: '0xf6617426'
data_pad: 0
errors: ''
flags: 0
name: u'u-boot-env-2'
name_len: 12
padding: u'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
rec_index: 4
reserved_pebs: 1
upd_marker: 0
vol_type: 'dynamic'
Volume: data
---------------------
Vol ID: 2
Name: data
Block Count: 13
Volume Record
---------------------
alignment: 1
crc: '0x893aff54'
data_pad: 0
errors: ''
flags: 0
name: u'data'
name_len: 4
padding: u'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
rec_index: 2
reserved_pebs: 42
upd_marker: 0
vol_type: 'dynamic'
Volume: rootfsa
---------------------
Vol ID: 0
Name: rootfsa
Block Count: 126
Volume Record
---------------------
alignment: 1
crc: '0xa297a27b'
data_pad: 0
errors: ''
flags: 0
name: u'rootfsa'
name_len: 7
padding: u'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
rec_index: 0
reserved_pebs: 947
upd_marker: 0
vol_type: 'dynamic'
Volume: rootfsb
---------------------
Vol ID: 1
Name: rootfsb
Block Count: 126
Volume Record
---------------------
alignment: 1
crc: '0x775c41d'
data_pad: 0
errors: ''
flags: 0
name: u'rootfsb'
name_len: 7
padding: u'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
rec_index: 1
reserved_pebs: 947
upd_marker: 0
vol_type: 'dynamic'
Volume: u-boot-env-1
---------------------
Vol ID: 3
Name: u-boot-env-1
Block Count: 1
Volume Record
---------------------
alignment: 1
crc: '0x2cb7a4fb'
data_pad: 0
errors: ''
flags: 0
name: u'u-boot-env-1'
name_len: 12
padding: u'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
rec_index: 3
reserved_pebs: 1
upd_marker: 0
vol_type: 'dynamic'
deepanr
February 28, 2020, 10:37am
11
Actually i am flashing u-boot and my .ubimg only onto my board. Is it required to flash any other component
kacf
March 2, 2020, 9:57am
12
It looks correct as far as I can see, and yes, flashing u-boot and ubimg is what you need. But how are you flashing exactly? Is the flashing tool aware of the mtdparts string 01806000.flash:10m(u-boot),-(ubi)
?
Yes, @kacf the Flashing tool firmware we have made the same changes. But we are getting the below:
UBIFS assert failed in ubifs_change_lp at 540
UBIFS assert failed in ubifs_release_lprops at 278
UBIFS assert failed in ubifs_change_lp at 540
UBIFS assert failed in ubifs_release_lprops at 278
UBIFS error (ubi0:0 pid 0): ubifs_read_node: bad node type (255 but expected 9)
UBIFS error (ubi0:0 pid 0): ubifs_read_node: bad node at LEB 125:249352, LEB mapping status 0
Not a node, first 24 bytes:UBIFS error (ubi0:0 pid 0): ubifs_iget: failed to read inode 1, error -22
Error reading superblock on volume ‘ubi0:rootfsa’ errno=-22!
kacf
March 2, 2020, 10:34am
14
Sorry, then I’m out of ideas. Maybe you can experiment with IMAGE_CMD_ubimg and tweak the settings until you get something that works.
Is UBIFS supported in MLC NAND ?