| # Test class to boot aspeed machines |
| # |
| # SPDX-License-Identifier: GPL-2.0-or-later |
| |
| from qemu_test import exec_command_and_wait_for_pattern |
| from qemu_test import LinuxKernelTest |
| |
| class AspeedTest(LinuxKernelTest): |
| |
| def do_test_arm_aspeed_openbmc(self, machine, image, uboot='2019.04', |
| cpu_id='0x0', soc='AST2500 rev A1', |
| image_hostname=None): |
| # Allow for the image hostname to not end in "-bmc" |
| if image_hostname is not None: |
| hostname = image_hostname |
| else: |
| hostname = machine.removesuffix('-bmc') |
| |
| self.set_machine(machine) |
| self.vm.set_console() |
| self.vm.add_args('-drive', f'file={image},if=mtd,format=raw', |
| '-snapshot') |
| self.vm.launch() |
| |
| self.wait_for_console_pattern(f'U-Boot {uboot}') |
| self.wait_for_console_pattern('## Loading kernel from FIT Image') |
| self.wait_for_console_pattern('Starting kernel ...') |
| self.wait_for_console_pattern(f'Booting Linux on physical CPU {cpu_id}') |
| self.wait_for_console_pattern(f'ASPEED {soc}') |
| self.wait_for_console_pattern('/init as init process') |
| self.wait_for_console_pattern(f'systemd[1]: Hostname set to <{hostname}>.') |
| |
| def do_test_arm_aspeed_buildroot_start(self, image, cpu_id, pattern='Aspeed EVB'): |
| self.require_netdev('user') |
| self.vm.set_console() |
| self.vm.add_args('-drive', 'file=' + image + ',if=mtd,format=raw,read-only=true', |
| '-net', 'nic', '-net', 'user') |
| self.vm.launch() |
| |
| self.wait_for_console_pattern('U-Boot 2019.04') |
| self.wait_for_console_pattern('## Loading kernel from FIT Image') |
| self.wait_for_console_pattern('Starting kernel ...') |
| self.wait_for_console_pattern('Booting Linux on physical CPU ' + cpu_id) |
| self.wait_for_console_pattern('lease of 10.0.2.15') |
| # the line before login: |
| self.wait_for_console_pattern(pattern) |
| exec_command_and_wait_for_pattern(self, 'root', 'Password:') |
| exec_command_and_wait_for_pattern(self, 'passw0rd', '#') |
| |
| def do_test_arm_aspeed_buildroot_poweroff(self): |
| exec_command_and_wait_for_pattern(self, 'poweroff', |
| 'System halted') |
| |
| def do_test_arm_aspeed_sdk_start(self, image): |
| self.require_netdev('user') |
| self.vm.set_console() |
| self.vm.add_args('-drive', 'file=' + image + ',if=mtd,format=raw', |
| '-net', 'nic', '-net', 'user', '-snapshot') |
| self.vm.launch() |
| |
| self.wait_for_console_pattern('U-Boot 2019.04') |
| self.wait_for_console_pattern('## Loading kernel from FIT Image') |
| self.wait_for_console_pattern('Starting kernel ...') |