[OE-core] JFFS2 and -n, --no-cleanmarkers

Andrea Adami andrea.adami at gmail.com
Wed Oct 16 11:42:43 UTC 2013


Hi all,

unfortunately the creation of JFFS2 mages is hardcoding the
--no-cleanmarkers option (-n) after those two commits:

http://cgit.openembedded.org/openembedded-core/commit/meta/classes/image_types.bbclass?id=70a276509f0f006fcc269296afc3dcc88d2825e1

http://cgit.openembedded.org/openembedded-core/commit/meta/classes/image_types.bbclass?id=7c803cea58737ea0abc62cd21c3813d955f07224

Now, my idea is to revert the first one:

- IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime
--output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 -n
${EXTRA_IMAGECMD}"

+ IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime
--output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2
${EXTRA_IMAGECMD}"

About the second one, we could add a new var:

+JFFS2_NOCLEANMARKERS = "-n"

-EXTRA_IMAGECMD_jffs2 ?= "--pad ${JFFS2_ENDIANNESS}
--eraseblock=${JFFS2_ERASEBLOCK} --no-cleanmarkers"

+EXTRA_IMAGECMD_jffs2 ?= "--pad ${JFFS2_ENDIANNESS}
--eraseblock=${JFFS2_ERASEBLOCK} ${JFFS2_NOCLEANMARKERS}"


Now my doubt is about the default value for this variable.
Maybe better empty ?

+JFFS2_NOCLEANMARKERS = ""

The point is, only machines with NAND flash ough tto skip cleanmarkers
in the image for these are in the OOB area.

"On NOR memory every completely erased eraseblock begins with a
cleanmarker, cln_mkr is the size of the cleanmarker, if there is no
cleanmarker (NAND) then it is set to 0"

http://www.linux-mtd.infradead.org/faq/jffs2.html
http://www.inf.u-szeged.hu/jffs2/jffs2-anal/node23.html

Once there is common agreement I'll send a patch.

Thanks

Andrea



More information about the Openembedded-core mailing list