|
-----------------------------------------------这个试验我是按照这个手册做的,
uboot 2010.03
yaffs2 这里下载的 http://www.aleph1.co.uk/cgi-bin/viewcvs.cgi/yaffs2.tar.gz?view=tar
请问问题出在哪里怎么解决
实验十 linux-2.6.35内核移植—yaffs2文件系统的支持
【实验目的】
yaffs2文件系统是嵌入式系统中常用到的一种文件系统,并且在主要用在nand flash上,
这里我们在内核里添加yaffs2的支持
【实验环境】
Ubuntu 10.10发行版
u-boot-2010.03
FS2410平台
交叉编译器 arm-none-linux-gnueabi-gcc-4.3.2
【实验步骤】
源码下载
$ wget http://www.aleph1.co.uk/cgi-bin/viewcvs.cgi/yaffs2.tar.gz
解压源码到内核的fs目录下
$ cp yaffs2.tar.gz linux-2.6.35/fs
$ cd linux-2.6.35/fs
$ tar xvf yaffs2.tar.gz
安装补丁
cd yaffs2
$ ./patch-ker.sh c linux-2.6.35(这里是内核源码路径)
修改makefile
$ cp Makefile.kernel Makefile
配置内核
$ make menuconfig
File systems --->
Miscellaneous filesystems --->
<*> YAFFS2 file system support
-*- 512 byte / page devices
-*- 2048 byte (or larger) / page devices Autoselect yaffs2 format Cache short names in RAM
重新编译内核
$ make zImage
拷贝内核到开发板上
$ cp arch/arm/boot/zImage /tftpboot
重新启动开发板
# cat /proc/filesystems
nodev sysfs
nodev rootfs
nodev bdev
nodev proc
nodev tmpfs
nodev sockfs
nodev usbfs
nodev pipefs
nodev anon_inodefs
nodev rpc_pipefs
nodev devpts
ext3
ext2
cramfs
nodev ramfs
vfat
msdos
iso9660
nodev nfs
nodev jffs2
romfs
yaffs
yaffs2
nodev mtd_inodefs
-----------------------------------------------------------------------------------------结果杯具啦~\(≧▽≦)/~啦啦啦
js@jas:/opt/kernel/5linux-2.6.35.9$ make zImage
CHK include/linux/version.h
CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
CC fs/yaffs2/yaffs_fs.o
fs/yaffs2/yaffs_fs.c:234: error: unknown field 'prepare_write' specified in initializer
fs/yaffs2/yaffs_fs.c:234: warning: initialization from incompatible pointer type
fs/yaffs2/yaffs_fs.c:235: error: unknown field 'commit_write' specified in initializer
fs/yaffs2/yaffs_fs.c:235: warning: initialization from incompatible pointer type
fs/yaffs2/yaffs_fs.c:246: warning: initialization from incompatible pointer type
fs/yaffs2/yaffs_fs.c:304: warning: initialization from incompatible pointer type
fs/yaffs2/yaffs_fs.c: In function 'yaffs_mknod':
fs/yaffs2/yaffs_fs.c:1062: error: 'struct task_struct' has no member named 'fsuid'
fs/yaffs2/yaffs_fs.c:1063: error: 'struct task_struct' has no member named 'fsgid'
fs/yaffs2/yaffs_fs.c: In function 'yaffs_symlink':
fs/yaffs2/yaffs_fs.c:1242: error: 'struct task_struct' has no member named 'fsuid'
fs/yaffs2/yaffs_fs.c:1243: error: 'struct task_struct' has no member named 'fsgid'
fs/yaffs2/yaffs_fs.c: In function 'yaffs_internal_read_super':
fs/yaffs2/yaffs_fs.c:1781: warning: format '%d' expects type 'int', but argument 2 has type 'uint64_t'
make[2]: *** [fs/yaffs2/yaffs_fs.o] Error 1
make[1]: *** [fs/yaffs2] Error 2
make: *** [fs] Error 2
js@jas:/opt/kernel/5linux-2.6.35.9$ ci fs/yaffs2/ |
阿莫论坛20周年了!感谢大家的支持与爱护!!
如果天空是黑暗的,那就摸黑生存;
如果发出声音是危险的,那就保持沉默;
如果自觉无力发光,那就蜷伏于牆角。
但是,不要习惯了黑暗就为黑暗辩护;
也不要为自己的苟且而得意;
不要嘲讽那些比自己更勇敢的人。
我们可以卑微如尘土,但不可扭曲如蛆虫。
|