当前位置: 首页 > news >正文

smartmontools-5.43交叉编译Smartctl

嵌入式系统的sata盘经常故障,需要使用smatctl工具监控和诊断sata故障。

1. 从网上下载开源smartmontools-5.43包。

2. 修改makefile进行交叉编译。

    由于软件包中已经包含Makefile.am,Makefile.in。直接运行

    automake --add-missing

   生成Makefile。

3. 修改Makefile中交叉编译工具

COMPILEPRE=/usr/local/arm/4.4.3/bin

#CC = gcc
#CCAS = gcc
CC = ${COMPILEPRE}/arm-linux-gcc-4.4.3
CCAS = ${COMPILEPRE}/arm-linux-gcc-4.4.3

CCASDEPMODE = depmode=gcc3
CCASFLAGS = -g -O2
CCDEPMODE = depmode=gcc3
CFLAGS = -g -O2
CPPFLAGS =

CXX = ${COMPILEPRE}/arm-linux-g++
CXXCPP = ${COMPILEPRE}/arm-linux-g++ -E

#CXX = g++
#CXXCPP = g++ -E

4. make 生成

报错:

/home/grape/s3c2440/tools/smartmontools-5.43/dev_interface.cpp:271: undefined reference to `clock_gettime'

查询发现少了librt 实时库。

5. 在交叉编译库中查找

# find / -name '*librt*'  
/usr/local/arm/4.4.3/arm-none-linux-gnueabi/sys-root/usr/lib/librt.so

6. 在Makefile添加

LIBS = /usr/local/arm/4.4.3/arm-none-linux-gnueabi/sys-root/usr/lib/librt.so

7. 重新make 成功,编译成功。并查看生成的smartctl。

file smartctl 
smartctl: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 2.6.32, not stripped

8. 上载smartctl到开发版,查询stata:

# ./smartctl -h
smartctl 5.43 2012-06-30 r3573 [armv4tl-linux-4.15.0] (local build)
Copyright (C) 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net

Usage: smartctl [options] device

============================================ SHOW INFORMATION OPTIONS =====

  -h, --help, --usage
         Display this help and exit

  -V, --version, --copyright, --license
         Print license, copyright, and version information and exit

http://www.lryc.cn/news/319519.html

相关文章:

  • idea找不到或无法加载主类
  • 2.二进制的方式读写文件
  • Seata的详细解释
  • JS手写实现洋葱圈模型
  • 3.Windows下安装MongoDB和Compass教程
  • go反射实战
  • Docker 中 MySQL 的部署与管理
  • 基础练习题之函数
  • Java NIO浅析
  • 数据挖掘与大数据的结合
  • 分布式链路追踪(一)SkyWalking(2)使用
  • 【QT入门】VS2019+QT的开发环境配置
  • RTP 控制协议 (RTCP) 反馈用于拥塞控制
  • 基于SpringBoot SSM vue办公自动化系统
  • SpingBoot集成Rabbitmq及Docker部署
  • 子组件自定义事件$emit实现新页面弹窗关闭之后父界面刷新
  • 【框架】跨端开发框架介绍(Windows/MacOS/Linux/Andriod/iOS/H5/小程序)
  • 亚马逊云科技 Lambda 运行selenium
  • 算法——前缀和之除自身以外数组的乘积、和为K的子数组、和可被K整除的子数组、连续数组、矩阵区域和
  • Text-to-SQL 工具Vanna + MySQL本地部署 | 数据库对话机器人
  • linux最佳入门(笔记)
  • 加速 PyTorch 模型预测常见方法梳理
  • 【STM32定时器 TIM小总结】
  • RISC-V 编译环境搭建:riscv-gnu-toolchain 和 riscv-tools
  • 一文速通ESP32(基于MicroPython)——含示例代码
  • 记录一次业务遇到的sql问题
  • 代码分支管理
  • uniapp sqlite时在无法读取到已准备好数据的db文件中的数据
  • 源码编译部署LAMP
  • Echo框架:高性能的Golang Web框架