diff -Naur rpm/tests/compatible/kabi/kabi.py oech/tests/compatible/kabi/kabi.py
--- rpm/tests/compatible/kabi/kabi.py	2024-06-04 15:27:10.013346551 +0800
+++ oech/tests/compatible/kabi/kabi.py	2024-06-04 15:30:53.001506902 +0800
@@ -121,8 +121,8 @@
         if product == "openEuler":
             standard_kernel_version = getoutput(
                 "dnf list --repo=source | grep '^kernel.src' | awk '{print $2}'")
-            self.command.run_cmd("dnf download --source kernel-%s"
-                                 % standard_kernel_version)
+            self.command.run_cmd("dnf download --source kernel-%s --downloaddir %s"
+                                 % (standard_kernel_version, rpmpath))
         elif product == "KylinSec":
             kylinsec_version = getoutput("cat /etc/dnf/vars/osversion | sed 's/[^0-9]//g'")
             kernel_dict = Document(CertEnv.kernelinfo, self.logger)
@@ -138,7 +138,7 @@
             self.logger.info("Currently, this system is not supported to test kabi,"
                              " Please add the corresponding system in kernelrelease.json.")
 
-        rpm = os.path.join("kernel-" + standard_kernel_version + ".src.rpm")
+        rpm = os.path.join(rpmpath, "kernel-" + standard_kernel_version + ".src.rpm")
         getoutput("rpm -ivh %s" % rpm)
         os.remove(rpm)
         return standard_symvers
diff -Naur rpm/tests/compatible/kabiwhitelist/kabi_check.sh oech/tests/compatible/kabiwhitelist/kabi_check.sh
--- rpm/tests/compatible/kabiwhitelist/kabi_check.sh	2024-06-04 15:27:10.013346551 +0800
+++ oech/tests/compatible/kabiwhitelist/kabi_check.sh	2024-06-04 15:29:30.189447349 +0800
@@ -19,6 +19,10 @@
 arch=`uname -m`
 url="https://gitee.com/src-openeuler/kernel/raw/$os_version/kabi_whitelist_$arch"
 wget $url
+# if get kabi_whitelist failed because of internet or other
+if [ ! -f $testdir"/kabi_whitelist_"$arch ]; then
+       cp /root/kabi_whitelist_$arch $testdir/
+fi
 kernel_version=`uname -r`
 symvers_gz="symvers-"$kernel_version".gz"
 cp /boot/$symvers_gz   /usr/share/oech/lib/tests/compatible/kabiwhitelist/test_log
@@ -103,6 +107,9 @@
 	if [ -f /root/$line ]; then
 		cp /root/$line  ./
 		echo $line >> dirth
+        else
+                echo "no ko or rpm file" >> nofile.txt
+                exit 0
 	fi
 done
 cat dirth|while read line;
diff -Naur rpm/tests/compatible/kabiwhitelist/kabiwhitelist.py oech/tests/compatible/kabiwhitelist/kabiwhitelist.py
--- rpm/tests/compatible/kabiwhitelist/kabiwhitelist.py	2024-06-04 15:27:10.013346551 +0800
+++ oech/tests/compatible/kabiwhitelist/kabiwhitelist.py	2024-06-04 15:30:38.354496369 +0800
@@ -46,6 +46,10 @@
         if ko_result[2] == 0:
             self.logger.error("Please configure the board information in the configuration file")
             return False
+        ko_file_result = self.command.run_cmd("ls %s/test_log/ | grep nofile" % kabi_whitelist_dir)
+        if ko_file_result[2] == 0:
+            self.logger.error("Please put ko or rpm file configured in the configuration file into the /root")
+            return False
         self.logger.info("Ko or rpm check complete")
 
         test_result = self.command.run_cmd("ls %s/test_log | grep change" % kabi_whitelist_dir)
diff -Naur rpm/tests/compatible/system/system.py oech/tests/compatible/system/system.py
--- rpm/tests/compatible/system/system.py	2024-06-04 15:27:10.019346555 +0800
+++ oech/tests/compatible/system/system.py	2024-06-04 15:32:25.527573326 +0800
@@ -94,6 +94,8 @@
             os_version = getoutput("cat /etc/os-release | grep -i version_id | awk -F = '{print $2}' | sed 's/[\"]//g'")
         elif product == "UOS":
             os_version = getoutput("cat /etc/os-release | grep -i version_id | awk -F = '{print $2}' | sed 's/[\"]//g'")
+        elif self.sysinfo.product is not None and self.sysinfo.get_version() is not None:
+            os_version = self.sysinfo.product + " " + self.sysinfo.get_version()
         else:
             self.logger.error("Failed to get os version info.")
         self.logger.info("OS Version: %s" % os_version, terminal_print=False)
@@ -115,6 +117,8 @@
             kernel_release = kernel_dict.document[product][os_version].split('/')[1].split('-')[0]
         elif product == "UOS":
             kernel_release = kernel_dict.document[product][os_version].split('/')[1].split('-')[0]
+        elif kernel_dict.document[product] is not None and kernel_dict.document[product][os_version] is not None:
+            kernel_release = kernel_dict.document[product][os_version]
         try:
             if kernel_release != self.sysinfo.kernel_version:
                 self.logger.error("Failed to check kernel %s GA status." %
