diff -Naur rpm/hwcompatible/common.py oech/hwcompatible/common.py
--- rpm/hwcompatible/common.py	2022-07-27 14:07:40.000000000 +0800
+++ oech/hwcompatible/common.py	2022-08-10 15:43:57.639706540 +0800
@@ -49,12 +49,9 @@
             test_name.append(test[NAME])
 
     total_count = len(test_suite)
-    if test_suite:
+    if total_count:
         logger.info("There are %s selected test suites: %s." %
                     (total_count, ", ".join(test_name)))
-    else:
-        logger.warning("No test found.")
-
     return test_suite
 
 
diff -Naur rpm/hwcompatible/compatibility.py oech/hwcompatible/compatibility.py
--- rpm/hwcompatible/compatibility.py	2022-07-27 14:07:40.000000000 +0800
+++ oech/hwcompatible/compatibility.py	2022-08-10 15:43:54.927706540 +0800
@@ -79,19 +79,23 @@
             job = Job(args)
             job.run()
             self.save(job)
-    
+
     def run_rebootup(self):
         """
-         rebootup
+        rebootup
         :return:
         """
         try:
+            if not os.path.exists(CertEnv.rebootfile):
+                return True
             self.load()
             test_suite = create_test_suite(self.test_factory, self.logger)
-            args = argparse.Namespace(test_factory=self.test_factory, test_suite=test_suite)
+            args = argparse.Namespace(
+                test_factory=self.test_factory, test_suite=test_suite)
             job = Job(args)
             reboot = Reboot(None, job, None)
-            if reboot.check():
+            if reboot.check(logger=self.logger):
+                job = reboot.job
                 job.run()
             reboot.clean()
             self.save(job)
@@ -123,7 +127,8 @@
         """
         os.makedirs(os.path.dirname(CertEnv.datadirectory), exist_ok=True)
         if not self.certification:
-            self.certification = CertDocument(CertEnv.certificationfile, self.logger)
+            self.certification = CertDocument(
+                CertEnv.certificationfile, self.logger)
             if not self.certification.document:
                 self.certification.new()
                 self.certification.save()
@@ -311,7 +316,12 @@
                     sort_devices[GPU].extend([device])
                 else:
                     sort_devices[GPU] = [device]
-                continue
+                if driver == "nvidia":
+                    if VGPU in sort_devices.keys():
+                        sort_devices[VGPU].extend([device])
+                    else:
+                        sort_devices[VGPU] = [device]
+                    continue
             if device.get_property("SUBSYSTEM") == "net" and \
                     device.get_property("INTERFACE"):
                 interface = device.get_property("INTERFACE")
@@ -513,4 +523,4 @@
         self.logger.info("%-6d" % device.num + device.run.ljust(8)
                          + "\033[0;3%sm%s  \033[0m" % (device.color, device.status.ljust(8))
                          + device.name.ljust(14) + device.device.ljust(15) + device.driver.ljust(15)
-                         + device.version.ljust(18) + device.chip.ljust(20) + device.board, log_print=False)
\ No newline at end of file
+                         + device.version.ljust(18) + device.chip.ljust(20) + device.board, log_print=False)
diff -Naur rpm/hwcompatible/reboot.py oech/hwcompatible/reboot.py
--- rpm/hwcompatible/reboot.py	2022-07-27 14:07:40.000000000 +0800
+++ oech/hwcompatible/reboot.py	2022-08-10 15:43:56.623706540 +0800
@@ -15,10 +15,10 @@
 import os
 import datetime
 import argparse
-from hwcompatible.document import Document, FactoryDocument
-from hwcompatible.env import CertEnv
-from hwcompatible.command import Command
-from hwcompatible.constants import *
+from .document import Document, FactoryDocument
+from .env import CertEnv
+from .command import Command, CertCommandError
+from .constants import *
 
 
 class Reboot:
@@ -46,8 +46,8 @@
             if test[RUN] and self.testname == test[NAME]:
                 test[REBOOT] = False
 
-        Command("rm -rf %s" % CertEnv.rebootfile).run(ignore_errors=True)
-        Command("systemctl disable oech").run(ignore_errors=True)
+        os.remove(CertEnv.rebootfile)
+        Command("systemctl disable oech").run()
 
     def setup(self, args=None):
         """
@@ -78,26 +78,27 @@
             self.logger.error("Save reboot doc failed.")
             return False
 
+        Command("systemctl daemon-reload").run()
         try:
-            Command("systemctl daemon-reload").run_quiet()
-            Command("systemctl enable oech").run_quiet()
-        except Exception:
-            self.logger.error("Enable oech.service failed.")
+            Command("systemctl enable oech").run()
+        except CertCommandError as certerror:
+            self.logger.error("Enable oech.service failed.\n %s" %
+                              certerror.print_errors())
             return False
 
         return True
 
-    def check(self):
+    def check(self, logger=None):
         """
         Reboot file check
         :return:
         """
-        doc = Document(CertEnv.rebootfile, self.logger)
+        if not logger:
+            logger = self.logger
 
-        if not os.path.exists(CertEnv.rebootfile):
-            return False
+        doc = Document(CertEnv.rebootfile, logger)
         if not doc.load():
-            self.logger.error("Reboot file load failed.")
+            logger.error("Reboot file load failed.")
             return False
 
         try:
@@ -108,8 +109,15 @@
             self.job.subtests_filter = self.reboot["rebootup"]
             time_reboot = datetime.datetime.strptime(
                 self.reboot["time"], "%Y%m%d%H%M%S")
+            test_suite = self.job.test_suite
+            reboot_suite = []
+            for testcase in test_suite:
+                if testcase[NAME] == self.reboot["test"]:
+                    reboot_suite.append(testcase)
+                    break
+            self.job.test_suite = reboot_suite
         except Exception:
-            self.logger.error("Reboot file format not as expect.")
+            logger.error("Reboot file format not as expect.")
             return False
 
         time_now = datetime.datetime.now()
@@ -118,7 +126,8 @@
         reboot_list = cmd.get_str(
             "^reboot .*$", single_line=False, return_list=True)
         if len(reboot_list) != 1:
-            self.logger.error("Reboot times check failed.")
+            logger.error("Reboot times check failed.")
             return False
 
+        logger.info("Reboot time check : %s" % reboot_list)
         return True
