1*4882a593Smuzhiyunimport os 2*4882a593Smuzhiyunimport infra.basetest 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun 5*4882a593Smuzhiyunclass InitSystemBase(infra.basetest.BRTest): 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun def start_emulator(self, fs_type, kernel=None, dtb=None, init=None): 8*4882a593Smuzhiyun img = os.path.join(self.builddir, "images", "rootfs.{}".format(fs_type)) 9*4882a593Smuzhiyun infra.img_round_power2(img) 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun options = ["-drive", 12*4882a593Smuzhiyun "file={},if=sd,format=raw".format(img), 13*4882a593Smuzhiyun "-M", "vexpress-a9"] 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun if kernel is None: 16*4882a593Smuzhiyun kernel = "builtin" 17*4882a593Smuzhiyun else: 18*4882a593Smuzhiyun kernel = os.path.join(self.builddir, "images", kernel) 19*4882a593Smuzhiyun options.extend(["-dtb", os.path.join(self.builddir, "images", 20*4882a593Smuzhiyun "{}.dtb".format(dtb))]) 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun kernel_cmdline = ["root=/dev/mmcblk0", 23*4882a593Smuzhiyun "rootfstype={}".format(fs_type), 24*4882a593Smuzhiyun "rootwait", 25*4882a593Smuzhiyun "ro", 26*4882a593Smuzhiyun "console=ttyAMA0"] 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun if init is not None: 29*4882a593Smuzhiyun kernel_cmdline.extend(["init={}".format(init)]) 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun self.emulator.boot(arch="armv7", 32*4882a593Smuzhiyun kernel=kernel, 33*4882a593Smuzhiyun kernel_cmdline=kernel_cmdline, 34*4882a593Smuzhiyun options=options) 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun if init is None: 37*4882a593Smuzhiyun self.emulator.login() 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun def check_init(self, path): 40*4882a593Smuzhiyun cmd = "cmp /proc/1/exe {}".format(path) 41*4882a593Smuzhiyun self.assertRunOk(cmd) 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun def check_network(self, interface, exitCode=0): 44*4882a593Smuzhiyun cmd = "ip addr show {} |grep inet".format(interface) 45*4882a593Smuzhiyun _, exit_code = self.emulator.run(cmd) 46*4882a593Smuzhiyun self.assertEqual(exit_code, exitCode) 47