meta-digi-dey: add sysinfo package to dey-core packagegroup

sysinfo is a bash script which gathers all the relevant information
from a running system on a timestamped compressed file.

https://jira.digi.com/browse/DEL-2447

Signed-off-by: Victor Rubio Victor.RubioTorroba@digi.com
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This commit is contained in:
Victor Rubio 2016-06-02 20:04:31 +02:00 committed by Javier Viguera
parent 8361d98e5a
commit 0aa26fb70a
3 changed files with 231 additions and 0 deletions

View File

@ -39,6 +39,7 @@ RDEPENDS_${PN} = "\
modutils-initscripts \ modutils-initscripts \
netbase \ netbase \
os-release \ os-release \
sysinfo \
usbutils \ usbutils \
${VIRTUAL-RUNTIME_dev_manager} \ ${VIRTUAL-RUNTIME_dev_manager} \
${VIRTUAL-RUNTIME_init_manager} \ ${VIRTUAL-RUNTIME_init_manager} \

View File

@ -0,0 +1,15 @@
# Copyright (C) 2016 Digi International.
SUMMARY = "Digi's system info utility"
SECTION = "base"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
SRC_URI = "file://sysinfo"
S = "${WORKDIR}"
do_install() {
install -d ${D}${bindir}
install -m 0755 sysinfo ${D}${bindir}
}

View File

@ -0,0 +1,215 @@
#!/bin/sh
#===============================================================================
#
# sysinfo
#
# Copyright (C) 2016 by Digi International Inc.
# All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 as published by
# the Free Software Foundation.
#
#
# !Description: System information gather script
#
#===============================================================================
FW_PRINTENV="$(which fw_printenv)"
make_report(){
echo "--------------------------------------"
echo "- -"
echo "- Uptime -"
echo "- -"
echo "--------------------------------------"
echo ""
uptime
printf "\n\n"
echo "--------------------------------------"
echo "- -"
echo "- Kernel version -"
echo "- -"
echo "--------------------------------------"
echo ""
uname -a
printf "\n\n"
echo "--------------------------------------"
echo "- -"
echo "- OS release -"
echo "- -"
echo "--------------------------------------"
echo ""
if [ -f "/etc/os-release" ]; then
cat /etc/os-release
else
echo "[NOT FOUND] /etc/os-release"
fi
printf "\n\n"
echo "--------------------------------------"
echo "- -"
echo "- Build configurations -"
echo "- -"
echo "--------------------------------------"
echo ""
if [ -f "/etc/build" ]; then
cat /etc/build
else
echo "[NOT FOUND] /etc/build"
fi
printf "\n\n"
echo "--------------------------------------"
echo "- -"
echo "- U-boot saved environment -"
echo "- -"
echo "--------------------------------------"
echo ""
if [ -x "${FW_PRINTENV}" ]; then
${FW_PRINTENV}
else
echo "[NOT FOUND] fw_printenv"
fi
printf "\n\n"
echo "--------------------------------------"
echo "- -"
echo "- Linux boot log -"
echo "- -"
echo "--------------------------------------"
echo ""
dmesg
printf "\n\n"
echo "--------------------------------------"
echo "- -"
echo "- Log files from /var/log -"
echo "- -"
echo "--------------------------------------"
echo ""
for f in $(find /var/log/ -name *.log); do
echo "${f} FILE";
echo "---------------------------------------";
cat ${f};
printf "\n\n"
done
printf "\n\n"
echo "--------------------------------------"
echo "- -"
echo "- /var/log/messages -"
echo "- -"
echo "--------------------------------------"
echo ""
if [ -f "/var/log/messages" ]; then
cat /var/log/messages
else
echo "[NOT FOUND] /var/log/messages"
fi
printf "\n\n"
echo "--------------------------------------"
echo "- -"
echo "- Linux kernel configuration -"
echo "- -"
echo "--------------------------------------"
echo ""
if [ -f "/proc/config.gz" ]; then
zcat /proc/config.gz
else
echo "[NOT FOUND] /proc/config.gz"
fi
printf "\n\n"
echo "--------------------------------------"
echo "- -"
echo "- Memory consumption -"
echo "- -"
echo "--------------------------------------"
echo ""
free
printf "\n\n"
echo "--------------------------------------"
echo "- -"
echo "- Running processes -"
echo "- -"
echo "--------------------------------------"
echo ""
ps -l
printf "\n\n"
echo "--------------------------------------"
echo "- -"
echo "- Mounts -"
echo "- -"
echo "--------------------------------------"
echo ""
mount
printf "\n\n"
echo "--------------------------------------"
echo "- -"
echo "- Opened ports -"
echo "- -"
echo "--------------------------------------"
echo ""
netstat -n -l
printf "\n\n"
echo "--------------------------------------"
echo "- -"
echo "- Routes -"
echo "- -"
echo "--------------------------------------"
echo ""
route -n
printf "\n\n"
echo "--------------------------------------"
echo "- -"
echo "- Network configuration -"
echo "- -"
echo "--------------------------------------"
echo ""
ifconfig -a
printf "\n"
echo "-------------End of report------------"
}
DEY_VERSION="$(sed -ne 's,DISTRO_VERSION = \(.*\)$,\1,g;T;p' /etc/build)"
UBOOT_VERSION="$(strings /dev/mmcblk0boot0 | grep dub | cut -d' ' -f2)"
BOARD_VARIANT="$(cat /proc/device-tree/digi,hwid,variant)"
BOARD_SN="$(cat /proc/device-tree/digi,hwid,sn)"
BOARD_VERSION="$(cat /proc/device-tree/digi,carrierboard,version)"
BOARD_ID="$(cat /proc/device-tree/digi,carrierboard,id)"
DATE="$(date "+%Y%m%d%H%M%S")"
FILE="/tmp/sysinfo-${DEY_VERSION}-${BOARD_SN}-${DATE}.txt"
printf "\n\n"
(
echo "-------------------------------------"
echo "- -"
echo "- ENVIRONMENT TABLE -"
echo "- -"
echo "-------------------------------------"
echo ""
echo "||*Component*|*Version*"
echo "|| DUT | SN-${BOARD_SN}, CC6 ${BOARD_VARIANT} SBCv${BOARD_VERSION} board_ID=${BOARD_ID}."
echo "|| U-Boot | ${UBOOT_VERSION}"
echo "|| Firmware | ${DEY_VERSION}-$(cat /etc/version)"
echo "|| Kernel | $(uname -a)"
printf "\n\n"
) | tee ${FILE}
make_report >> ${FILE}
gzip ${FILE}
echo "Report generated in ${FILE}.gz"
printf "\n\n"