请讲解一下 实验十 linux-2.6.35内核移植—yaffs2文件系统的支持
-----------------------------------------------这个试验我是按照这个手册做的,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
$ cdlinux-2.6.35/fs
$ tar xvf yaffs2.tar.gz
安装补丁
cd yaffs2
$ ./patch-ker.shc linux-2.6.35(这里是内核源码路径)
修改makefile
$ cp Makefile.kernelMakefile
配置内核
$ 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: `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: *** Error 1
make: *** Error 2
make: *** Error 2
js@jas:/opt/kernel/5linux-2.6.35.9$ ci fs/yaffs2/
页:
[1]