一. 简介
我们在编译 busybox源码时,选择的是动态编译,所以,制作生成的 根文件系统中/bin或 /sbin目录下软件运行时会调用到一些库文件的。库文件就是交叉编译器的库文件。
前面我们编译 busybox源码时,选择动态编译,那么这时就需要调用到动态库文件。所以,根文件系统中需要存放动态库文件。当然你也可以编译成静态的,但是静态的可执行文件会很大。
二. 向根文件系统添加lib库
1. 向 rootfs 的 “/lib” 目录添加库文件
打开 之前编译生成的根文件系统,我这里在 ubuntu系统下/linux/nfs_File/rootfs,进入 rootfs根目录下,在 rootfs 文件夹下创建一个为 “lib” 的文件夹,命令如下:
wangtian@wangtian–virtual–machine:~/linux/nfs_File/rootfs$ mkdir lib
usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/
(1) 拷贝 /gcc–linaro-4.9.4-2017.01-x86_64_arm–linux–gnueabihf/arm–linux–gnueabihf/libc/lib/目录下库文件
wangtian@wangtian-virtual–machine:~$ cd /usr/local/arm/gcc–linaro-4.9.4-2017.01-x86_64_arm–linux–gnueabihf/arm–linux–gnueabihf/libc/lib/
此目录下有很多的*so*(*是通配符)和.a 文件,这些就是库文件,将此目录下所有的*so*和.a 文件都拷贝到 rootfs/lib 目录中,将该文件夹下的库文件都拷贝到 rootfs/lib目录下:
wangtian@wangtian-virtual–machine:/usr/local/arm/gcc–linaro-4.9.4-2017.01-x86_64_arm–linux–gnueabihf/arm–linux–gnueabihf/libc/lib$ cp *so* *.a /home/wangtian/linux/nfs_File/rootfs/lib/ –d
后面的“–d”表示拷贝符号链接,这里有个比较特殊的库文件:ld-linux-armhf.so.3,此库文件也是个符号链接,相当于 Windows 下的快捷方式。会链接到库 ld-2.19-2014.08-1-git.so 上,通过查看可知:
可以看出,ld-linux-armhf.so.3 后面有个“->”,表示其是个软连接文件,链接到文件 ld-2.19-2014.08-1-git.so,因为其是一个“快捷方式”,所以其大小只有 24B。但是,ld-linuxarmhf.so.3 不能作为符号链接,否则的话在根文件系统中执行程序无法执行!
需要我们重新复制一次 ld-linuxarmhf.so.3文件,只是不复制软链接即可。
cp ld-linux-armhf.so.3 /home/wangtian/linux/nfs_File/rootfs/lib/
wangtian@wangtian-virtual–machine:~/linux/nfs_File/rootfs/usr$ mkdir lib
进入如下目录下:
cd /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/lib
将此目录下的 so 和.a 库文件都拷贝到 rootfs/usr/lib 目录中,命令如下:
wangtian@wangtian-virtual–machine:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/lib$ cp *so* *.a /home/wangtian/linux/nfs_File/rootfs/usr/lib/ -d
三. 创建其他的文件夹
原文地址:https://blog.csdn.net/wojiaxiaohuang2014/article/details/134759726
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_38838.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!