QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1619|回复: 5

求助yaffs文件系统问题

[复制链接]
发表于 2005-8-18 13:43:36 | 显示全部楼层 |阅读模式
我按照HOW-TO 中的说法下载了源代码然后修改了Makefile等文件后编译内核也成功啦,
进入新内核的系统中我用cat /proc/filesystem 查看 但是没有发现yaffs ,但是在/proc 目录下面倒是看到了一个
yaffs
发表于 2005-8-19 08:46:35 | 显示全部楼层
请问你在2.x的平台,arm平台吗?
正在做相关的东东,欢迎交流!
回复

使用道具 举报

 楼主| 发表于 2005-8-19 10:11:20 | 显示全部楼层
我是2.4或2.6内核,不是arm的,我用的是mips
楼上的兄弟做好没有?
回复

使用道具 举报

发表于 2005-8-19 13:50:21 | 显示全部楼层
我在linux2.4内核也是这样的情况,正在修改.可能与makefile文件有关系,这是我的makefile.

#
# Makefile for the linux YAFFS filesystem routines.
#
#
O_TARGET := yaffs.o
obj-y := yaffs_fs.o yaffs_guts.o yaffs_mtdif.o yaffs_ecc.o
obj-m := $(O_TARGET)

obj-$(CONFIG_YAFFS_FS) += yaffs.o
yaffs-objs := yaffs_fs.o yaffs_guts.o yaffs_mtdif.o yaffs_ecc.o yaffs_ramem.o
include $(TOPDIR)/Rules.make

可以编译通过,确是和你的结果一样!


参考http://www.linuxforum.net/forum/showflat.php?Cat=&Board=embedded&Number=573286&page=0&view=collapsed&sb=5&o=0&fpart=

中的makefile : 别人用它可以编译进内核

YAFFS_CONFIGS := -DCONFIG_YAFFS_MTD_ENABLED \
-DCONFIG_YAFFS_USE_GENERIC_RW \
-DCONFIG_YAFFS_USE_NANDECC \
-DCONFIG_SHORT_NAMES_IN_RAM

O_TARGET := yaffs.o

EXTRA_CFLAGS = $(YAFFS_CONFIGS)

obj-y := yaffs_fs.o yaffs_guts.o yaffs_mtdif.o yaffs_ecc.o yaffs_ramem.o

obj-m := $(O_TARGET)

include $(TOPDIR)/Rules.make


出错,编译不过
arm-linux-gcc -D__KERNEL__ -I/friendly-arm/kernel/include -Wall -Wstrict-prototypes -Wno-trigraphs -Os -mapcs -fno-strict-aliasing -fno-common -fno-common -pipe -mapcs-32 -march=armv4 -mtune=arm9tdmi -mshort-load-bytes -msoft-float  -DCONFIG_YAFFS_MTD_ENABLED -DCONFIG_YAFFS_USE_GENERIC_RW -DCONFIG_YAFFS_USE_NANDECC -DCONFIG_SHORT_NAMES_IN_RAM -DKBUILD_BASENAME=yaffs_mtdif   -c -o yaffs_mtdif.o yaffs_mtdif.c
yaffs_mtdif.c:32: variable `yaffs_oobinfo' has initializer but incomplete type
yaffs_mtdif.c:33: unknown field `useecc' specified in initializer
yaffs_mtdif.c:33: warning: excess elements in struct initializer
yaffs_mtdif.c:33: warning: (near initialization for `yaffs_oobinfo')
yaffs_mtdif.c:38: unknown field `eccpos' specified in initializer
yaffs_mtdif.c:38: extra brace group at end of initializer
yaffs_mtdif.c:38: (near initialization for `yaffs_oobinfo')
yaffs_mtdif.c:38: warning: excess elements in struct initializer
yaffs_mtdif.c:38: warning: (near initialization for `yaffs_oobinfo')
yaffs_mtdif.c:41: variable `yaffs_noeccinfo' has initializer but incomplete type
yaffs_mtdif.c:42: unknown field `useecc' specified in initializer
yaffs_mtdif.c:42: warning: excess elements in struct initializer
yaffs_mtdif.c:42: warning: (near initialization for `yaffs_noeccinfo')
yaffs_mtdif.c: In function `nandmtd_WriteChunkToNAND':
yaffs_mtdif.c:60: too many arguments to function
yaffs_mtdif.c:62: too many arguments to function
yaffs_mtdif.c: In function `nandmtd_ReadChunkFromNAND':
yaffs_mtdif.c:97: too many arguments to function
yaffs_mtdif.c:101: too many arguments to function
make[3]: *** [yaffs_mtdif.o] Error 1
make[3]: Leaving directory `/friendly-arm/kernel/fs/yaffs'
make[2]: *** [first_rule] Error 2
make[2]: Leaving directory `/friendly-arm/kernel/fs/yaffs'
make[1]: *** [_subdir_yaffs] Error 2
make[1]: Leaving directory `/friendly-arm/kernel/fs'
make: *** [_dir_fs] Error 2


郁闷.

你把你的makefile贴出来,参考一下@
回复

使用道具 举报

发表于 2005-8-22 20:28:23 | 显示全部楼层
mtd的问题,你可以根据提示改下代码
回复

使用道具 举报

发表于 2006-5-17 18:52:05 | 显示全部楼层
我也碰到和lanjingling一样的问题了,楼上的兄弟说是mtd的问题,但是根据错误信息来看应该是yaffs文件夹下的yaffs_mtdfi.c出了问题啊。到底应该怎么改呢? 恳请高人指点!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 16:36 , Processed in 0.038642 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表