Commit 7a9822e6 authored by liumg's avatar liumg
Browse files

Update system_check.sh

add board_check/pcie_speed_check
parent ad46ba80
......@@ -52,9 +52,27 @@ done
: ${LOG_SIZE_LIMIT:=$DEFAULT_LOG_SIZE_LIMIT}
init_check() {
local pkgs_debian=(dmidecode lshw pciutils numactl-devel)
local pkgs_centos=(dmidecode lshw pciutils numactl-dev)
local cmd=(dmidecode lshw lspci numactl )
for ((i=0; i<${#cmd[@]; i++})); do
if ! command -v $cmd[i] &>/dev/null; then
if command -v apt-get &>/dev/null; then
echo "没有$cmd[i] 命令,请先安装$pkgs_debian[i]"
apt-get install -y pciutils
elif command -v yum &>/dev/null; then
echo "没有$cmd[i] 命令,请先安装$pkgs_centos[i]"
yum install -y pciutils
fi
fi
done
}
declare -A devices_id=(
["z100"]="54b7"
["Z100"]="54b7"
["Z100L"]="55b7"
["K100"]="62b7"
["K100-AI"]="6210"
......@@ -66,7 +84,7 @@ declare -A devices_id=(
declare -A devices
for name in "${!devices_id[@]}"; do
id="${devices_id[$name]}"
devices["${id}"]+=" $name" # 统一转大写处理
devices["${id}"]+=" $name"
done
get_dcu() {
......@@ -269,7 +287,7 @@ analyze_regions() {
fi
if [[ "$address" == "<ignored>" ]]; then
echo "[ERROR] 获取不到bar地址"
echo " 修复建议:检查/proc/cmdline是否包含'pcie=realloc'配置"
echo "修复建议:检查/proc/cmdline是否包含'pcie=realloc'配置"
grep -q "pcie=realloc" /proc/cmdline || echo " 当前配置:$(cat /proc/cmdline)"
return 3
fi
......@@ -305,7 +323,7 @@ sme_check() {
echo "OS SME目前没有打开, 非CSV场景下,该状态正常"
fi
}
# 驱动安装位置定位
kernel_check() {
# 当前kernel版本
kernel_version=`uname -r`
......@@ -318,6 +336,8 @@ kernel_check() {
echo "你的内核可能有所变更,检查下环境是否是多个内核"
fi
}
# 驱动
# 分析错误信息
analyze_errors() {
......@@ -343,11 +363,9 @@ analyze_errors() {
## 标准化提示信息格式
head_normal() {
echo
echo "########$1########"
echo "\n########$1########"
}
# 主流程
main() {
hline && echo
......@@ -356,17 +374,22 @@ main() {
collect_logs
#analyze_errors
get_pcie_info
echo
echo "### 日志分析 ###"
hline && echo
echo "\n### 日志分析 ###"
hline
head_normal "分析pcie信息"
pcie_check $OUTPUT_DIR/pcie_info.log
head_normal "分析sme信息"
sme_check $OUTPUT_DIR/dmesg.log
head_normal 分析驱动安装位置
head_normal "分析驱动安装位置"
kernel_check
./driver_load_check.sh > $OUTPUT_DIR/driver_status.log
./board_check.sh > $OUTPUT_DIR/board_check.log
product_name=`dmidecode -s system-product-name`
if [ "$product_name" != "X785-H30" ]; then
./pcie_speed_check.sh > $OUTPUT_DIR/pcie_speek_check.log
fi
local status=$?
# 打包结果
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment