在YAFFS2源文件的实用工具目录下,执行制造就可以生成mkyaffs2image图像工具,执行
。(要制作yaffs2的目录) (目标镜像)/mkyaffs 2 image
ACL _ 2 . 2 . 47 . orig . tar . gz
lzo-2.3 . tar . gz
MTD-utils _ 28 5 8 . orig . gz
zlib-1 . 2 . 3 . tar . gz
mkfs . jffs 2 . for . arm-Linux-gcc . 3 . 4 . 1平台mkfs.jffs2.for.arm-linux-gcc平台mkfs.jffs2.for.pc平台tar.bz2如果只需要mkfs.jffs2工具,那么ubuntu 8.1下直接安装jffnms软件包即可,Luther @ gliet/open source/lzo/download/lzo-2.3 . tar . gz文件中
arm-linux-gcc中不需要拷贝它。struct IP _ mreq
{
struct in _ addr IMR _ multi addr;
结构in _ addr imr _ interface
};
结构体数据到头部,否则在u盘版的ubuntu 8.1上老是提示没有ip_mreq定义,虽然上面明明写了# define _ USE _ MISC
arm-Linux-gcc中还需要创建如3下个目录
Luther @ glie http:~/MTD-utils-28 5 8 $ mkdir arm-Linux
Luther @ glie http:~/MTD-utils-28 5 8 $ CP-r ubi-utils arm-Linux/
Luther @ glie http:~/MTD-utils-28 5 8 $ CP-r include arm-Linux/
Luther @ glie http:~/MTD-utils将所有EBUF(PFI flash _ ERRSTR[-RC]);全部替换为EBUF("%s ",PFI flash _ ERRSTR[-RC]);
vim下替换脚本为
:% s/EBUF(PFI flash _ ERRSTR \[-RC \]);/EBUF("\%s ",PFIFLASH _ ERRSTR \[-RC \]);/g
Luther @ gliet http:~/MTD-utils-28 5 8 $ vim ubi-utils/src/ubi mirror . c
将第26行的
fprintf(stderr,err _ buf);
改为
fprintf(stderr," %s ",err _ buf);// 想法是好的,因为错误_缓冲中含有%d等格式信息,这样接口更加统一,但是编译器似乎还并不支持这样的操作。[Luther . glie http]
Luther @ glie http:~/MTD-utils-28 5 8 $ vim ubi-utils/src/unubi . c
将第898行
char fname[PATH _ MAX];
改为
char fname[PATH _ MAX+1];
Luther @ gliet http:~/MTD-utils-28 5 8 $ CD ubi-utils/new-utils
因为-氧气优化的原因,会导致如下原木信息
错误:忽略用属性warn_unused_result声明的“scanf”的返回值
所有手工先编译。o
Luther @ gliet http:~/MTD-utils-28 5 8/ubi-utils/new-utils $ gcc-Iinclude-Isrc-I../../include-Wall-Werror-Wall src/ubi format . c-c-o ubi format . o
对于交叉编译执行如下一条语句
Luther @ gliet http:~/MTD-utils-28 5 8/ubi-utils/new-utils $ arm-Linux-gcc-Iinclude-Isrc-I../../include-Wall-Werror-Wall src/ubi format . c-c-o ubi format . o
Luther @ gliet http:~/MTD-utils-28 5 8/ubi-utils/new-utils $ CD-
好了,上面的所有修改完成之后,就可以执行制造成功编译了【luther.gliethttp】。
Luther @ gliet http:~/MTD-utils-28 5 8 $ make
如果是交叉编译,执行
Luther @ glie http:~/MTD-utils-28 5 8 $ make CROSS = arm-Linux-
Luther @ glie http:~/MTD-utils-28 5 8 $ make install
对于交叉编译,执行
Luther @ gliet http:~/MTD-utils-28 5 8 $ make CROSS = arm-Linux-install
Luther @ gliet http:~/MTD-utils-28 5 8 $ tree gliet http/
|-sbin
| | |-bin 2 NAND
| |-doc _ load BIOS
|-docfdisk
| |-flash _ erase
| -nftl _ format
| |-nftldump
| |-PDD customize
| |-PFI 2 bin
| |-PFI flash
| |-recv _ image
| |-rfd dump
| |-serve _ image
| | |-sum tool
| |-ubi attach
| |-ubi CRC 32
|-ubi CRC 32 . pl
| |-ubi detach开发板上没有任何文件系统闪光数据读取
# /MTD _ debug read/dev/MTD 1 glie http . bin
从闪存中的地址x复制了1个字节到glie http . bin
# hex dump glie http . bin
3ff ea 35 c e59f 1c e583 41 e e3a
1 44 e583 4a 3 e3a 41 e254 fffd/MTD _ debug read/dev/MTD 2 1 glie http . bin;hexdump gliethttp.bin -Cv
将闪存中地址x的1个字节复制到gliet http . bin
1f 8b 8 ca 14 7d 4a 2 3 E4 5a f 7 93 E7 |......}J...Z.p..|
1 79 7f 3f 49 36 B2 31 41 8 A e 38 CD 57 7 16 | y?I6.1A...8 . WP . |
2 93 18 F3 19 3b 6 12 9a d9 6 8 9 4e 22 c a4 |....;`...`..n "..|
3 B4 81 ca 42 92 6d d 59 D2 49 72 2 2b 4d DD 6 |...b . m . y . IR+m ` |
4 72 84 E1 86 3 a7 21 1 8a D2 B2 4b 2e F3 56 76 | r.....!....K..vv |
5 63 B7 34 b 1d CD B1 1d 6b B3 95 36 DC 95 db D1 | c . 4.....k..6....|
6 8b 9 d1个|....|
64