Chinaunix首页 | 论坛 | 博客
  • 博客访问: 796559
  • 博文数量: 172
  • 博客积分: 3836
  • 博客等级: 中校
  • 技术积分: 1988
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-10 14:59
文章分类

全部博文(172)

文章存档

2014年(2)

2013年(1)

2012年(28)

2011年(141)

分类: LINUX

2011-06-10 15:14:02

想使用一下UBIFS文件系统,通过网络了解它需要相应的mtd-utility工具来支持,它们是mkfs.ubifs, ubinize, mtdinfo, ubiattach,  ubidetach, ubiformat, ubimkvol, ubirmvol等。

下载mtd-utility-1.4.4.tar.bz2
  1. 1. ftp://ftp.infradead.org/../pub/mtd-utils/
  2. 2. $ tar jxf mtd-utility-1.4.4.tar.bz2
  3. 3. cd mtd-utility-1.4.4$
修改交叉编译
  1. $ vi common.mk
  CROSS=arm_v5t_le-
  $make 
错误1:
mkfs.ubifs.c: 在函数 ‘add_inode_with_data’ 中:
mkfs.ubifs.c:1066: 错误:‘FS_COMPR_FL’ 未声明 (在此函数内第一次使用)
mkfs.ubifs.c:1066: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
mkfs.ubifs.c:1066: 错误:所在的函数内只报告一次。)
mkfs.ubifs.c:1068: 错误:‘FS_SYNC_FL’ 未声明 (在此函数内第一次使用)
mkfs.ubifs.c:1070: 错误:‘FS_IMMUTABLE_FL’ 未声明 (在此函数内第一次使用)
mkfs.ubifs.c:1072: 错误:‘FS_APPEND_FL’ 未声明 (在此函数内第一次使用)
mkfs.ubifs.c:1074: 错误:‘FS_DIRSYNC_FL’ 未声明 (在此函数内第一次使用)
mkfs.ubifs.c: 在函数 ‘add_dir_inode’ 中:
mkfs.ubifs.c:1145: 错误:‘FS_IOC_GETFLAGS’ 未声明 (在此函数内第一次使用)
mkfs.ubifs.c: 在函数 ‘add_file’ 中:
mkfs.ubifs.c:1331: 错误:‘FS_COMPR_FL’ 未声明 (在此函数内第一次使用)
mkfs.ubifs.c: 在函数 ‘add_non_dir’ 中:
mkfs.ubifs.c:1375: 错误:‘FS_IOC_GETFLAGS’ 未声明 (在此函数内第一次使用)

将内核的 cp include/linux/fs.h mtd-utility-1.4.4/include/linux/

错误2:
make[1]: 正在进入目录 `/home/cheney/tar/mtd-utility/mtd-utils-1.4.4/mkfs.ubifs'
mkdir -p /home/cheney/tar/mtd-utility/mtd-utils-1.4.4/arm_v5t_le/mkfs.ubifs/
arm_v5t_le-gcc -I../include -I../ubi-utils/include   -D_FILE_OFFSET_BITS=64 -O2 -g -Wall -Wextra -Wwrite-strings -Wno-sign-compare -ffunction-sections -fdata-sections -Wl,--gc-sections -c -o /home/cheney/tar/mtd-utility/mtd-utils-1.4.4/arm_v5t_le/mkfs.ubifs/compr.o compr.c -g -Wp,-MD,/home/cheney/tar/mtd-utility/mtd-utils-1.4.4/arm_v5t_le/mkfs.ubifs/.compr.c.dep
compr.c:27:23: 错误: lzo/lzo1x.h:没有那个文件或目录

将之前编译的lzo的库的头文件全部复制到/home/cheney/tar/mtd-utility/mtd-utils-1.4.4/include/目录下面。


错误3:
/mkfs.ubifs/../lib -lmtd -lcrc32 
/usr/sbin/v5t_le/bin/../lib/gcc/armv5tl-montavista-linux-gnueabi/4.2.0/../../../../armv5tl-montavista-linux-gnueabi/bin/ld: cannot find -llzo2

将之前编译好的lzo库copy到/usr/sbin/v5t_le/armv5tl-montavista-linux-gnueabi/lib目录下

终于编译通过!
  1. cheney@cheney-ubuntu:~/tar/mtd-utility/mtd-utils-1.4.4$ ls -R arm_v5t_le/
  2. docfdisk flash_erase flash_otp_dump ftl_check lib nanddump nftldump rfddump sumtool
  3. doc_loadbios flash_info flash_otp_info ftl_format mkfs.ubifs nandtest nftl_format rfdformat ubi-utils flashcp flash_lock flash_unlock jffs2dump mtd_debug nandwrite recv_image serve_image

  4. arm_v5t_le/lib:
  5. libcrc32.a libcrc32.o libfec.o libmtd.a libmtd_legacy.o libmtd.o

  6. arm_v5t_le/mkfs.ubifs:
  7.  mkfs.ubifs

  8. arm_v5t_le/ubi-utils:
  9. ubinize ubirmvol ubiutils- ubiattach ubidetach ubimkvol ubinize.o ubirsvol ubicrc32 ubiformat ubinfo ubirename ubiupdatevol





阅读(4567) | 评论(0) | 转发(0) |
0

上一篇:Intresting Game

下一篇:几个库的编译

给主人留下些什么吧!~~