作家
登录

对Linux系统启动过程分析

作者: 来源: 2018-03-13 14:04:18 阅读 我要评论

  1. # readelf -S /bin/date
  2. # readelf -S vmlinux

沙龙晃荡 | 3月31日 京东、微博拭魅战专家与你合营商量容器技巧实践!


对Linux体系启动过程分析

懂得运转优胜的体系对于处理弗成避免的故障是最好的预备。

关于开源软件最古老的笑话是:“代码是自具文档化的self-documenting”。经验注解,浏览源代码就像听气象预告一样:明智的人依然出门会看看室外的气象。本文静述了若何应用调试对象来不雅察和分析 Linux 体系的启动。分析一个功能正常的体系启动过程,有助于用户和开辟人员应对弗成避免的故障。

大年夜某些方面看,启动过程异常简单。内核在单核上以单线程和同步状况启动,似乎可以懂得。但内核本身是若何启动的呢?initrd(initial ramdisk) 和引导法度榜样bootloader具有哪些功能?还有,为什么以太网端口上的 LED 灯是常亮的呢?

请持续浏览寻找谜底。在 GitHub 上也供给了 介绍演示和演习的代码。

启动的开端:OFF 状况 

局域网唤醒Wake-on-LAN

OFF 状况表示体系没有上电,没错吧?外面简单,其实不然。例如,如不雅体系启用下场域网唤醒机制(WOL),以太网指导灯将亮起。经由过程以下敕令来检查是否是这种情况:

是的,你的 Linux 体系已经预备好用于 Windows 2001 了,你要推敲安装吗?与设备树不合,ACPI 具有办法和数据,而设备树更多地是一种硬件描述说话。ACPI 办法在启动后仍处于晃荡状况。例如,运行 acpi_listen 敕令(在 apcid 包中),然后打开和封闭标记本机盖会发明 ACPI 功能一向在运行。临时地和动态地 覆盖 ACPI 表 是可能的,而永远地改变它须要在引导时与 BIOS 菜单交互或刷新 ROM。如不雅你碰到那么多麻烦,也许你应当 安装 coreboot,这是开源固件的替代品。

大年夜 start_kernel() 到用户空间

  1. # sudo ethtool <interface name>

BMC 不是独一的在体系封闭时仍在监听的微控制器(MCU)。x86_64 体系还包含了用于长途治理体系的英特尔治理引擎(IME)软件套件。大年夜办事器到标记本电脑,各类各样的设备都包含了这项技巧,它开启了如 KVM 长途控制和英特尔功能许可办事等 功能。根据 Intel 本身的检测对象,IME 存在尚未修补的马脚。坏消息是,要禁用 IME 很难。Trammell Hudson 提议了一个 me_cleaner 项目,它可以清除一些相对恶劣的 IME 组件,比如嵌入式 Web 办事器,但也可能会影响运行它的体系。

个中 <interface name> 是收集接口的名字,比如 eth0。(ethtool 可以在同名的 Linux 软件包中找到。)如不雅输出中的 Wake-on 显示 g,则长途主机可以经由过程发送 魔法数据包MagicPacket 来启动体系。如不雅您无意长途唤醒体系,也不欲望其他人如许做,请在体系 BIOS 菜单中将 WOL 封闭,或者用以下方法:

  1. # ps -o pid,psr,comm $(pgrep ksoftirqd)
  2. PID PSR COMMAND
  3. 7 0 ksoftirqd/0
  4. 16 1 ksoftirqd/1
  5. 22 2 ksoftirqd/2
     1/6    1 2 3 4 5 6 下一页 尾页

      推荐阅读

      Python数据预处理:使用Dask和Numba并行化加速

    沙龙晃荡 | 3月31日 京东、微博拭魅战专家与你合营商量容器技巧实践!如不雅你善于应用Pandas变换数据、创建特点以及清洗数据等,那么你就可以或许轻松地应用Dask和Numba并行加快你的工作。纯真赶紧度上>>>详细阅读


    本文标题:对Linux系统启动过程分析

    地址:http://www.17bianji.com/lsqh/40676.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)