grub-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v14 10/10] tests: Add LoongArch to various test cases


From: Glenn Washburn
Subject: Re: [PATCH v14 10/10] tests: Add LoongArch to various test cases
Date: Wed, 12 Apr 2023 05:54:32 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0

On 4/11/23 03:02, Xiaotian Wu wrote:
在 2023-04-10星期一的 15:58 +0800,Xiaotian Wu写道:
在 2023-04-10星期一的 15:36 +0800,Xiaotian Wu写道:
在 2023-04-10星期一的 03:20 -0300,Glenn Washburn写道:
On 4/8/23 02:05, Xiaotian Wu wrote:
The test results of running "make check" with qemu 7.2 are as
follows:
===============================================================
==
==
=========
    Testsuite summary for GRUB 2.11
===============================================================
==
==
=========
    # TOTAL: 85
    # PASS:  57
    # SKIP:  8
    # XFAIL: 0
    # FAIL:  1
    # XPASS: 0
    # ERROR: 19
===============================================================
==
==
=========

These ERROR cases need to be run as root user:
    ERROR: ext234_test
    ERROR: hfsplus_test
    ERROR: ntfs_test
    ERROR: reiserfs_test
    ERROR: fat_test
    ERROR: minixfs_test
    ERROR: xfs_test
    ERROR: f2fs_test
    ERROR: nilfs2_test
    ERROR: romfs_test
    ERROR: exfat_test
    ERROR: udf_test
    ERROR: hfs_test
    ERROR: jfs_test
    ERROR: btrfs_test
    ERROR: zfs_test
    ERROR: luks1_test
    ERROR: luks2_test
    ERROR: grub_cmd_cryptomount

It would be great if you would follow the instructions in the
INSTALL
file to install the appropriate dependencies and to run the tests
as
root. Are you suggesting that you do not have access to the root
user?
I can try to retest with root, but maybe the test case will fail.

I re-run the test program with sudo, the results of these 19 test cases
are: 10 passed, 5 errors, 4 failed.

The 10 passed use cases are:
PASS: ext234_test
PASS: ntfs_test
PASS: reiserfs_test
PASS: xfs_test
PASS: nilfs2_test
PASS: udf_test
PASS: jfs_test
PASS: btrfs_test
PASS: luks1_test
PASS: luks2_test

The 5 error cases are:
ERROR: minixfs_test
ERROR: f2fs_test
ERROR: romfs_test
ERROR: hfs_test
ERROR: zfs_test

minixfs_test: The kernel is not configured with minix file system
support.
f2fs_test: The kernel is not configured with f2fs file system support.
romfs_test: No package provides "genromfs" on Archlinux.
hfs_test:  No package provides "mkfs.hfs" on Archlinux.

This is one reason why the tests officially only support being run on Debian systems. I leave it up to you or whoever maintains LoongArch support to decide if you care about these tests, as these aren't commonly used filesystems.

zfs_test: zfs has not been ported to the LoongArch architecture yet.

The 4 failed cases are:
FAIL: hfsplus_test
FAIL: fat_test
FAIL: exfat_test
FAIL: grub_cmd_cryptomount

hfsplus_test:
I use hfsprogs-540.1.linux3-4, the log is:
mkfs.hfsplus: invalid option -- 'w'

This is strange. That version number is the same as the package version on the Debian test machine I'm using and it does allow the -w option (which has this as the help string "add a HFS wrapper (i.e. Native Mac OS 9 bootable)"). I don't if that's a compile-time option that Arch doesn't enable or maybe the Debian package has extra patches adding that option.


fat_test:
The log is:
cp: error writing '/tmp/grub-fs-
tester.20230410181941249964440.vfat12a.1g8/vfat12a_rw//american-
english': No space left on device

You ran out of disk space on /tmp. Can you allocate more space for the tests?

exfat_test:
The log give me the usage of "mkfs.exfat", it seems the "mkfs.exfat"
command does not support "-s" "-n" arguments.

I'm noticing now that the INSTALL is incorrect. You should be using the exfat-utils package not exfatprogs. Could this explain why you're getting this error?

grub_cmd_cryptomount:
The log is:
Error[1]: WARNING: Image format was not specified for '/tmp/grub-
shell.2fRnxAhNbU/grub.iso' and probing guessed raw.
          Automatically detecting the format is dangerous for raw
images, write operations on block 0 will be restricted.
          Specify the 'raw' format explicitly to remove the
restrictions.
error: test not verified [cryptomount failed: 2]
LUKS1 test cryptsetup defaults: FAIL
FAIL grub_cmd_cryptomount (exit status: 1)

For this it would be useful to have a shell trace of the test run. One way to get that is to add the line "set -x" to the second line of tests/grub_cmd_cryptomount.in.

Glenn






These test cases are skipped:
    SKIP: pata_test
    SKIP: ahci_test
    SKIP: uhci_test
    SKIP: ohci_test
    SKIP: ehci_test
    SKIP: fddboot_test
    SKIP: netboot_test
    SKIP: pseries_test

This test case fails because of: qemu-system-loongarch64:
ram_size
must be greater than 1G.
    FAIL: grub_func_test

This sounds strange to me because you give QEMU 4G of memory in
grub-shell (see below). Are you saying that you ran the tests on
a
system with 1G or less of memory?

Yes, I set the memory to 4G, but on line 16 of the
"tests/grub_func_test.in" file, it is reset to 512M.
After modifying "test/grub_func_test.in", I made a test, but it
failed,
the log is below, I'm not sure if it's related to grub, please check,
thanks.

https://gist.github.com/yetist/7abfb78b84f06dc198148ce6e344d7bb



Signed-off-by: Xiaotian Wu <wuxiaotian@loongson.cn>
---
   tests/ahci_test.in       |  2 +-
   tests/ehci_test.in       |  2 +-
   tests/ohci_test.in       |  2 +-
   tests/pata_test.in       |  2 +-
   tests/uhci_test.in       |  2 +-
   tests/util/grub-shell.in | 14 ++++++++++++++
   6 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/tests/ahci_test.in b/tests/ahci_test.in
index 6d2e61d4e..70646a24e 100644
--- a/tests/ahci_test.in
+++ b/tests/ahci_test.in
@@ -30,7 +30,7 @@ case "${grub_modinfo_target_cpu}-
${grub_modinfo_platform}" in
       mips*-arc | mips*-qemu_mips)
         exit 77;;
       # FIXME: No native drivers are available for those
-    powerpc-ieee1275 | sparc64-ieee1275 | arm*-efi)
+    powerpc-ieee1275 | sparc64-ieee1275 | arm*-efi |
loongarch64-
efi)
         exit 77;;
   esac
diff --git a/tests/ehci_test.in b/tests/ehci_test.in
index df671b4b6..bf823a5de 100644
--- a/tests/ehci_test.in
+++ b/tests/ehci_test.in
@@ -30,7 +30,7 @@ case "${grub_modinfo_target_cpu}-
${grub_modinfo_platform}" in
       mips*-arc | mips*-qemu_mips)
         exit 77;;
       # FIXME: No native drivers are available for those
-    powerpc-ieee1275 | sparc64-ieee1275 | arm*-efi)
+    powerpc-ieee1275 | sparc64-ieee1275 | arm*-efi |
loongarch64-
efi)
         exit 77;;
   esac
diff --git a/tests/ohci_test.in b/tests/ohci_test.in
index 741ad881f..a40d3bc0a 100644
--- a/tests/ohci_test.in
+++ b/tests/ohci_test.in
@@ -30,7 +30,7 @@ case "${grub_modinfo_target_cpu}-
${grub_modinfo_platform}" in
       mips*-arc | mips*-qemu_mips)
         exit 77;;
       # FIXME: No native drivers are available for those
-    powerpc-ieee1275 | sparc64-ieee1275 | arm*-efi)
+    powerpc-ieee1275 | sparc64-ieee1275 | arm*-efi |
loongarch64-
efi)
         exit 77;;
   esac
diff --git a/tests/pata_test.in b/tests/pata_test.in
index 31144a8fd..4d0e7d573 100644
--- a/tests/pata_test.in
+++ b/tests/pata_test.in
@@ -33,7 +33,7 @@ case "${grub_modinfo_target_cpu}-
${grub_modinfo_platform}" in
       i386-efi)
         exit 77;;
       # FIXME: No native drivers are available for those
-    powerpc-ieee1275 | sparc64-ieee1275 | arm*-efi)
+    powerpc-ieee1275 | sparc64-ieee1275 | arm*-efi |
loongarch64-
efi)
         exit 77;;
       i386-ieee1275)
         disk=hdb
diff --git a/tests/uhci_test.in b/tests/uhci_test.in
index 5aa5eb726..de199a281 100644
--- a/tests/uhci_test.in
+++ b/tests/uhci_test.in
@@ -30,7 +30,7 @@ case "${grub_modinfo_target_cpu}-
${grub_modinfo_platform}" in
       mips*-arc | mips*-qemu_mips)
         exit 77;;
       # FIXME: No native drivers are available for those
-    powerpc-ieee1275 | sparc64-ieee1275 | arm*-efi)
+    powerpc-ieee1275 | sparc64-ieee1275 | arm*-efi |
loongarch64-
efi)
         exit 77;;
   esac
diff --git a/tests/util/grub-shell.in b/tests/util/grub-
shell.in
index 75f71dc1a..bbeb63ef4 100644
--- a/tests/util/grub-shell.in
+++ b/tests/util/grub-shell.in
@@ -208,6 +208,16 @@ case "${grub_modinfo_target_cpu}-
${grub_modinfo_platform}" in
         disk="device virtio-blk-device,drive=hd1 -drive
if=none,id=hd1,file="
         serial_port=efi0
         ;;
+    loongarch64-efi)
+       qemu=qemu-system-loongarch64
+       boot=hd
+       console=console
+       trim=1
+       qemuopts="-machine virt -cpu la464-loongarch-cpu -smp 4
-
nographic -m 4G \
+                 -bios
/usr/share/edk2/loongarch64/QEMU_CODE.fd
$qemuopts"

The tests are only officially supported on Debian. So is this
firmware
file installed from a Debian package? If so what is the package
name
and
what apt repository is it located?

I did a local test on archlinux, the package is "edk2-loongarch64",
the
installation directory refers to the packaging rules of fedora and
archlinux, it will be installed in the "/usr/share/edk2/<arch>/"
directory.

edk2-aarch64 on fedora:
https://koji.fedoraproject.org/koji/rpminfo?rpmID=33833091
edk2-riscv64 on fedora:
https://koji.fedoraproject.org/koji/rpminfo?rpmID=33833092

edk2-aarch64 on archlinux:
https://archlinux.org/packages/extra/any/edk2-aarch64/
edk2-arm on archlinux:
https://archlinux.org/packages/extra/any/edk2-arm/
edk2-loongarch64 on archlinux:
https://mirrors.wsyu.edu.cn/loongarch/archlinux/extra/os/loong64/edk2-loongarch64-202211-4-any.pkg.tar.zst


debian doesn't support LoongArch yet, maybe I should use "-L" to load
"QEMU_CODE.fd" from the current directory as in previous versions?

Glenn

+       disk="device virtio-blk-pci,drive=hd1 -drive
if=none,id=hd1,file="
+       serial_port=
+       ;;
       *)
         boot=hd
         qemu=qemu-system-i386
@@ -423,6 +433,8 @@ fi
   if [ x$boot = xhd ]; then
       if [ "${grub_modinfo_target_cpu}-
${grub_modinfo_platform}"
=
arm64-efi ] || [ "${grub_modinfo_target_cpu}-
${grub_modinfo_platform}" = arm-efi ]; then
         device="device virtio-blk-device,drive=hd0 -drive
if=none,id=hd0,file="
+    elif [ "${grub_modinfo_target_cpu}-
${grub_modinfo_platform}"
=
loongarch64-efi ]; then
+       device="device virtio-blk-pci,drive=grubdisk -drive
if=none,id=grubdisk,file="
       elif [ "${grub_modinfo_target_cpu}-
${grub_modinfo_platform}"
= mips-arc ]; then
         device="hdb "
       else
@@ -433,6 +445,8 @@ fi
   if [ x$boot = xcd ]; then
       if [ "${grub_modinfo_target_cpu}-
${grub_modinfo_platform}"
=
arm64-efi ] || [ "${grub_modinfo_target_cpu}-
${grub_modinfo_platform}" = arm-efi ]; then
         device="device virtio-blk-device,drive=cd0 -drive
if=none,id=cd0,media=cdrom,file="
+    elif [ "${grub_modinfo_target_cpu}-
${grub_modinfo_platform}"
=
loongarch64-efi ]; then
+       device="device virtio-blk-pci,drive=grubcd -drive
if=none,id=grubcd,media=cdrom,file="
       elif [ "${grub_modinfo_target_cpu}-
${grub_modinfo_platform}"
= powerpc-ieee1275 ] && [ x$pseries != xy ] ; then
         device="-drive if=ide,media=cdrom,file="
       else


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel







reply via email to

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