当前位置: 首页 > 工具软件 > estuary > 使用案例 >

test-definitions/blob/estuary-dev/ubuntu/scripts/acpi-check.sh

羊舌琛
2023-12-01
#! /bin/sh

DSDTPASS=
#通过echo输出log 并换行
echo -n "Testing presence of /sys/firmware/acpi: "
#检查是否存在/sys/firmware/acpi 这个目录
if [ -d /sys/firmware/acpi ]; then
	echo PASS
else
	echo FAIL
fi

echo -n "Testing presence of /sys/firmware/acpi/tables/DSDT: "
#检查是否存在这个文件/sys/firmware/acpi/tables/DSDT
if [ -f /sys/firmware/acpi/tables/DSDT ]; then
	#输出PASS,并给DSDTPASS 赋值
	echo PASS
	DSDTPASS=pass
else
	echo FAIL
fi

echo -n "Can decompile DSDT: "
#-x 检查/usr/bin/iasl 是个可以执行,-a 表示and -n 表示DSDTPASS 不为null
if [ -x /usr/bin/iasl -a -n "$DSDTPASS" ]; then
	#copy 文件到目录
	cp /sys/firmware/acpi/tables/DSDT /tmp/
	#用飘键得到执行的结果,这里是反汇编DSDT表
	ERROR=`/usr/bin/iasl -d /tmp/DSDT 2>&1 | grep DSDT.dsl`
	#判断反汇编的结果是否为null
	if [ -n "$ERROR" ]; then
		echo PASS
	else
		echo FAIL
	fi
	#删除临时文件
	rm /tmp/DSDT /tmp/DSDT.dsl
else
	echo SKIP
fi

 类似资料: