移植e2fsprogs到arm平台

http://blog.csdn.net/crazycoder8848/article/details/8510775

移植e2fsprogs到arm平台

也就是一般的交叉编译。

由于e2fsprogs通常会用到动态库,这里为了方便起见,采用了静态链接。

这样的话,向arm平台拷贝时,就不需要再关心动态库的问题了。

具体操作过程如下:

tar -xzf e2fsprogs-1.42.5.tar.gz

cd e2fsprogs-1.42.5

mkdir release

cd release/

../configure --host=arm-linux CC=arm-linux-gcc LDFLAGS=-static

make

好了,现在release下面的各个目录下,已经有相应的可执行程序生成了。

将他们直接拷到arm平台下即可使用了。

当然,如果单板flash空间紧张的话,则可以将部分功能编译成动态库。

方法如下:

../configure --host=arm-linux CC=arm-linux-gcc --enable-elf-shlibs

make

好了,release下面的相应子目录中已经生成了可执行文件及动态库。
接下来要拷贝文件了。


假如我们需要release/misc/mke2fs这个程序。
那么首先用readelf看看mke2fs需要使用哪些动态库。


[root@localhost relaese]# readelf -d misc/mke2fs

Dynamic section at offset 0x11474 contains 30 entries:
  Tag        Type                         Name/Value
0x00000001 (NEEDED)                     Shared library: [libext2fs.so.2]
0x00000001 (NEEDED) Shared library: [libcom_err.so.2]
0x00000001 (NEEDED)                     Shared library: [libblkid.so.1]
0x00000001 (NEEDED)                     Shared library: [libuuid.so.1]
0x00000001 (NEEDED)                     Shared library: [libe2p.so.2]
0x00000001 (NEEDED)                     Shared library: [libgcc_s.so.1]
0x00000001 (NEEDED)                     Shared library: [libc.so.0]

可以看出一共需要7个库。由于最后两个是标准C库,板子上本来就有。
因此,我们只需要拷贝前5个即可。
好了,我们先将release/lib目录下对应的5个动态库拷贝到单板的/lib目录下,
然后将release/misc/mke2fs拷贝到单板的/sbin目录下即可。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值