From: Cleber Rosa <crosa@redhat.com>
To: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
"Zoltán Baldaszti" <bztemail@gmail.com>,
"Laurent Bonnans" <laurent.bonnans@here.com>,
"Alistair Francis" <alistair@alistair23.me>,
qemu-devel@nongnu.org,
"Andrew Baumann" <Andrew.Baumann@microsoft.com>,
"Esteban Bosse" <estebanbosse@gmail.com>,
qemu-arm@nongnu.org,
"Clement Deschamps" <clement.deschamps@antfield.fr>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Cheng Xiang" <ext-cheng.xiang@here.com>,
"Philippe Mathieu-Daudé" <philmd@redhat.com>,
"Pekka Enberg" <penberg@iki.fi>,
"Guenter Roeck" <linux@roeck-us.net>,
"Eduardo Habkost" <ehabkost@redhat.com>
Subject: Re: [PATCH 18/19] tests/boot_linux_console: Boot Linux and run few commands on raspi3
Date: Wed, 9 Oct 2019 12:12:32 -0400 [thread overview]
Message-ID: <20191009161232.GE30349@localhost.localdomain> (raw)
In-Reply-To: <20190926173428.10713-19-f4bug@amsat.org>
On Thu, Sep 26, 2019 at 07:34:26PM +0200, Philippe Mathieu-Daudé wrote:
> Add a test which boots Linux and run basic commands using the serial
> port console.
>
> The kernel image is built by the Debian project:
> https://wiki.debian.org/RaspberryPi
>
> The DeviceTree blob comes from the official Raspberry Pi project:
> https://www.raspberrypi.org/
>
> The cpio image used comes from the linux-build-test project:
> https://github.com/groeck/linux-build-test
>
> This test can be run using:
>
> $ avocado run --show=console,app run -t machine:raspi3 tests/acceptance
> console: [ 0.000000] Linux version 4.14.0-3-arm64 (debian-kernel@lists.debian.org) (gcc version 7.2.0 (Debian 7.2.0-18)) #1 SMP Debian 4.14.12-2 (2018-01-06)
> console: [ 0.000000] Boot CPU: AArch64 Processor [410fd034]
> console: [ 0.000000] Machine model: Raspberry Pi 3 Model B
> console: [ 0.000000] earlycon: pl11 at MMIO 0x000000003f201000 (options '')
> console: [ 0.000000] bootconsole [pl11] enabled
> [...]
> console: Starting network: OK
> console: Found console ttyAMA0
> console: Boot successful.
> console: / # cat /proc/cpuinfo
> console: processor : 0
> console: BogoMIPS : 125.00
> console: r : 0x41
> console: CPU architecture: 8
> console: CPU variant
> console: : 0x0
> console: CPU part : 0xd03
> console: CPU revision : 4
> console: / # uname -a
> console: Linux buildroot 4.14.0-3-arm64 #1 SMP Debian 4.14.12-2 (2018-01-06) aarch64 GNU/Linux
> console: reboot
> console: / # reboot
> console: / # Found console ttyAMA0
> console: Stopping network: OK
> console: Saving random seed... done.
> console: Stopping logging: OK
> console: umount: devtmpfs busy - remounted read-only
> console: umount: can't unmount /: Invalid argument
> console: The system is going down NOW!
> console: Sent SIGTERM to all processes
> console: Sent SIGKILL to all processes
> console: Requesting system reboot
> console: kvm: exiting hardware virtualization
> console: reboot: Restarting system
> PASS (11.08 s)
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> some chars are scrambled on the console...
> ---
> tests/acceptance/boot_linux_console.py | 47 ++++++++++++++++++++++++++
> 1 file changed, 47 insertions(+)
>
> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
> index 33e8f6c635..2a1a23763e 100644
> --- a/tests/acceptance/boot_linux_console.py
> +++ b/tests/acceptance/boot_linux_console.py
> @@ -363,6 +363,53 @@ class BootLinuxConsole(Test):
> """
> self.do_test_arm_raspi2(1)
>
> + def test_arm_raspi3_initrd_uart0(self):
> + """
> + :avocado: tags=arch:aarch64
> + :avocado: tags=machine:raspi3
> + """
> + deb_url = ('https://snapshot.debian.org/archive/debian/'
> + '20180106T174014Z/pool/main/l/linux/'
> + 'linux-image-4.14.0-3-arm64_4.14.12-2_arm64.deb')
> + deb_hash = 'e71c995de57921921895c1162baea5df527d1c6b'
> + deb_path = self.fetch_asset(deb_url, asset_hash=deb_hash)
> + kernel_path = self.extract_from_deb(deb_path,
> + '/boot/vmlinuz-4.14.0-3-arm64')
> +
> + dtb_url = ('https://github.com/raspberrypi/firmware/raw/'
> + '1.20180313/boot/bcm2710-rpi-3-b.dtb')
> + dtb_hash = 'eb14d67133401ef2f93523be7341456d38bfc077'
> + dtb_path = self.fetch_asset(dtb_url, asset_hash=dtb_hash)
> +
> + initrd_url = ('https://github.com/groeck/linux-build-test/raw/'
> + '9b6b392ea7bc15f0d6632328d429d31c9c6273da/rootfs/'
> + 'arm64/rootfs.cpio.gz')
> + initrd_hash = '6fd05324f17bb950196b5ad9d3a0fa996339f4cd'
> + initrd_path_gz = self.fetch_asset(initrd_url, asset_hash=initrd_hash)
> + initrd_path = self.workdir + "rootfs.cpio"
> + gunzip(initrd_path_gz, initrd_path)
> +
> + self.vm.set_machine('raspi3')
> + self.vm.set_console()
> + kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
> + 'earlycon=pl011,0x3f201000 console=ttyAMA0 ' +
> + '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.')
> +
> + self.exec_command_and_wait_for_pattern('cat /proc/cpuinfo',
> + 'BogoMIPS')
> + self.exec_command_and_wait_for_pattern('uname -a',
> + 'Debian')
> + self.exec_command_and_wait_for_pattern('reboot',
> + 'reboot: Restarting system')
> +
> def test_s390x_s390_ccw_virtio(self):
> """
> :avocado: tags=arch:s390x
> --
> 2.20.1
>
Reviewed-by: Cleber Rosa <crosa@redhat.com>
And even though you mentioned some trouble with the console, I've run
this 100 times and had no issues that disturbed the test, so:
Tested-by: Cleber Rosa <crosa@redhat.com>
next prev parent reply other threads:[~2019-10-09 19:53 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-26 17:34 [PATCH 00/19] hw/arm/raspi: Improve Raspberry Pi 2/3 reliability Philippe Mathieu-Daudé
2019-09-26 17:34 ` [PATCH 01/19] hw/arm/raspi: Use the IEC binary prefix definitions Philippe Mathieu-Daudé
2019-09-27 21:36 ` Alistair Francis
2019-10-08 8:57 ` Alex Bennée
2019-10-09 0:26 ` Cleber Rosa
2019-09-26 17:34 ` [PATCH 02/19] hw/arm/bcm2835_peripherals: Improve logging Philippe Mathieu-Daudé
2019-09-27 21:37 ` Alistair Francis
2019-10-08 9:00 ` Alex Bennée
2019-10-09 1:28 ` Cleber Rosa
2019-09-26 17:34 ` [PATCH 03/19] hw/arm/bcm2835_peripherals: Name various address spaces Philippe Mathieu-Daudé
2019-09-27 21:38 ` Alistair Francis
2019-10-08 9:04 ` Alex Bennée
2019-10-09 1:48 ` Cleber Rosa
2019-09-26 17:34 ` [PATCH 04/19] hw/arm/bcm2835: Rename some definitions Philippe Mathieu-Daudé
2019-09-27 21:40 ` Alistair Francis
2019-10-08 10:40 ` Alex Bennée
2019-09-26 17:34 ` [PATCH 05/19] hw/arm/bcm2835: Add various unimplemented peripherals Philippe Mathieu-Daudé
2019-09-27 21:42 ` Alistair Francis
2019-10-08 9:43 ` Philippe Mathieu-Daudé
2019-10-11 21:55 ` Alistair Francis
2019-10-08 11:09 ` Alex Bennée
2019-09-26 17:34 ` [PATCH 06/19] hw/char/bcm2835_aux: Add trace events Philippe Mathieu-Daudé
2019-10-08 11:22 ` Alex Bennée
2019-10-14 15:36 ` Peter Maydell
2019-10-14 16:03 ` Philippe Mathieu-Daudé
2019-09-26 17:34 ` [PATCH 07/19] hw/misc/bcm2835_mbox: " Philippe Mathieu-Daudé
2019-10-08 11:32 ` Alex Bennée
2019-10-08 11:38 ` Philippe Mathieu-Daudé
2019-09-26 17:34 ` [PATCH 08/19] hw/misc/bcm2835_thermal: Add a dummy BCM2835 thermal sensor Philippe Mathieu-Daudé
2019-10-08 11:36 ` Alex Bennée
2019-10-08 11:42 ` Philippe Mathieu-Daudé
2019-10-14 15:37 ` Peter Maydell
2019-10-14 16:05 ` Philippe Mathieu-Daudé
2019-09-26 17:34 ` [PATCH 09/19] hw/arm/bcm2835_peripherals: Use the thermal sensor block Philippe Mathieu-Daudé
2019-09-27 21:51 ` Alistair Francis
2019-09-26 17:34 ` [PATCH 10/19] hw/timer/bcm2835: Add the BCM2835 SYS_timer Philippe Mathieu-Daudé
2019-10-08 14:52 ` Alex Bennée
2019-10-08 14:53 ` Philippe Mathieu-Daudé
2019-10-09 11:06 ` Philippe Mathieu-Daudé
2019-09-26 17:34 ` [PATCH 11/19] hw/arm/bcm2835_peripherals: Use the SYS_timer Philippe Mathieu-Daudé
2019-10-08 15:22 ` Alex Bennée
2019-10-09 7:39 ` Philippe Mathieu-Daudé
2019-09-26 17:34 ` [PATCH 12/19] hw/arm/bcm2835_peripherals: Add Clock/Power/Reset Manager blocks Philippe Mathieu-Daudé
2019-10-01 9:51 ` Philippe Mathieu-Daudé
2019-10-07 17:23 ` Philippe Mathieu-Daudé
2019-09-26 17:34 ` [PATCH 13/19] hw/arm/raspi: Define various blocks base addresses Philippe Mathieu-Daudé
2019-10-08 15:32 ` Alex Bennée
2019-09-26 17:34 ` [PATCH 14/19] python/qemu/machine: Allow to use other serial consoles than default Philippe Mathieu-Daudé
2019-09-27 12:54 ` bzt
2019-09-27 13:26 ` Guenter Roeck
2019-09-27 13:36 ` Peter Maydell
2019-09-27 14:44 ` Philippe Mathieu-Daudé
2019-10-09 15:28 ` Cleber Rosa
2019-09-26 17:34 ` [PATCH 15/19] tests/boot_linux_console: Extract the gunzip() helper Philippe Mathieu-Daudé
2019-10-08 15:33 ` Alex Bennée
2019-10-09 15:31 ` Cleber Rosa
2019-10-24 9:23 ` Esteban Bosse
2019-09-26 17:34 ` [PATCH 16/19] tests/boot_linux_console: Add a test for the Raspberry Pi 2 Philippe Mathieu-Daudé
2019-10-08 15:34 ` Alex Bennée
2019-10-09 15:43 ` Cleber Rosa
2019-10-09 15:43 ` Cleber Rosa
2019-09-26 17:34 ` [PATCH 17/19] tests/boot_linux_console: Test the raspi2 UART1 (16550 based) Philippe Mathieu-Daudé
2019-10-08 15:35 ` Alex Bennée
2019-10-09 15:54 ` Cleber Rosa
2019-09-26 17:34 ` [PATCH 18/19] tests/boot_linux_console: Boot Linux and run few commands on raspi3 Philippe Mathieu-Daudé
2019-10-09 16:12 ` Cleber Rosa [this message]
2019-10-09 16:21 ` Philippe Mathieu-Daudé
2019-09-26 17:34 ` [PATCH 19/19] tests/boot_linux_console: Test SDHCI and termal sensor " Philippe Mathieu-Daudé
2019-10-09 16:23 ` Cleber Rosa
2019-09-26 20:32 ` [PATCH 00/19] hw/arm/raspi: Improve Raspberry Pi 2/3 reliability BALATON Zoltan
2019-09-27 8:50 ` Philippe Mathieu-Daudé
2019-10-14 15:45 ` Peter Maydell
2019-10-14 16:07 ` Philippe Mathieu-Daudé
2019-10-16 9:57 ` Bonnans, Laurent
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191009161232.GE30349@localhost.localdomain \
--to=crosa@redhat.com \
--cc=Andrew.Baumann@microsoft.com \
--cc=alistair@alistair23.me \
--cc=bztemail@gmail.com \
--cc=clement.deschamps@antfield.fr \
--cc=ehabkost@redhat.com \
--cc=estebanbosse@gmail.com \
--cc=ext-cheng.xiang@here.com \
--cc=f4bug@amsat.org \
--cc=laurent.bonnans@here.com \
--cc=linux@roeck-us.net \
--cc=marcandre.lureau@redhat.com \
--cc=pbonzini@redhat.com \
--cc=penberg@iki.fi \
--cc=peter.maydell@linaro.org \
--cc=philmd@redhat.com \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).