diff mbox series

[v7,6/7] tests/powernv: Switch to buildroot images instead of op-build

Message ID 20250327200738.1524401-7-adityag@linux.ibm.com (mailing list archive)
State New
Headers show
Series Power11 support for QEMU [PowerNV] | expand

Commit Message

Aditya Gupta March 27, 2025, 8:07 p.m. UTC
As op-build images haven't been updated from long time (and may not get
updated in future), use buildroot images provided by cedric [1].

Use existing nvme device being used in the test to mount the initrd.

Also replace the check for "zImage loaded message" to skiboot's message
when it starts the kernel: "Starting kernel at", since we are no longer
using zImage from op-build

This is required for newer processor tests such as Power11, as the
op-build kernel image is old and doesn't support Power11.

Power11 test has been added in a later patch.

[1]: https://github.com/legoater/qemu-ppc-boot/tree/main/buildroot/qemu_ppc64le_powernv8-2025.02

Cc: Cédric Le Goater <clg@kaod.org>
Cc: Frédéric Barrat <fbarrat@linux.ibm.com>
Cc: Mahesh J Salgaonkar <mahesh@linux.ibm.com>
Cc: Madhavan Srinivasan <maddy@linux.ibm.com>
Cc: Nicholas Piggin <npiggin@gmail.com>
Suggested-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Aditya Gupta <adityag@linux.ibm.com>
---
 tests/functional/test_ppc64_powernv.py | 30 ++++++++++++++------------
 1 file changed, 16 insertions(+), 14 deletions(-)

Comments

Cédric Le Goater March 28, 2025, 7:59 a.m. UTC | #1
On 3/27/25 21:07, Aditya Gupta wrote:
> As op-build images haven't been updated from long time (and may not get
> updated in future), use buildroot images provided by cedric [1].
> 
> Use existing nvme device being used in the test to mount the initrd.
> 
> Also replace the check for "zImage loaded message" to skiboot's message
> when it starts the kernel: "Starting kernel at", since we are no longer
> using zImage from op-build
> 
> This is required for newer processor tests such as Power11, as the
> op-build kernel image is old and doesn't support Power11.
> 
> Power11 test has been added in a later patch.
> 
> [1]: https://github.com/legoater/qemu-ppc-boot/tree/main/buildroot/qemu_ppc64le_powernv8-2025.02
> 
> Cc: Cédric Le Goater <clg@kaod.org>
> Cc: Frédéric Barrat <fbarrat@linux.ibm.com>
> Cc: Mahesh J Salgaonkar <mahesh@linux.ibm.com>
> Cc: Madhavan Srinivasan <maddy@linux.ibm.com>
> Cc: Nicholas Piggin <npiggin@gmail.com>
> Suggested-by: Cédric Le Goater <clg@kaod.org>
> Signed-off-by: Aditya Gupta <adityag@linux.ibm.com>
> ---
>   tests/functional/test_ppc64_powernv.py | 30 ++++++++++++++------------
>   1 file changed, 16 insertions(+), 14 deletions(-)
> 
> diff --git a/tests/functional/test_ppc64_powernv.py b/tests/functional/test_ppc64_powernv.py
> index 685e2178ed78..2b4db1cf99b4 100755
> --- a/tests/functional/test_ppc64_powernv.py
> +++ b/tests/functional/test_ppc64_powernv.py
> @@ -18,9 +18,14 @@ class powernvMachine(LinuxKernelTest):
>       good_message = 'VFS: Cannot open root device'
>   
>       ASSET_KERNEL = Asset(
> -        ('https://archives.fedoraproject.org/pub/archive/fedora-secondary/'
> -         'releases/29/Everything/ppc64le/os/ppc/ppc64/vmlinuz'),
> -        '383c2f5c23bc0d9d32680c3924d3fd7ee25cc5ef97091ac1aa5e1d853422fc5f')
> +        ('https://github.com/legoater/qemu-ppc-boot/raw/refs/heads/main/'
> +         'buildroot/qemu_ppc64le_powernv8-2025.02/vmlinux'),
> +        '6fd29aff9ad4362511ea5d0acbb510667c7031928e97d64ec15bbc5daf4b8151')
> +
> +    ASSET_INITRD = Asset(
> +        ('https://github.com/legoater/qemu-ppc-boot/raw/refs/heads/main/'
> +         'buildroot/qemu_ppc64le_powernv8-2025.02/rootfs.ext2'),
> +        'aee2192b692077c4bde31cb56ce474424b358f17cec323d5c94af3970c9aada2')
>   
>       def do_test_linux_boot(self, command_line = KERNEL_COMMON_COMMAND_LINE):
>           self.require_accelerator("tcg")
> @@ -78,27 +83,24 @@ def test_linux_big_boot(self):
>           wait_for_console_pattern(self, console_pattern, self.panic_message)
>           wait_for_console_pattern(self, self.good_message, self.panic_message)
>   
> -
> -    ASSET_EPAPR_KERNEL = Asset(
> -        ('https://github.com/open-power/op-build/releases/download/v2.7/'
> -         'zImage.epapr'),
> -        '0ab237df661727e5392cee97460e8674057a883c5f74381a128fa772588d45cd')
> -
>       def do_test_ppc64_powernv(self, proc):
>           self.require_accelerator("tcg")
> -        kernel_path = self.ASSET_EPAPR_KERNEL.fetch()
> +        kernel_path = self.ASSET_KERNEL.fetch()
> +        initrd_path = self.ASSET_INITRD.fetch()
>           self.vm.set_console()
>           self.vm.add_args('-kernel', kernel_path,
> -                         '-append', 'console=tty0 console=hvc0',
> +                         '-drive',
> +                         f'file={initrd_path},format=raw,if=none,id=drive0,readonly=on',
> +                         '-append', 'root=/dev/nvme0n1 console=tty0 console=hvc0',
>                            '-device', 'pcie-pci-bridge,id=bridge1,bus=pcie.1,addr=0x0',
> -                         '-device', 'nvme,bus=pcie.2,addr=0x0,serial=1234',
> +                         '-device', 'nvme,drive=drive0,bus=pcie.2,addr=0x0,serial=1234',
>                            '-device', 'e1000e,bus=bridge1,addr=0x3',
>                            '-device', 'nec-usb-xhci,bus=bridge1,addr=0x2')
>           self.vm.launch()
>   
>           self.wait_for_console_pattern("CPU: " + proc + " generation processor")
> -        self.wait_for_console_pattern("zImage starting: loaded")
> -        self.wait_for_console_pattern("Run /init as init process")
> +        self.wait_for_console_pattern("INIT: Starting kernel at ")
> +        self.wait_for_console_pattern("Run /sbin/init as init process")
>           # Device detection output driven by udev probing is sometimes cut off
>           # from console output, suspect S14silence-console init script.
>   


Reviewed-by: Cédric Le Goater <clg@redhat.com>

Thanks,

C.
Aditya Gupta March 28, 2025, 8:52 a.m. UTC | #2
On 28/03/25 13:29, Cédric Le Goater wrote:
> On 3/27/25 21:07, Aditya Gupta wrote:
>> <...snip...> 
>
>
> Reviewed-by: Cédric Le Goater <clg@redhat.com>
>
Thanks for the tag, and all your reviews and the help in fixes, Cédric !


- Aditya G

> Thanks,
>
> C.
>
>
diff mbox series

Patch

diff --git a/tests/functional/test_ppc64_powernv.py b/tests/functional/test_ppc64_powernv.py
index 685e2178ed78..2b4db1cf99b4 100755
--- a/tests/functional/test_ppc64_powernv.py
+++ b/tests/functional/test_ppc64_powernv.py
@@ -18,9 +18,14 @@  class powernvMachine(LinuxKernelTest):
     good_message = 'VFS: Cannot open root device'
 
     ASSET_KERNEL = Asset(
-        ('https://archives.fedoraproject.org/pub/archive/fedora-secondary/'
-         'releases/29/Everything/ppc64le/os/ppc/ppc64/vmlinuz'),
-        '383c2f5c23bc0d9d32680c3924d3fd7ee25cc5ef97091ac1aa5e1d853422fc5f')
+        ('https://github.com/legoater/qemu-ppc-boot/raw/refs/heads/main/'
+         'buildroot/qemu_ppc64le_powernv8-2025.02/vmlinux'),
+        '6fd29aff9ad4362511ea5d0acbb510667c7031928e97d64ec15bbc5daf4b8151')
+
+    ASSET_INITRD = Asset(
+        ('https://github.com/legoater/qemu-ppc-boot/raw/refs/heads/main/'
+         'buildroot/qemu_ppc64le_powernv8-2025.02/rootfs.ext2'),
+        'aee2192b692077c4bde31cb56ce474424b358f17cec323d5c94af3970c9aada2')
 
     def do_test_linux_boot(self, command_line = KERNEL_COMMON_COMMAND_LINE):
         self.require_accelerator("tcg")
@@ -78,27 +83,24 @@  def test_linux_big_boot(self):
         wait_for_console_pattern(self, console_pattern, self.panic_message)
         wait_for_console_pattern(self, self.good_message, self.panic_message)
 
-
-    ASSET_EPAPR_KERNEL = Asset(
-        ('https://github.com/open-power/op-build/releases/download/v2.7/'
-         'zImage.epapr'),
-        '0ab237df661727e5392cee97460e8674057a883c5f74381a128fa772588d45cd')
-
     def do_test_ppc64_powernv(self, proc):
         self.require_accelerator("tcg")
-        kernel_path = self.ASSET_EPAPR_KERNEL.fetch()
+        kernel_path = self.ASSET_KERNEL.fetch()
+        initrd_path = self.ASSET_INITRD.fetch()
         self.vm.set_console()
         self.vm.add_args('-kernel', kernel_path,
-                         '-append', 'console=tty0 console=hvc0',
+                         '-drive',
+                         f'file={initrd_path},format=raw,if=none,id=drive0,readonly=on',
+                         '-append', 'root=/dev/nvme0n1 console=tty0 console=hvc0',
                          '-device', 'pcie-pci-bridge,id=bridge1,bus=pcie.1,addr=0x0',
-                         '-device', 'nvme,bus=pcie.2,addr=0x0,serial=1234',
+                         '-device', 'nvme,drive=drive0,bus=pcie.2,addr=0x0,serial=1234',
                          '-device', 'e1000e,bus=bridge1,addr=0x3',
                          '-device', 'nec-usb-xhci,bus=bridge1,addr=0x2')
         self.vm.launch()
 
         self.wait_for_console_pattern("CPU: " + proc + " generation processor")
-        self.wait_for_console_pattern("zImage starting: loaded")
-        self.wait_for_console_pattern("Run /init as init process")
+        self.wait_for_console_pattern("INIT: Starting kernel at ")
+        self.wait_for_console_pattern("Run /sbin/init as init process")
         # Device detection output driven by udev probing is sometimes cut off
         # from console output, suspect S14silence-console init script.