ARM移植file命令
2017-05-16 11:25
281 查看
ARM移植file命令的详细步骤:
1、下载file 源代码
从下面ftp 站点下载Linux file 命令源代码file-5.04.tar.gz
ftp://ftp.astron.com/pub/file
2、使用tar 命令对文件进行解压。
-C选项是指定解压目录
3、编写build.sh 脚本。
build.sh 文件的内容如下所示:
这个脚本的意思是指定编译器为交叉编译器arm-linux- ,其中还必须指定为静态编译,因为开发板并没有库文件。
给build.sh 脚本赋予执行权限!
4、执行build.sh 脚本。
5、修改 file-5.04/src/Makefile 文件。
添加--static到CFLAGS里,使用静态链接。
6、修改源代码file-5.04/src/file.c 文件。
将file.c 文件中的main() 函数的 const char *magicfile = NULL;/* where the magic is*/
改为:
7、执行make 命令。
make 编译生成file 二进制文件,在 src/ 目录下。
8、将file 二进制文件和Magdir/ 目录下载到开发板的/tmp 目录下。
file 二进制文件在src/ 目录下,Magdir/ 目录是在magic/ 目录下。
提示:这里可以使用nfs 挂载到开发板根文件系统中。
9、使用file命令生成magic.mgc 文件。
10、拷贝命令到/usr/bin 目录下。
a、将Magdir.mgc 文件拷贝到/usr/bin 目录下,并在usr/bin 目录下将Magdir.mgc 改名为magic.mgc。
b、将file 命令拷贝到/usr/bin 目录下。
现在可以在ARM上使用file命令了。
看看file 命令的用法:
file 命令移植成功,在ARM上成功运行!
1、下载file 源代码
从下面ftp 站点下载Linux file 命令源代码file-5.04.tar.gz
ftp://ftp.astron.com/pub/file
2、使用tar 命令对文件进行解压。
-C选项是指定解压目录
tar xvzf file-5.04.tar.gz -C /root/ARM/
3、编写build.sh 脚本。
build.sh 文件的内容如下所示:
#!/bin/sh CROSS=arm-linux- ./configure --host=arm-linux --enable-static --disable-shared CC=${CROSS}gcc AS=${CROSS}as LD=${CROSS}ld AR=${CROSS}ar RANLIB=${CROSS}ranlib
这个脚本的意思是指定编译器为交叉编译器arm-linux- ,其中还必须指定为静态编译,因为开发板并没有库文件。
给build.sh 脚本赋予执行权限!
chmod a+x build.sh
4、执行build.sh 脚本。
[root@codeMonkey file-5.04_ok]# ./build.sh ... ... ... configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: creating magic/Makefile config.status: creating tests/Makefile config.status: creating doc/Makefile config.status: creating python/Makefile config.status: creating config.h config.status: config.h is unchanged config.status: executing depfiles commands中间过程省略,出现最后几句就没有问题。
5、修改 file-5.04/src/Makefile 文件。
添加--static到CFLAGS里,使用静态链接。
CFLAGS = -g -O2 --static
6、修改源代码file-5.04/src/file.c 文件。
将file.c 文件中的main() 函数的 const char *magicfile = NULL;/* where the magic is*/
改为:
const char *magicfile = "/usr/bin/magic.mgc";
7、执行make 命令。
make 编译生成file 二进制文件,在 src/ 目录下。
8、将file 二进制文件和Magdir/ 目录下载到开发板的/tmp 目录下。
file 二进制文件在src/ 目录下,Magdir/ 目录是在magic/ 目录下。
提示:这里可以使用nfs 挂载到开发板根文件系统中。
9、使用file命令生成magic.mgc 文件。
[root@MINI2440 /tmp]# ./file -C -m Magdir [root@MINI2440 /tmp]# ls Magdir.mgc Magdir.mgc
10、拷贝命令到/usr/bin 目录下。
a、将Magdir.mgc 文件拷贝到/usr/bin 目录下,并在usr/bin 目录下将Magdir.mgc 改名为magic.mgc。
b、将file 命令拷贝到/usr/bin 目录下。
[root@MINI2440 /tmp]# cp Magdir.mgc /usr/bin [root@MINI2440 /tmp]# cp file /usr/bin
现在可以在ARM上使用file命令了。
看看file 命令的用法:
[root@MINI2440 /]# file Usage: file [-bchikLNnprsvz0] [--apple] [--mime-encoding] [--mime-type] [-e testname] [-F separator] [-f namefile] [-m magicfiles] file ... file -C [-m magicfiles] file [--help]使用file 命令:
[root@MINI2440 bin]# file file file: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, for GNU/Linux 2.6.14, not stripped
file 命令移植成功,在ARM上成功运行!
相关文章推荐
- 移植OpenCv2.1到arm6410(一)linux下tar.gz、tar、bz2、zip等解压缩、压缩命令小结
- lsusb命令在arm上的移植
- arm上移植iconv命令
- 移植cryptopp 5.6.2版本到ARM中需要进行的GNUmakefile 修改:
- imx6ul使用记录之----lsusb命令在arm上的移植
- iw命令移植(arm)
- 解决“运行arm-linux-gcc命令,提示No such file or directory”的问题
- iw命令移植(arm)
- linux 7z命令交叉编译移植到arm linux平台
- 解决“运行arm-linux-gcc命令,提示No such file or directory”的问题
- 解决“运行arm-linux-gcc命令,提示No such file or directory”的问题
- ARM移植rz和sz命令
- file命令的移植
- file命令的移植
- 在Ubuntu 64位机器上执行arm-linux-gcc命令提示无法加载库,no such file or directory
- UCOS-II移植ARM的读书笔记(12.20)续
- UCOS-II移植ARM的读书笔记(12.13)
- MP3播放器madplay在ARM平台上的移植
- UCOS-II移植ARM的读书笔记(12.17)续
- UCOS-II移植ARM的读书笔记(12.25)续