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

相关推荐
zxfly20131 小时前
STM32的DMA技术介绍
stm32·单片机·嵌入式硬件
CV金科6 小时前
蓝桥杯—STM32G431RBT6(IIC通信--EEPROM(AT24C02)存储器进行通信)
stm32·单片机·嵌入式硬件·算法·蓝桥杯
嵌入式详谈8 小时前
基于STM32的智能风扇控制系统设计
stm32·单片机·嵌入式硬件
小小怪大梦想8 小时前
RTC实时时钟
stm32·单片机·嵌入式硬件
水饺编程12 小时前
【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,1-2
linux·嵌入式硬件·fpga开发
电子科技圈12 小时前
IAR全面支持国科环宇AS32X系列RISC-V车规MCU
人工智能·嵌入式硬件·mcu·编辑器
逢生博客13 小时前
Rust 语言开发 ESP32C3 并在 Wokwi 电子模拟器上运行(esp-hal 非标准库、LCD1602、I2C)
开发语言·后端·嵌入式硬件·rust
打地基的小白16 小时前
UART通信—基于江科大源码基础进行的改进和解析
单片机·嵌入式硬件·uart通信·代码详解
黄小美32117 小时前
STM32(五)GPIO输入硬件电路及C语言知识复习
stm32·单片机·嵌入式硬件
py.鸽鸽17 小时前
STM32
stm32·单片机·嵌入式硬件