[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 13/17] tests/boot_linux_console: Add a quick test for the

From: Philippe Mathieu-Daudé
Subject: Re: [PATCH v3 13/17] tests/boot_linux_console: Add a quick test for the OrangePi PC board
Date: Sat, 18 Jan 2020 12:22:19 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2

On 1/8/20 9:00 PM, Niek Linnenbank wrote:
From: Philippe Mathieu-Daudé <address@hidden>

This test boots a Linux kernel on a OrangePi PC board and verify
the serial output is working.

The kernel image and DeviceTree blob are built by the Armbian
project (based on Debian):

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:

   $ make check-venv
   $ ./tests/venv/bin/avocado --show=console,app run -t machine:orangepi-pc 
   JOB ID     : 2e4d15eceb13c33672af406f08171e6e9de1414a
   JOB LOG    : ~/job-results/job-2019-12-17T05.46-2e4d15e/job.log
   console: Uncompressing Linux... done, booting the kernel.
   console: Booting Linux on physical CPU 0x0
   console: 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 [410fc075] revision 5 (ARMv7), cr=50c5387d
   console: CPU: div instructions available: patching division code
   console: CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction 
   console: OF: fdt: Machine model: Xunlong Orange Pi PC
   console: Memory policy: Data cache writealloc
   console: OF: reserved mem: failed to allocate memory for node 'cma@4a000000'
   console: cma: Failed to reserve 128 MiB
   console: psci: probing for conduit method from DT.
   console: psci: PSCIv0.2 detected in firmware.
   console: psci: Using standard PSCI v0.2 function IDs
   console: psci: Trusted OS migration not required
   console: random: get_random_bytes called from start_kernel+0x8d/0x3c2 with 
   console: percpu: Embedded 18 pages/cpu @(ptrval) s41228 r8192 d24308 u73728
   console: Built 1 zonelists, mobility grouping on.  Total pages: 32480
   console: Kernel command line: printk.time=0 console=ttyS0,115200
   PASS (8.59 s)
   JOB TIME   : 8.81 s

Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
[NL: rename in commit message Raspbian to Armbian]
Signed-off-by: Niek Linnenbank <address@hidden>
  tests/acceptance/boot_linux_console.py | 26 ++++++++++++++++++++++++++
  1 file changed, 26 insertions(+)

diff --git a/tests/acceptance/boot_linux_console.py 
index 9c6aa2040a..b58308d724 100644
--- a/tests/acceptance/boot_linux_console.py
+++ b/tests/acceptance/boot_linux_console.py
@@ -400,6 +400,32 @@ class BootLinuxConsole(Test):
          self.wait_for_console_pattern('Boot successful.')
          # TODO user command, for now the uart is stuck
+ def test_arm_orangepi(self):
+        """
+        :avocado: tags=arch:arm
+        :avocado: tags=machine:orangepi-pc
+        """
+        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/sun8i-h3-orangepi-pc.dtb'
+        dtb_path = self.extract_from_deb(deb_path, dtb_path)
+        self.vm.set_machine('orangepi-pc')

Please remove the vm.set_machine() calls.

+        self.vm.set_console()
+        kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
+                               'console=ttyS0,115200n8 '
+                               'earlycon=uart,mmio32,0x1c28000')
+        self.vm.add_args('-kernel', kernel_path,
+                         '-dtb', dtb_path,
+                         '-append', kernel_command_line)
+        self.vm.launch()
+        console_pattern = 'Kernel command line: %s' % kernel_command_line
+        self.wait_for_console_pattern(console_pattern)
      def test_s390x_s390_ccw_virtio(self):
          :avocado: tags=arch:s390x

reply via email to

[Prev in Thread] Current Thread [Next in Thread]