imx-kobs icon indicating copy to clipboard operation
imx-kobs copied to clipboard

Unable to dump boot structures

Open alberanid opened this issue 6 years ago • 10 comments

Hi, We get an error using the "dump", "imgverify" and "extract" commands (latest version from this repository) on an imx6ull.

We succesfully flashed u-boot with this command: kobs-ng init -x -v --chip_0_device_path=/dev/mtd0 u-boot.imx

Now we'd like to dump the loader to verify its integrity (we are investigating some cases of NAND corruption).

The error running the "dump" command:

# kobs-ng dump -v 
MTD CONFIG:
  chip_0_device_path = "/dev/mtd0"
  chip_1_device_path = "(null)"
  search_exponent = 2
  data_setup_time = 80
  data_hold_time = 60
  address_setup_time = 25
  data_sample_time = 6
  row_address_size = 3
  column_address_size = 2
  read_command_code1 = 0
  read_command_code2 = 48
  boot_stream_major_version = 1
  boot_stream_minor_version = 0
  boot_stream_sub_version = 0
  ncb_version = 3
  boot_stream_1_address = 0
  boot_stream_2_address = 0
mtd: use new bch layout raw access mode
mtd: opening: "/dev/mtd0"
NFC geometry :
	ECC Strength       : 40
	Page Size in Bytes : 8762
	Metadata size      : 10
	ECC Chunk Size in byte : 1024
	ECC Chunk count        : 8
	Block Mark Byte Offset : 7692
	Block Mark Bit Offset  : 0
====================================================
mtd: opened '/dev/mtd0' - '(null)'
mtd: partition #0
  type = 8
  flags = 1024
  size = 67108864
  erasesize = 2097152
  writesize = 8192
  oobsize = 744
  blocks = 32
mtd: fingerprints mismatch @0:0x0
mtd: fingerprints mismatch @0:0x200000
mtd: fingerprints mismatch @0:0x400000
mtd: fingerprints mismatch @0:0x600000
mtd: NCB0 not found
mtd: fingerprints mismatch @0:0x800000
mtd: fingerprints mismatch @0:0xa00000
mtd: fingerprints mismatch @0:0xc00000
mtd: fingerprints mismatch @0:0xe00000
mtd: NCB1 not found
mtd: neither NCB1 or NCB2 found ERROR
Unable to load boot structures

Same error also adding the -x --chip_0_device_path=/dev/mtd0 arguments.

Any help will be greatly appreciated.

alberanid avatar Dec 05 '18 09:12 alberanid

@alberanid, We've had the same issue with an imx6ull and nand storage as well. Were you able to resolve this issue?

jmistr01 avatar Mar 14 '19 13:03 jmistr01

@jmistr01 nope, sorry.

On top of this (but probably unrelated) we are facing a reliability issue on i.MX6ULL on NAND which may or may not be related to what kobs-ng writes on it (especially in regards of BCH code). More info here, since you may also be affected, even if you use a different kind of NAND:

  • https://community.nxp.com/thread/497005
  • https://community.nxp.com/message/1123384

I've seen your issue #23 and I'd double check if in your case is ok to have BCHType set to 0, since from what I understand it means no BCH error correction for you, leaving you exposed to bitflips.

alberanid avatar Mar 14 '19 14:03 alberanid

@jmistr01 please ignore the part on BCHType, since it's ok to be 0; the important parameter is BCH Strength, which is 8 for you (should be ok on a small NAND, I guess)

alberanid avatar Mar 14 '19 14:03 alberanid

Hi We are using a IMX8DXP based board and i am facing the same issue of finger print mismatch when i run kobs-ng update. Have you been able to resolve the above issue? Do you have any workaround or solution.

Thanks V.Muthusubramanian

vmuthusu avatar May 03 '19 05:05 vmuthusu

@vmuthusu no, and we no longer need it so we stopped investigating, sorry.

alberanid avatar May 04 '19 08:05 alberanid

NXP confirmed that kobs-ng does not fully support newer bootroms. Therefore, it can write the images correctly, but it can't read them back properly. For more details, please refer to this thread. I developed a dirty hack to fix this issue for to the i.MX6SoloX's bootrom.

am-dev-75 avatar Jun 21 '19 08:06 am-dev-75

By the way, I still have not understood if there is an official kobs-ng version supporting all the bootrom versions out there.

am-dev-75 avatar Jun 21 '19 08:06 am-dev-75

@am-dev-75 Hi, Would you be willing to share that patch (or "dirty hack" :) ) ?

joseddg92 avatar Sep 10 '19 11:09 joseddg92

a workaround to dump boot structure and update the firmware 2 only. Refer to https://github.com/allenxh/imx-kobs/tree/partial_update

These changes won't merge to mainline code.

allenxh avatar Sep 16 '19 22:09 allenxh

@am-dev-75 Hi, Would you be willing to share that patch (or "dirty hack" :) ) ?

It is available here. I take the opportunity to remember that it's really ugly because I haven't had the time to fully understand the original code and implement a better solution.

am-dev-75 avatar Sep 17 '19 17:09 am-dev-75