arm linux 删除大量文件,ARM Linux根文件系统(Root Filesystem)的制作
库可是一件非常麻烦的事请。我建议初学者拷贝买的开发板里面带的文件系统的库,如果开发板的文件系统是映像,只需要把映像挂载在某个目录下就可以访问,假设映像叫做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)的制作相关推荐
- Linux删除证书文件命令,Linux基础面面观之文件复制、移动、删除的命令
用惯Windows的朋友在开始学习Linux时都会觉得在Linux中进行文件的复制.移动和删除工作也是只需点点鼠标或者键盘快捷键就能简单完成,然而事实并没有这么简单.在Linux下进行以上三种操作一般 ...
- linux 删除中文文件夹,Linux删除文件夹命令是什么
Linux删除文件夹命令有:1.rmdir命令,用于删除空的文件夹,语法格式"rmdir [-p] 文件夹名称":2.rm命令,用于删除一个文件或者文件夹,语法格式"rm ...
- linux 删除tmp文件夹,Linux下tmp文件夹的文件自动删除的问题(转)
场景: 近日发现有一台机器tmp文件夹下放置的文件无辜丢失,而且排查发现是自动丢失,并且,只是删除10天之前的文件. 本来以为是哪位写了一个自动执行脚本, find了一下10天前的文件删除了. 结果, ...
- linux删除link文件,在 Linux 中怎样移除(删除)符号链接
原标题:在 Linux 中怎样移除(删除)符号链接 你可能有时需要在 Linux 上创建或者删除符号链接.如果有,你知道该怎样做吗?之前你做过吗?你踩坑没有?如果你踩过坑,那没什么问题.如果还没有,别 ...
- linux删除test文件夹,Linux删除目录下的文件的几种方法
Linux删除目录下的文件的几种方法 删除当前目录下的文件 1.rm -f * #最经典的方法,删除当前目录下的所有类型的文件 2.find . -type f -delete或find . -typ ...
- linux 删除大文件,在 Linux 中删除超大文件的技巧
通常,要在 Linux 终端删除一个文件,我们使用 rm 命令(删除文件).shred 命令(安全删除文件).wipe 命令(安全擦除文件)或者 secure-deletion 工具包(一个安全文件删 ...
- linux删除modules文件夹,linux – 为什么我不能删除这个dkms模块?
我正在尝试删除此dkms模块,但遇到了麻烦. 我跑 sudo dkms uninstall rtl8812au/4.3.14 我明白了 Error! The module/version combo: ...
- 嵌入式linux根文件系统ubifs,什么是嵌入式的根文件?嵌入式的根文件系统有哪些?...
什么是嵌入式的根文件呢?嵌入式跟文件系统就是一种特殊的文件系统,那么根文件系统和普通的文件系统有什么区别呢?由于根文件系统是内核启动时挂在的第一个文件系统,那么根文件系统就要包括Linux启动时所必须 ...
- Linux学习笔记---使用BusyBox创建根文件系统(二)
目录 向 rootfs 的"/lib "目录添加库文件 向 rootfs 的usr/lib 目录添加库文件 创建其他文件夹 根文件系统初步测试 向 rootfs 的"/l ...
- Linux学习笔记---使用BusyBox创建根文件系统(四)
目录 软件运行测试 设置程序为后台运行 设置开机自启动 外网连接测试 软件运行测试 进入到rootfs文件夹中新建一个drivers文件夹,用于存放编写的软件. 新建hello.c文件 输入以下代码 ...
最新文章
- usaco Arithmetic Progressions(看了题解)
- 开源医学图像数据集(资源整合)
- oracle 12c 自动任务,Oracle job自动任务实用指南
- JSP动作元素/活动元素
- 工作252:uniapp--实战--uview---tabber
- ci phpexcel mysql_PHPExcel导入数据到mysql数据库
- 套接字初始化失败问题
- 软考 - 数据库系统工程师
- 从QQ2010看腾讯
- 分享几款流程图软件,帮助你熟悉工作流程
- Windows SDK SignTool.exe 微软文件签名工具的使用
- layabox位移和旋转动画
- 【HLS】HTTP Live Streaming draft-pantos-http-live-streaming-14
- 摘掉“爆雷”“二房东”的帽子,长租公寓有了新的生存法则
- Win11 Wifi消失,网络适配器黄色感叹号解决方案
- 四则运算——单元测试(测试方法:Right-BICEP )
- 电路交换(Circuit Switching)
- 计算机应用基础学习网站,《计算机应用基础》学习手册.pdf
- 英文中电话号码的正确写法
- 阿里P8架构师谈(1):双11秒杀系统如何设计
热门文章
- node.js Web实时消息后台服务器推送技术---GoEasy
- indexOf 和 lastIndexOf 使用
- [摘]ASP.Net标准控件(Label控件)
- Oracle傻瓜手册
- classpath路径浅谈
- 南阳oj-----找球号(一)(set)
- oracle数据库如何写翻页_在oracle数据库中的分页SQL语句怎么写?
- Train Problem I(STL)基本运用stack
- .net from 关闭事件_libVLC 事件机制
- 常见的html内lian联元素,CSS基础:块元素、内联元素、内联块元素