From: Philippe Mathieu-Daudé <f4bug@amsat.org>
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):
https://www.armbian.com/orange-pi-pc/
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 tests/acceptance/boot_linux_console.py
JOB ID : 2e4d15eceb13c33672af406f08171e6e9de1414a
JOB LOG : ~/job-results/job-2019-12-17T05.46-2e4d15e/job.log
(1/1) tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_arm_orangepi:
console: Uncompressing Linux... done, booting the kernel.
console: Booting Linux on physical CPU 0x0
console: Linux version 4.20.7-sunxi (root@armbian.com) (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 cache
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 crng_init=0
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é <f4bug@amsat.org>
[NL: rename in commit message Raspbian to Armbian]
Signed-off-by: Niek Linnenbank <nieklinnenbank@gmail.com>
---
tests/acceptance/boot_linux_console.py | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/tests/acceptance/boot_linux_console.py b/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')
+ 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
--
2.17.1
On 1/8/20 9:00 PM, Niek Linnenbank wrote:
> From: Philippe Mathieu-Daudé <f4bug@amsat.org>
>
> 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):
> https://www.armbian.com/orange-pi-pc/
>
> 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 tests/acceptance/boot_linux_console.py
> JOB ID : 2e4d15eceb13c33672af406f08171e6e9de1414a
> JOB LOG : ~/job-results/job-2019-12-17T05.46-2e4d15e/job.log
> (1/1) tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_arm_orangepi:
> console: Uncompressing Linux... done, booting the kernel.
> console: Booting Linux on physical CPU 0x0
> console: Linux version 4.20.7-sunxi (root@armbian.com) (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 cache
> 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 crng_init=0
> 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é <f4bug@amsat.org>
> [NL: rename in commit message Raspbian to Armbian]
> Signed-off-by: Niek Linnenbank <nieklinnenbank@gmail.com>
> ---
> tests/acceptance/boot_linux_console.py | 26 ++++++++++++++++++++++++++
> 1 file changed, 26 insertions(+)
>
> diff --git a/tests/acceptance/boot_linux_console.py b/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
>
On Sat, Jan 18, 2020 at 12:22 PM Philippe Mathieu-Daudé <philmd@redhat.com>
wrote:
> On 1/8/20 9:00 PM, Niek Linnenbank wrote:
> > From: Philippe Mathieu-Daudé <f4bug@amsat.org>
> >
> > 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):
> > https://www.armbian.com/orange-pi-pc/
> >
> > 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 tests/acceptance/boot_linux_console.py
> > JOB ID : 2e4d15eceb13c33672af406f08171e6e9de1414a
> > JOB LOG : ~/job-results/job-2019-12-17T05.46-2e4d15e/job.log
> > (1/1)
> tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_arm_orangepi:
> > console: Uncompressing Linux... done, booting the kernel.
> > console: Booting Linux on physical CPU 0x0
> > console: Linux version 4.20.7-sunxi (root@armbian.com) (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 cache
> > 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 crng_init=0
> > 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é <f4bug@amsat.org>
> > [NL: rename in commit message Raspbian to Armbian]
> > Signed-off-by: Niek Linnenbank <nieklinnenbank@gmail.com>
> > ---
> > tests/acceptance/boot_linux_console.py | 26 ++++++++++++++++++++++++++
> > 1 file changed, 26 insertions(+)
> >
> > diff --git a/tests/acceptance/boot_linux_console.py
> b/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.
>
OK, I'll also remove them vm.set_machine() calls in the other 3 patches.
>
> > + 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
> >
>
>
--
Niek Linnenbank
© 2016 - 2026 Red Hat, Inc.