製作交叉編譯file工具

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章