移植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目录下即可。