This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

yaffs support on am335x

Hi all,

Is there anyone who achieve yaffs support on am335x?

I tried but failed.

I used my current yaffs pack, when I run patch-ker.sh, it told me this version doesn't support kernel 3.2. So I downloaded the latest version from www.yaffs.net.

firstly, I run:

./patch-ker.sh c m linux-3.2/

the first problem I met is the Makefile in the yaffs2 directory:

yaffs-y += yaffs_mtdif.o yaffs_mtdif1.o yaffs_mtdif2.o

but there is no file named yaffs_mtdif1.c yaffs_mtdif2.c in this version. there is only a yaffs_mtdif_multi.c

So I change the line to:

yaffs-y += yaffs_mtdif_multi.o

But at the time of the final link:

...

  LD      init/built-in.o
  LD      .tmp_vmlinux1
fs/built-in.o: In function `yaffs_guts_initialise':
yaffs_verify.c:(.text+0xef8a8): undefined reference to `yaffs_tags_marshall_install'
make: *** [.tmp_vmlinux1] error 1

So I run pach-ker.sh like this:

./patch-ker.sh c s linux-3.2/

More errors appear when compilation, I think it's not the right way.


Is there any one who can help me out?

Thank you very much.

Best regards,

Lihua



  • Hi,

    Finally, I made it by myself.

    The issue still lies in the Makefile in the yaffs2 directory.

    function yaffs_tags_marshall_install  is defined in yaffs_tagsmarshall.c, so add a line in Makefile:

    yaffs-y += yaffs_tagsmarshall.o

    the kernel compilation succeed.

    Summary: we need modify the fs/yaffs2/Makefile like this:

    #
    # Makefile for the linux YAFFS filesystem routines.
    #

    obj-$(CONFIG_YAFFS_FS) += yaffs.o

    yaffs-y := yaffs_ecc.o yaffs_vfs.o yaffs_guts.o yaffs_checkptrw.o
    yaffs-y += yaffs_packedtags1.o yaffs_packedtags2.o yaffs_nand.o
    yaffs-y += yaffs_tagscompat.o
    yaffs-y += yaffs_tagsmarshall.o
    #yaffs-y += yaffs_mtdif.o yaffs_mtdif1.o yaffs_mtdif2.o
    yaffs-y += yaffs_mtdif_multi.o
    yaffs-y += yaffs_nameval.o yaffs_attribs.o
    yaffs-y += yaffs_allocator.o
    yaffs-y += yaffs_yaffs1.o
    yaffs-y += yaffs_yaffs2.o
    yaffs-y += yaffs_bitmap.o
    yaffs-y += yaffs_summary.o
    yaffs-y += yaffs_verify.o