|
From: | Wainer dos Santos Moschetta |
Subject: | Re: [PATCH 1/6] tests/boot_linux_console: Add initrd test for the CubieBoard |
Date: | Fri, 3 Jan 2020 11:31:08 -0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 |
On 12/31/19 9:41 AM, Philippe Mathieu-Daudé wrote:
On 12/30/19 9:52 PM, Wainer dos Santos Moschetta wrote:On 12/30/19 9:09 AM, Philippe Mathieu-Daudé wrote:This test boots a Linux kernel on a CubieBoard and verify the serial output is working. The kernel image and DeviceTree blob are built by the Armbian project (based on Debian): https://docs.armbian.com/Developer-Guide_Build-Preparation/ The cpio image used comes from the linux-build-test project: https://github.com/groeck/linux-build-test If ARM is a target being built, "make check-acceptance" will automatically include this test by the use of the "arch:arm" tags. Alternatively, this test can be run using:$ avocado --show=console run -t machine:cubieboard tests/acceptance/boot_linux_console.pyconsole: Uncompressing Linux... done, booting the kernel. console: Booting Linux on physical CPU 0x0console: Linux version 4.20.7-sunxi (address@hidden) (gcc version 7.2.1 20171011 (Linaro GCC 7.2-2017.11)) #5.75 SMP Fri Feb 8 09:02:10 CET 2019 console: CPU: ARMv7 Processor [410fc080] revision 0 (ARMv7), cr=50c5387d console: CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cacheconsole: OF: fdt: Machine model: Cubietech Cubieboard [...] console: Boot successful. console: cat /proc/cpuinfo console: / # cat /proc/cpuinfo console: processor : 0 console: model name : ARMv7 Processor rev 0 (v7l) console: BogoMIPS : 832.51 [...] console: Hardware : Allwinner sun4i/sun5i Families console: Revision : 0000 console: Serial : 0000000000000000 console: cat /proc/iomem console: / # cat /proc/iomem console: 01c00000-01c0002f : system-control@1c00000 console: 01c02000-01c02fff : dma-controller@1c02000 console: 01c05000-01c05fff : spi@1c05000 console: 01c0b080-01c0b093 : mdio@1c0b080 console: 01c0c000-01c0cfff : lcd-controller@1c0c000 console: 01c0d000-01c0dfff : lcd-controller@1c0d000 console: 01c0f000-01c0ffff : mmc@1c0f000 [...] PASS (54.35 s) Signed-off-by: Philippe Mathieu-Daudé <address@hidden> ---tests/acceptance/boot_linux_console.py | 41 ++++++++++++++++++++++++++1 file changed, 41 insertions(+)diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.pyindex 9c6aa2040a..4643f60e37 100644 --- a/tests/acceptance/boot_linux_console.py +++ b/tests/acceptance/boot_linux_console.py @@ -400,6 +400,47 @@ class BootLinuxConsole(Test): self.wait_for_console_pattern('Boot successful.') # TODO user command, for now the uart is stuck + def test_arm_cubieboard_initrd(self):Unless you have two tests, one with and without initrd (not the case though) the suffix '_initrd' is useless. So I suggest to remove it.The next patch adds a SD card test: https://www.mail-archive.com/address@hidden/msg667628.htmlIf one developer has other tests in progress, but one done, I think it might sense to add the full test name when the first patch is merged, so next tests don't have to modify the first test name.
That's right. Disregard my comment. - Wainer
+ """ + :avocado: tags=arch:arm + :avocado: tags=machine:cubieboard + """ + deb_url = ('https://apt.armbian.com/pool/main/l/' + 'linux-4.20.7-sunxi/linux-image-dev-sunxi_5.75_armhf.deb') + deb_hash = '1334c29c44d984ffa05ed10de8c3361f33d78315' + deb_path = self.fetch_asset(deb_url, asset_hash=deb_hash) + kernel_path = self.extract_from_deb(deb_path, + '/boot/vmlinuz-4.20.7-sunxi')+ dtb_path = '/usr/lib/linux-image-dev-sunxi/sun4i-a10-cubieboard.dtb'+ dtb_path = self.extract_from_deb(deb_path, dtb_path)+ initrd_url = ('https://github.com/groeck/linux-build-test/raw/'+ '2eb0a73b5d5a28df3170c546ddaaa9757e1e0848/rootfs/' + 'arm/rootfs-armv5.cpio.gz') + initrd_hash = '2b50f1873e113523967806f4da2afe385462ff9b'+ initrd_path_gz = self.fetch_asset(initrd_url, asset_hash=initrd_hash)+ initrd_path = os.path.join(self.workdir, 'rootfs.cpio') + archive.gzip_uncompress(initrd_path_gz, initrd_path) + + self.vm.set_console() + kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE + + 'console=ttyS0,115200 ' + 'usbcore.nousb ' + 'panic=-1 noreboot') + self.vm.add_args('-kernel', kernel_path, + '-dtb', dtb_path, + '-initrd', initrd_path, + '-append', kernel_command_line, + '-no-reboot') + self.vm.launch() + self.wait_for_console_pattern('Boot successful.') + + exec_command_and_wait_for_pattern(self, 'cat /proc/cpuinfo',+ 'Allwinner sun4i/sun5i')+ exec_command_and_wait_for_pattern(self, 'cat /proc/iomem', + 'system-control@1c00000') + exec_command_and_wait_for_pattern(self, 'reboot',+ 'reboot: Restarting system')I ran this test case with success, so: Tested-by: Wainer dos Santos Moschetta <address@hidden>Thanks Wainer!With the comment regarding the _initrd suffix: Reviewed-by: Wainer dos Santos Moschetta <address@hidden>+ def test_s390x_s390_ccw_virtio(self): """ :avocado: tags=arch:s390x
[Prev in Thread] | Current Thread | [Next in Thread] |