smartmontools-5.43交叉编译Smartctl

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

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

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

由于软件包中已经包含Makefile.amMakefile.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

相关推荐
17(无规则自律)1 小时前
你对 argc 和 argv 的理解有多深?
linux·c语言·嵌入式硬件·考研
Scott.W3 小时前
跟我学Easyi3C Tower Adapter Console(9)
人工智能·python·嵌入式硬件·i3c
沐欣工作室_lvyiyi3 小时前
基于单片机的直流伺服电机控制器设计与仿真(论文+源码)
单片机·嵌入式硬件·毕业设计·直流伺服电机
LCMICRO-133108477463 小时前
长芯微LDM63085完全P2P替代ADM2483,是一款基于数字隔离技术的高可靠性的半双工隔离RS-485收发器
单片机·嵌入式硬件·fpga开发·硬件工程·dsp开发
2501_918126913 小时前
stm32上,接线柱下有3v3,tms,gnd,tck,rst,这几个字,分别怎么对应接红,绿,黑,白,线
stm32·单片机·嵌入式硬件·学习·个人开发
小刘爱玩单片机4 小时前
【stm32协议外设篇】- HX1838 红外接收头
c语言·stm32·单片机·嵌入式硬件
小刘爱玩单片机4 小时前
【stm32协议外设篇】- DS18B20 单总线数字温度检测模块
c语言·stm32·单片机·嵌入式硬件
羽获飞4 小时前
从零开始学嵌入式之STM32——12.使用STM32普通引脚通过软件模拟实现I2C通讯协议
stm32·单片机·嵌入式硬件
LCG元4 小时前
嵌入式GUI设计:STM32F429+LVGL,智能仪表盘界面开发指南
驱动开发·stm32·嵌入式硬件
意法半导体STM324 小时前
【官方原创】使用GPDMA进行SPI LCD整屏传输 LAT1435
网络·stm32·单片机·嵌入式硬件·mcu·网络协议·stm32开发