标签:buildroot 裁剪 文件系统 案例 厂家 构建 opkg
在早期文件系统还没有现在这么庞大时,开发模式一般是自己使用busybox来构建最小文件系统,再通过交叉编译需要的软件包并移植到板子上。而现在几乎所有的芯片厂家都会提供一个包含文件系统的SDK,以便用户拿到demo板即可使用。
我的认知是文件系统怎么裁剪是与芯片厂家提供的SDK关联比较大的,目前了解到的有如下几种方式:
一、定制安装
使用busybox+软件移植、buildroot、yocto等方式自己构建文件系统,那么文件系统的大小则完全取决于自己需要哪些软件包/lib库,许多国产芯片厂家喜欢用Buildroot来进行管理,提供给客户的SDK就是一个buildroot包,那么这种方式进行文件系统裁剪再适合不过了(注:buildroot使用kconfig,在meuconfig时选中/取消即可管理软件包)。
buildroot使用参考:
官网:https://buildroot.org/docs.html
野火:https://embed-linux-tutorial.readthedocs.io/zh_CN/latest/building_image/using_buildroot.html
二、rpm、opkg裁剪
有的厂家只给一个文件系统,没有告知文件系统是如何构建的,或者我们不想用厂家提供的方式再重新构建一次文件系统(自己构建的话,若后期遇到bug,或许厂家就不愿提供技术支持了-_-~)。那我们可以在厂家给的文件系统基础上,看看其是否采用了opkg、rpm等包管理方式,比如我手中的一块开发板,执行opkg:
root:~# opkg list
adwaita-icon-theme-symbolic - 3.28.0-r0.46
arm-benchmarks - 1.3-r13.arago0.117
arm-compute-library - 19.08-r0.36
assimp - 3.3.1-r0.28
at - 3.1.20-r0.110
attr - 2.4.47-r0.621
gnu-config - 20180713+git0+30d53fc428-r0.45
gstreamer - 0.10.36-r2.30
......
可见它是使用opkg方式,执行opkg remove即可删除相关的软件/库,rpm同理。
opkg使用参考博客:https://www.cnblogs.com/fppblog/p/12970725.html
三、手工删除
这种方法就比较原始也需要经验,容易误删、漏删。比如拿到一个文件系统,它既不采用buildroot等构建,也不采用rpm、opkg等包管理方式,不会自己构建文件系统的话,就只好采用这种原始方式来进行裁剪了。
这种方式参考博客:https://www.cnblogs.com/travelzero/p/11352358.html
标签:buildroot,裁剪,文件系统,案例,厂家,构建,opkg 来源: https://blog.csdn.net/qq_27689785/article/details/110118774
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。