交叉编译file工具
luther@gliethttp:~$ wget
luther@gliethttp:~/file-4.26$ ./configure --host=arm-linux --datarootdir=/usr/share --prefix=/home/luther/gliethttp
luther@gliethttp:~/file-4.26$ make
编译之后最后会有错误提示,没关系因为最后make会执行编译出来的file,因为file是arm的所以当然会报错,
后面我们会在arm开发板上执行报错操作,生成magic.mgc类型库文件.
luther@gliethttp:~/file-4.26$ make install
luther@gliethttp:~/file-4.26$ tree ~/gliethttp
/home/luther/gliethttp
|-- bin
| `-- file
|-- include
| `-- magic.h
`-- lib
|-- libmagic.a
|-- libmagic.la
|-- libmagic.so -> libmagic.so.1.0.0
|-- libmagic.so.1 -> libmagic.so.1.0.0
`-- libmagic.so.1.0.0
3 directories, 7 files
上面只是生成了file和libmagic.so库,file需要读取/usr/share/file/magic.mgc类型文件,这个文件在pc上不能正常生成,
只能拷贝到arm开发板上去生成
luther@gliethttp:~/gliethttp$ cp -ar lib /vobs/nfs/
luther@gliethttp:~/gliethttp$ cp bin/file /vobs/nfs/
luther@gliethttp:~/file-4.26/magic$ cp -ar Magdir /vobs/nfs/
在arm开发板上
# cd /nfs
# ./file -C -m Magdir 生成类型库Magdir.mgc
# ls -l Magdir.mgc
-rw-r--r-- 1 root 0 1660224 Aug 22 2009 Magdir.mgc
将Magdir.mgc重命名为magic.mgc,然后拷贝到/usr/share/file/magic.mgc就可以使用file了
# cp Magdir.mgc /usr/share/file/magic.mgc
# ./file nls_cp936.ko
nls_cp936.ko: ELF 32-bit LSB relocatable, ARM, version 1 (SYSV), stripped
阅读(1963) | 评论(0) | 转发(0) |