smartmontools-5.43交叉编译Smartctl

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

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

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

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

automake --add-missing

生成Makefile。

  1. 修改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

  1. make 生成

报错:

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

查询发现少了librt 实时库。

  1. 在交叉编译库中查找

find / -name '*librt*'

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

  1. 在Makefile添加

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

  1. 重新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

  1. 上载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

相关推荐
巴巴媛66614 分钟前
【Debug1】程序死机,while(1)循环,怎么办?
c语言·笔记·stm32·嵌入式硬件·bug
Lxx_Zw15 分钟前
PID 用顺了,然后呢:增强手术与前馈
c语言·stm32·单片机·嵌入式硬件
张怀民31631 分钟前
PFC_CCM_NCP1654详讲
单片机·嵌入式硬件·硬件工程·pfc
linweidong1 小时前
RTC 走偏、时间跳变?嵌入式时间管理的工程避坑
嵌入式硬件·面试·实时音视频·rtc·嵌入式面经·嵌入式ntp·嵌入式对时
Yiran_G1 小时前
ZigBee单播、广播与组播详解:从寻址机制到批量控制设计
嵌入式硬件·物联网·智能家居
youcans_2 小时前
【STM32C5教程】(9)DAC 模拟量信号输出实验
stm32·单片机·嵌入式硬件·stm32c5·cubemx2
智购科技自动售货机工厂2 小时前
省电40%的底层逻辑:冷热双温售货机基于SaaS的智能温控算法~YH
单片机·嵌入式硬件·百度·架构·emacs
深圳市恒锐丰科技杨生2 小时前
SS6203D 200V 单路半桥栅极驱动芯片|LeadPower 率能半导体
嵌入式硬件·硬件工程
深圳市恒锐丰科技杨生3 小时前
SS6200 半桥栅极驱动芯片|LeadPower 率能半导体
嵌入式硬件·硬件工程
HQB20263 小时前
EG11732|屹晶微电子 30V 内置 80A 功率管大电流同步降压 DC‑DC
嵌入式硬件·硬件工程