zynq : Linux kernel panic for JFFS2 filesystem on POR or reboot

參考原貼:https://www.xilinx.com/support/answers/71439.html

Description

In the 2017.x and 2018.x releases, when you boot Linux with a JFFS2 file system on a ZCU102 board, it crashes with a kernel panic on POR or reboot cycle.

If you erase the JFFS2 Partition and then boot successfully for the first time, on the next boot cycle with POR or reboot, it crashes with kernel panic errors. 

For more details, see the attached boot log.

[    4.916930] ALSA device list:

[    4.919837]   #0: DisplayPort monitor

[    5.043030] random: crng init done

[    5.460283] [drm] Cannot find any crtc or sizes

[    5.690018] jffs2: error: (1) jffs2_link_node_ref: Adding new ref ffffffc87a0276a0 at (0x007ce000-0x007ce070) not immediately after previous (0x007ce000-0x007ce000)

 

Solution

To fix this issue in the kernel, disable CONFIG_JFFS2_SUMMARY from the menuconfig as follows:

$ petalinux-config -c kernel

Then disable the following kernel config:

File systems ---> Miscellaneous filesystems ---> [ ]JFFS2 summary support

This is enabled by default in the xilinx_zynqmp_defconfig.

As a result, when mtd_writev() returns a length of 0 (even though the node space is not reserved as dirty but is re-used), the extra summary entry will then point into the space of the next node.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章