0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

精简linux系统下载

李鸿 来源:树没了派 作者:树没了派 2022-08-02 17:10 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Linux是现在最流行的操作系统,含有大量的源代码。Xilinx 2020.1使用的Linux 5.4,含有大约67430个文件。大部分文件没有被使用到。分析Linux源代码的代码实现时,经常查找函数或者数据结构定义。如果分析所有文件,既消耗软件查找时间;也会找到多个定义,增加理解代码的难度。如果能够删除没有被用到的代码,既能快速找到对应的定义,还能保证找到的是真正使用的定义。非常有意义。

Linux为文件的提供三种时间标记。第一个是访问时间atime,是最后一次读文件内容的时间。more、cat等命令会修改访问时间;但是ls、stat命令不会修改访问时间。第二个是修改时间mtime,是最后一次修改文件内容的时间。比如vim操作后保存文件,会更新修改时间mtime。第三个是状态改动时间ctime,是该文件的inode节点最后一次被修改的时间。通过chmod、chown命令修改文件属性就会更新这个时间。

如果我们知道Linux的编译流程的起始时间,那么删除所有访问时间比Linux的编译起始时间早的文件,就能达到精简Linux的源代码的目的。在编译Linux之前,可以通过touch命令创建一个文件。这个文件的atime,就是编译Linux开始时间。因此比较这个文件,和其它Linux文件,就能找到所有访问时间比Linux的编译起始时间早的文件,从而实现精简Linux的源代码。

实际测试中,发现还有部分文件被误删了。再恢复对应文件,既精简了Linux的源代码,也不影响Linux的编译流程。对Linux 5.4进行精简后,剩余大约8800个文件,减少了大约58000个文件,精简了超过87%的文件数量。文件夹大小从910MB减少到103MB,精简了超过88%的硬盘空间。

精简过程还是需要相当的时间。如果需要Xilinx的Linux精简代码,可以与我联系。

在scripts/kconfig/Makefile里,Linux还提供编译目标tinyconfig,它提供最精简的内核。以后可以考虑使用tinyconfig来精简Linux的源代码。

PHONY += tinyconfig
tinyconfig:
	$(Q)$(MAKE) -f $(srctree)/Makefile allnoconfig tiny.config

审核编辑 黄昊宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    88

    文章

    11628

    浏览量

    217965
  • 源代码
    +关注

    关注

    96

    文章

    2953

    浏览量

    69652
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    在Windows和Linux环境下分别使用Olimex和蜂鸟调试器下载程序

    本队伍编号CICC3042,本篇文章介绍在Windows和Linux环境下分别使用Olimex和蜂鸟调试器下载程序,和上一篇Hbirdv2的移植配合使用。 使用过第一版蜂鸟的同学们可能按照书中
    发表于 10-31 08:26

    电磁干扰防护与屏蔽系统软件平台精简解析

    电子发烧友网站提供《电磁干扰防护与屏蔽系统软件平台精简解析.doc》资料免费下载
    发表于 10-16 16:56 1次下载

    linux中使用env时如何下载软件包?

    在windows的env中可以直接使用pkgs —update去下载软件包,Linux环境下这个指令好像不生效,那么Linux环境下的软件包下载指令是什么呢?
    发表于 10-11 09:23

    电磁兼容与电磁干扰快速评估平台系统解析(精简版)

    电磁兼容与电磁干扰快速评估平台系统解析(精简版)
    的头像 发表于 09-15 21:36 458次阅读
    电磁兼容与电磁干扰快速评估平台<b class='flag-5'>系统</b>解析(<b class='flag-5'>精简</b>版)

    复杂电磁环境构建与测试软件系统解析(精简版)

    复杂电磁环境构建与测试软件系统解析(精简版)
    的头像 发表于 09-15 21:05 449次阅读
    复杂电磁环境构建与测试软件<b class='flag-5'>系统</b>解析(<b class='flag-5'>精简</b>版)

    电磁脉冲防护系统平台全面解析(精简版)

    电磁脉冲防护系统平台全面解析(精简版)
    的头像 发表于 09-15 17:19 732次阅读
    电磁脉冲防护<b class='flag-5'>系统</b>平台全面解析(<b class='flag-5'>精简</b>版)

    电磁干扰防护与屏蔽系统平台解析(精简版)

    电磁干扰防护与屏蔽系统平台解析(精简版)
    的头像 发表于 09-15 17:17 654次阅读
    电磁干扰防护与屏蔽<b class='flag-5'>系统</b>平台解析(<b class='flag-5'>精简</b>版)

    Linux系统目录结构全面剖析

    Linux文件系统采用层次化的目录结构,这种设计遵循了Unix哲学中的"一切皆文件"原则。理解Linux目录层次架构对于系统管理员、运维工程师和开发人员来说至关重要,它不仅影响
    的头像 发表于 07-21 17:33 586次阅读

    Linux系统中网络配置详解

    网络配置是Linux系统运维中的核心技能之一。正确理解和配置子网掩码、网关等网络参数,直接影响系统的网络连通性和性能。本文将深入探讨Linux系统
    的头像 发表于 07-17 11:01 864次阅读

    Linux系统环境监测终极指南

    Linux系统环境主要监测CPU、内存、磁盘I/O和网络流量。
    的头像 发表于 06-25 14:41 543次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>系统</b>环境监测终极指南

    开源系统适配:聚徽分享国产工控平板在 Linux / 鸿蒙系统下的技术优化

    在工业自动化与智能化加速推进的当下,国产工控平板的系统适配成为提升设备性能与竞争力的关键环节。Linux 和鸿蒙作为开源系统,凭借其高度的开放性与可定制性,为国产工控平板带来新的发展机遇。如何对国产
    的头像 发表于 06-13 16:29 711次阅读

    Linux系统管理的核心概念

    在前一篇文章中,我们深入探讨了Linux中的文件操作命令,如cp、mv、rm,以及文本处理命令grep、wc和管道符。本文将继续深入Linux系统管理的核心概念,包括root用户的角色、用户和用户组
    的头像 发表于 05-15 17:05 492次阅读

    Linux系统用户权限详解

    Linux 是一种开源的、基于 Unix 的操作系统,它因其灵活性、稳定性和高性能而广泛应用于服务器、嵌入式系统、超级计算机、桌面计算等领域。
    的头像 发表于 04-25 10:56 726次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>系统</b>用户权限详解

    Linux系统配置优化技巧

    应用系统跑在操作系统上面,系统的性能也关系到应用程序的性能,这里讲一些Linux性能关键的配置信息。
    的头像 发表于 03-04 11:27 742次阅读

    Linux环境下的软件包下载指令是什么呢?

    在windows的env中可以直接使用pkgs —update去下载软件包,Linux环境下这个指令好像不生效,那么Linux环境下的软件包下载指令是什么呢?
    发表于 02-19 07:34