luther@gliethttp:~$ wget
http://ftp.de.debian.org/debian/pool/main/f/file/file_4.26.orig.tar.gz
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