以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除。
由根文件系统的目录结构_天糊土的博客-CSDN博客可知,/lib目录在根文件系统中也是不能省略的。该目录存放着操作系统中的动态和静态链接库文件。我们构建/lib目录,主要工作是是在此目录下添加动态链接库。
arm-2009q3这个交叉编译工具链的动态链接库在/usr/local/arm/arm-2009q3/arm-none-linux-gnueabi/libc/lib目录下。其他的一些交叉编译工具链的动态链接库的目录不一定在此,需要查找时可以“ find -name "*.so" ”。
我们只要复制动态链接库到根文件系统的/lib目录下即可。复制时要注意参数用-rdf,主要目的就是符号链接复制过来还是符号链接。即:
cp /usr/local/arm/arm-2009q3/arm-none-linux-gnueabi/libc/lib/*so* ~/iot/embedded_basic_course/rootfs/rootfs_xjh/lib/ -rdf
另外,动态链接库的文件中包含着调试符号信息,这些符号信息在运行时是没用的,而且会占用一定空间。在传统的嵌入式系统中Flash空间是有限的,为了节省空间常常把这些符号信息去掉。去掉符号的命令是“ arm-linux-strip *so* ”。