库可是一件非常麻烦的事请。我建议初学者拷贝买的开发板里面带的文件系统的库,如果开发板的文件系统是映像,只需要把映像挂载在某个目录下就可以访问,假设映像叫做rootfs.cramfs,可以这样

# mkdir /home/lxz/evb_rootfs

(切换为root用户)

# mount -o loop rootfs.cramfs /home/lxz/evb_rootfs

(可以切换为普通用户)

# cd /home/lxz/evb_rootfs/lib

# cp -r ./ /home/lxz/rootfs/lib

一般开发板里都会带有很多库,但是总体积却比较大。可以删掉一些不用的库来减小体积,但是,呵呵,我也不知道那些库具体含有什么函数,什么情况

删什么;也许以后我会把这部分补上。如果觉得库体积太大,也可以自己编译glibc或者uclibc,但是这是非常繁琐的事请——目前我认为库应该和编译

器arm-linux-gcc一起制作。有个傻瓜式的方案是使用cross-tool,下载地址:。虽然cross-tool是用来制作交叉编译器的,但是其过程中生成的glibc却可以作为副产品为我们所用。cross-tool的使用可以看我之前的这篇文章http://xianzilu.spaces.live.com/blog/cns!4201FDC93932DDAF!274.entry。

在成功制作了交叉编译器之后,就可以从cross-tool的目录里把glibc取出来,假设cross-tool的路径是/home/lxz

/cross-tool,编译出的编译器叫做arm-linux-gnu-gcc,gcc版本3.4.5,glibc版本2.3.6,想要把glibc库

拷贝到/home/lxz/glibc,下面的操作还是用命令来说明。

# cd /home/lxz/cross-tool/build/arm-linux-gnu-gcc/gcc-3.4.5-glibc-2.3.6/build-glibc

# ../glibc-2.3.6/configure --prefix=/home/lxz/glibc

# make install

等候安装结束

# cd /home/lxz/glibc

# cp -r lib /home/lxz/rootfs

这样就把glibc的大部队拷贝好了,但是这样还缺两个库,我们继续

# cd /home/lxz/cross-tool/build/arm-linux-gnu-gcc/gcc-3.4.5-glibc-2.3.6/build-gcc/gcc

# cp libgcc_s.so* /home/lxz/rootfs/lib

还缺少一个libtermcap库,这个就稍微有些麻烦。libtermcap-2.0.8-35-armv4l源码包的下载地址是,你也可以在这里找到其他版本的。假设libtermcap-2.0.8-35.src.rpm下载到了/home/lxz/libtermcap,下面继续用命令说明。

# cd /home/lxz/libtermcap

# rpm2cpio libtermcap-2.0.8-35.src.rpm | cpio -ivd

# tar xvjf termcap-2.0.8.tar.bz2

接下来要打13个补丁,很汗啊,请一定按照下面的顺序来打补丁

# patch -p0 -i termcap-2.0.8-shared.patch

# patch -p0 -i termcap-2.0.8-setuid.patch

# patch -p0 -i termcap-2.0.8-instnoroot.patch

# patch -p0 -i termcap-2.0.8-compat21.patch

# patch -p0 -i termcap-2.0.8-xref.patch

# patch -p0 -i termcap-2.0.8-fix-tc.patch

# patch -p0 -i termcap-2.0.8-ignore-p.patch

# patch -p0 -i termcap-buffer.patch

# patch -p0 -i termcap-2.0.8-bufsize.patch

# patch -p0 -i termcap-2.0.8-colon.patch

# patch -p0 -i libtermcap-aaargh.patch

# patch -p0 -i termcap-2.0.8-glibc22.patch

# patch -p0 -i libtermcap-2.0.8-ia64.patch

然后到/home/lxz/libtermcap/termcap-2.0.8里,找到Makefile,修改其中的CC和AR,

CC = /usr/local/arm/3.4.1/bin/arm-linux-gcc

AR = /usr/local/arm/3.4.1/bin/arm-linux-ar

当然,你的编译器在哪里就改成相应的内容。如果嫌麻烦,可以从本站资料页面下载我已经打好补丁,修改好Makefile的包,地址。需要注意的是,这个包里CC = arm-linux-gcc、AR = arm-linux-ar,请设置好缺省路径。然后就可以编译了:

# cd /home/lxz/libtermcap/termcap-2.0.8

# make

# ln -s libtermcap.so.2.0.8 libtermcap.so.2

# cp libtermcap.so* /home/lxz/rootfs/lib

这样,Shell启动所需要的基本库就都备齐了。但是,这些库里面还含有调试信息,体积稍大,可以把这些信息去掉(当然不去掉也没有什么影响)。

# cd /home/lxz/rootfs/lib

# arm-linux-strip *.so*

至此,库就制作好了。

arm linux 删除大量文件,ARM Linux根文件系统(Root Filesystem)的制作相关推荐

  1. Linux删除证书文件命令,Linux基础面面观之文件复制、移动、删除的命令

    用惯Windows的朋友在开始学习Linux时都会觉得在Linux中进行文件的复制.移动和删除工作也是只需点点鼠标或者键盘快捷键就能简单完成,然而事实并没有这么简单.在Linux下进行以上三种操作一般 ...

  2. linux 删除中文文件夹,Linux删除文件夹命令是什么

    Linux删除文件夹命令有:1.rmdir命令,用于删除空的文件夹,语法格式"rmdir [-p] 文件夹名称":2.rm命令,用于删除一个文件或者文件夹,语法格式"rm ...

  3. linux 删除tmp文件夹,Linux下tmp文件夹的文件自动删除的问题(转)

    场景: 近日发现有一台机器tmp文件夹下放置的文件无辜丢失,而且排查发现是自动丢失,并且,只是删除10天之前的文件. 本来以为是哪位写了一个自动执行脚本, find了一下10天前的文件删除了. 结果, ...

  4. linux删除link文件,在 Linux 中怎样移除(删除)符号链接

    原标题:在 Linux 中怎样移除(删除)符号链接 你可能有时需要在 Linux 上创建或者删除符号链接.如果有,你知道该怎样做吗?之前你做过吗?你踩坑没有?如果你踩过坑,那没什么问题.如果还没有,别 ...

  5. linux删除test文件夹,Linux删除目录下的文件的几种方法

    Linux删除目录下的文件的几种方法 删除当前目录下的文件 1.rm -f * #最经典的方法,删除当前目录下的所有类型的文件 2.find . -type f -delete或find . -typ ...

  6. linux 删除大文件,在 Linux 中删除超大文件的技巧

    通常,要在 Linux 终端删除一个文件,我们使用 rm 命令(删除文件).shred 命令(安全删除文件).wipe 命令(安全擦除文件)或者 secure-deletion 工具包(一个安全文件删 ...

  7. linux删除modules文件夹,linux – 为什么我不能删除这个dkms模块?

    我正在尝试删除此dkms模块,但遇到了麻烦. 我跑 sudo dkms uninstall rtl8812au/4.3.14 我明白了 Error! The module/version combo: ...

  8. 嵌入式linux根文件系统ubifs,什么是嵌入式的根文件?嵌入式的根文件系统有哪些?...

    什么是嵌入式的根文件呢?嵌入式跟文件系统就是一种特殊的文件系统,那么根文件系统和普通的文件系统有什么区别呢?由于根文件系统是内核启动时挂在的第一个文件系统,那么根文件系统就要包括Linux启动时所必须 ...

  9. Linux学习笔记---使用BusyBox创建根文件系统(二)

    目录 向 rootfs 的"/lib "目录添加库文件 向 rootfs 的usr/lib 目录添加库文件 创建其他文件夹 根文件系统初步测试 向 rootfs 的"/l ...

  10. Linux学习笔记---使用BusyBox创建根文件系统(四)

    目录 软件运行测试 设置程序为后台运行 设置开机自启动 外网连接测试 软件运行测试 进入到rootfs文件夹中新建一个drivers文件夹,用于存放编写的软件. 新建hello.c文件 输入以下代码 ...

最新文章

  1. usaco Arithmetic Progressions(看了题解)
  2. 开源医学图像数据集(资源整合)
  3. oracle 12c 自动任务,Oracle job自动任务实用指南
  4. JSP动作元素/活动元素
  5. 工作252:uniapp--实战--uview---tabber
  6. ci phpexcel mysql_PHPExcel导入数据到mysql数据库
  7. 套接字初始化失败问题
  8. 软考 - 数据库系统工程师
  9. 从QQ2010看腾讯
  10. 分享几款流程图软件,帮助你熟悉工作流程
  11. Windows SDK SignTool.exe 微软文件签名工具的使用
  12. layabox位移和旋转动画
  13. 【HLS】HTTP Live Streaming draft-pantos-http-live-streaming-14
  14. 摘掉“爆雷”“二房东”的帽子,长租公寓有了新的生存法则
  15. Win11 Wifi消失,网络适配器黄色感叹号解决方案
  16. 四则运算——单元测试(测试方法:Right-BICEP )
  17. 电路交换(Circuit Switching)
  18. 计算机应用基础学习网站,《计算机应用基础》学习手册.pdf
  19. 英文中电话号码的正确写法
  20. 阿里P8架构师谈(1):双11秒杀系统如何设计

热门文章

  1. node.js Web实时消息后台服务器推送技术---GoEasy
  2. indexOf 和 lastIndexOf 使用
  3. [摘]ASP.Net标准控件(Label控件)
  4. Oracle傻瓜手册
  5. classpath路径浅谈
  6. 南阳oj-----找球号(一)(set)
  7. oracle数据库如何写翻页_在oracle数据库中的分页SQL语句怎么写?
  8. Train Problem I(STL)基本运用stack
  9. .net from 关闭事件_libVLC 事件机制
  10. 常见的html内lian联元素,CSS基础:块元素、内联元素、内联块元素