MMC block read and CRC32 errors

I have been trying to compile a mainline kernel with the purpose of getting to a point where I can compile a version with the PREEMT_RT patch.

During this development I have compiled and flashed a lot of images, u-boot, kernel and rootfs.
After a while with a lot of failed attempts at booting my own kernel/image, I thought I would just flash a Toradex binary image.

When I went to flash the newest Apalis-T30_LXDE-Image_2.8.1 I saw some worrying messages during initial checks. The messages might have been there previously without me paying attention!

During the initial part of the update, I guess the procedure does some verifications of the eMMC.
It is in this step I see several of these messages:

MMC read: dev # 0, block # 16383, count 1 ... MMC: block number 0x4000 exceeds max(0x2000) 0 blocks read: ERROR

and one of these:

MMC read: dev # 0, block # 9, count 1 ... CACHE: Misaligned operation at range [81fffff8, 820001f8]

After this it seems to boot into a working terminal just fine.

Here are the attached log files:

The actual questions I have are these:

  1. Should I be worried about the messages, because some memory seems corrupted?
  2. Is there anything I can do to ‘fix’ that memory area so the error messages will go away. Eg. reset the memory with some specific U-boot command?
  1. Should I be worried about the messages, because some memory seems corrupted?

No, the first error message is due to our update script probing outside the bounds of your actual eMMC flash part’s hardware area boot partition for the Toradex factory configuration block. As the script does not know the exact size thereof we do probe various sizes which unfortunately may lead to such error messages which can simply be ignored.

The cache misalignment message is only a warning as this may have a performance impact due to having to use a separate bounce buffer. Nothing to be worried about.

  1. Is there anything I can do to ‘fix’ that memory area so the error messages will go away. Eg. reset the memory with some specific U-boot command?

Nothing is in need of fixing really.

BTW: Running a mainline Linux kernel on Apalis T30 is rather trivial. However you need to look out for a few pitfalls as e.g. discussed in the answers to the following question.

Thanks Marcel
Just what I needed to hear! :slight_smile:

I’ve read all the other posts about compilation and use of mainline on your modules.
The problems I’ve had has been either

  • boot stopping at ‘Starting kernel’
  • ethernet not working (after applying your patch for the igb driver)

I’ve of course scoured this great forum, but I could not get any further.
I’m going to give it a few more shots before posting another separate question.

Thanks again!

You are very welcome.