arm-linux-gcc 4.3.2探讨2

简介: 使用busybox制作文件系统, 编译器: arm-linux-gcc 4.3.2, busybox 1.13.3,  动态编译。怎么知道都需要哪些库?有文章说用: arm-linux-readelf -d busybox | grep Shared来查看,我输入这个命令,显示: ...

使用busybox制作文件系统, 编译器: arm-linux-gcc 4.3.2, busybox 1.13.3,  动态编译。怎么知道都需要哪些库?有文章说用:

arm-linux-readelf -d busybox | grep Shared来查看,我输入这个命令,显示:

[root@Lanry bin]# arm-linux-readelf -d busybox |grep Shared

0x00000001 (NEEDED)                     Shared library: [libcrypt.so.1]

0x00000001 (NEEDED)                     Shared library: [libc.so.6]

有点不大象啊。 一是怎么可能只用到两个库, 二是 libcrypt是需要认证的程序才用到,我配置busybox时没有选到什么需要认证的啊。???????????

交叉应用程序的开发需要用到交叉编译的链接库,交叉编译的链接库是在交叉工具链的lib目录下;我们在移植应用程序到我们的目标板的时候,需要把交叉编译的链接库也一起移植到目标板上,这里我们用到的交叉工具链的路径是/usr/local/arm/3.4.1/,所以链接库的目录是/usr/local/arm/3.4.1/lib(本来跟目标板相关的目录是/usr/local/arm/3.4.1/arm-linux, 因此要拷贝的链接库应该在/usr/local/arm/3.4.1/arm-linux/lib下,但是此目录的很多链接都是链接到/usr/local/arm/3.4.1/lib目录下的库文件,所以我们从/usr/local/arm/3.4.1/lib目录拷贝库),此目录下有四种类型的文件。

实际的共享链接库

如:libc-2.3.2.so

主修订版本的符合链接

如:libc.so.2

与版本无关的符合链接(链接到主修订版本的符合链接)

如:libc.so

静态链接库包文件

如:libc.a

以上四种类型的文件,我们只需要两种:实际的共享链接库;主修订版本的符合链接,还有动态连接器及其符号链接。

#进入链接库目录

cd /usr/local/arm/3.4.1/lib

cp $file-*.so /home/rootfs/lib

cp -d $file.so.[*0-9]/jhome /rootfs/lib

cp -d ld*.so*/home /rootfs/lib

#第一个cp命令会复制实际的共享库

#第二个cp命令会复制符合链接本身

#第三个cp命令会复制动态连接器及其符合链接

在做文件系统的时候需要加载器和动态库具体操作:

cd /lib

cp *.so*  /home/rootfs/lib

相关文章
|
7月前
|
Linux
Linux(1)arm64根目录扩容
Linux(1)arm64根目录扩容
87 0
|
7月前
|
传感器 数据采集 存储
ARM Linux摄像头传感器数据处理全景视野:从板端编码视频到高级应用(一)
ARM Linux摄像头传感器数据处理全景视野:从板端编码视频到高级应用
234 0
|
7月前
|
传感器 Linux 数据处理
ARM Linux摄像头传感器数据处理全景视野:从板端编码视频到高级应用(二)
ARM Linux摄像头传感器数据处理全景视野:从板端编码视频到高级应用
130 1
|
4月前
|
Ubuntu Linux
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
967 3
|
4月前
|
Linux 网络安全 开发工具
内核实验(二):自定义一个迷你Linux ARM系统,基于Kernel v5.15.102, Busybox,Qemu
本文介绍了如何基于Linux Kernel 5.15.102版本和BusyBox创建一个自定义的迷你Linux ARM系统,并使用QEMU进行启动和调试,包括内核和BusyBox的编译配置、根文件系统的制作以及运行QEMU时的命令和参数设置。
352 0
内核实验(二):自定义一个迷你Linux ARM系统,基于Kernel v5.15.102, Busybox,Qemu
|
Linux 异构计算
HMI-66-【MeterDisplay for Arm Linux】液晶仪表Arm Linxu迁移
先说结论,虽然移植成功,但是显示效果不理想,可以直接看和面的视频。先说说做了什么吧。
HMI-66-【MeterDisplay for Arm Linux】液晶仪表Arm Linxu迁移
|
7月前
|
存储 Ubuntu Linux
xenomai3+linux构建linux实时操作系统-基于X86_64和arm
Xenomai是一个实时性解决方案,通过在Linux上添加实时内核Cobalt来增强实时性能。它有三个主要部分:libcobalt(用户空间实时库)、Cobalt(内核空间实时内核)和硬件架构特定层(ipipe-core或dovetail)。ipipe-core适用于Linux 5.4以下版本,而dovetail用于5.4及以上版本。本文介绍了在X86 Ubuntu环境下,如何编译Xenomai内核,搭建应用环境,包括配置、编译、安装和实时性测试。对于其他硬件架构,如ARM和ARM64,步骤类似。文章还提到了Xenomai与Linux内核版本的兼容性和实时性测试结果。
523 0
xenomai3+linux构建linux实时操作系统-基于X86_64和arm
|
7月前
|
JSON Ubuntu Linux
LuaJit交叉编译移植到ARM Linux
LuaJit交叉编译移植到ARM Linux
159 1
|
7月前
|
传感器 存储 编解码
ARM Linux摄像头传感器数据处理全景视野:从板端编码视频到高级应用(三)
ARM Linux摄像头传感器数据处理全景视野:从板端编码视频到高级应用
196 2
|
7月前
|
Ubuntu Linux 数据安全/隐私保护
Linux(7)Ubuntu20.04 arm64安装Docker
Linux(7)Ubuntu20.04 arm64安装Docker
1171 0