【ARM Linux 系统稳定性分析入门及渐进 1.2 -- Crash工具编译过程】

文章目录

    • [Build Procedure](#Build Procedure)
      • [安装二进制 RPM](#安装二进制 RPM)
      • 从源代码重建
      • [从 tar 映像构建](#从 tar 映像构建)
        • [ARM 平台 Crash 工具安装](#ARM 平台 Crash 工具安装)
      • [从源 RPM 构建](#从源 RPM 构建)

Build Procedure

从 RHEL3 版本开始,如果在系统安装时选择了开发工具包集(Development Tools),crash 工具会自动安装。然而,对于其他内核版本 ,或者如果在系统安装时没有选择,需要手动安装二进制 RPM,或者根据需要重新构建并安装源代码版本

安装二进制 RPM

如果 crash 工具未预安装,并且目标系统上满足所有依赖项,可以通过以下步骤安装二进制 RPM

使用包管理工具安装 RPM 包,crash 可执行文件将安装在 /usr/bin 目录中。

从源代码重建

如果需要从源代码重建,crash 工具的源文件通常以两种典型格式打包:压缩的 tar 映像或源 RPM 文件。以 crash 版本 4.0-8.11 为例,可以从 crash-4.0-8.11.tar.gzcrash-4.0-8.11.src.rpm 构建。

最新的 "upstream" 版本可在 Crash Utility 官方页面 找到。

源文件布局通常包含:

  • 一个顶级目录,其中包含一组特定于 crash 的文件。
  • 一个压缩的 tar 映像,包含完整的、未修改的 GDB 源代码树。
  • 少量修改过的 GDB 文件,用于合并两者。
构建过程

构建过程包括以下步骤:

  1. 将未修改的 GDB 源代码提取到 crash 源代码目录的子目录中,并覆盖少量的修改 GDB 文件。
  2. 先构建 GDB 源代码树中的文件,创建 libbfd.alibreadline.alibopcodes.alibiberty.alibgdb.a 库。
  3. 编译顶级目录中的 crash 源文件,生成 crashlib.a 库。
  4. 将所有对象链接成 crash 可执行文件,位于顶级目录中。

根据主机系统的速度,完整构建可能需要几分钟,主要是由于 GDB 部分的构建时间较长。

从 tar 映像构建

  1. 解压并提取源文件。
  2. 进入生成的源代码目录。
  3. 输入 make 命令。

生成的 crash 可执行文件将位于顶级源目录中。通过以下命令将其安装到 /usr/bin

ARM 平台 Crash 工具安装

见:ARM 平台 Crash 工具安装

从源 RPM 构建

  1. 安装 crash-4.0-8.11.src.rpm

  2. 进入合适的 specs 目录。

  3. 构建软件包:

  4. 最后,安装生成的二进制 RPM,将 crash 可执行文件复制到 /usr/bin 目录:

    通过以上步骤,你可以在系统上成功构建和安装 crash 工具,以便进行内核调试和分析。