Re: [PATCH bpf-next 0/5] Support local vmtest for riscv64

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

 





On 2024/3/29 17:08, Eduard Zingerman wrote:
On Thu, 2024-03-28 at 12:49 +0000, Pu Lehui wrote:
Patch 1 is to enable cross platform testing for local vmtest. The
remaining patch adds local vmtest support for riscv64. It relies on
commit [0] [1] for better regression.

We can now perform cross platform testing for riscv64 bpf using the
following command:

PLATFORM=riscv64 CROSS_COMPILE=riscv64-linux-gnu- \
     tools/testing/selftests/bpf/vmtest.sh -- \
         ./test_progs -d \
             \"$(cat tools/testing/selftests/bpf/DENYLIST.riscv64 \
                 | cut -d'#' -f1 \
                 | sed -e 's/^[[:space:]]*//' \
                       -e 's/[[:space:]]*$//' \
                 | tr -s '\n' ','\
             )\"

The test platform is x86_64 architecture, and the versions of relevant
components are as follows:
     QEMU: 8.2.0
     CLANG: 17.0.6 (align to BPF CI)
     OpenSBI: 1.3.1 (default by QEMU)
     ROOTFS: ubuntu jammy (generated by [2])

Link: https://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux.git/commit/?id=ea6873118493 [0]
Link: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git/commit/?id=443574b033876c85 [1]
Link: https://github.com/libbpf/ci/blob/main/rootfs/mkrootfs_debian.sh [2]

Hello,

I wanted to do a test run for this patch-set but did not figure out
how to build rootfs for riscv64 system.

I modified mkrootfs_debian.sh as below, but build command fails:

$ ./rootfs/mkrootfs_debian.sh -d jammy -a riscv64 -m http://de.archive.ubuntu.com/ubuntu
...
E: Couldn't download http://de.archive.ubuntu.com/ubuntu/dists/jammy/main/binary-riscv64/Packages

Apparently jammy does not have binaries built for riscv64, or I'm failing to find correct mirror.
Could you please provide some instructions on how to prepare rootfs?

Hi Eduard, We need the mirror repository of ubuntu-ports, you could try http://de.ports.ubuntu.com/.


Thanks,
Eduard

--

diff --git a/rootfs/mkrootfs_debian.sh b/rootfs/mkrootfs_debian.sh
index dfe957e..1d5b769 100755
--- a/rootfs/mkrootfs_debian.sh
+++ b/rootfs/mkrootfs_debian.sh
@@ -16,6 +16,7 @@ CPUTABLE="${CPUTABLE:-/usr/share/dpkg/cputable}"
deb_arch=$(dpkg --print-architecture)
  distro="bullseye"
+mirror=""
function usage() {
      echo "Usage: $0 [-a | --arch architecture] [-h | --help]
@@ -25,6 +26,7 @@ By default build an image for the architecture of the host running the script.
-a | --arch: architecture to build the image for. Default (${deb_arch})
      -d | --distro:  distribution to build. Default (${distro})
+    -m | --mirror:  mirror for distribution to build. Default (${mirror})
  "
  }
@@ -44,7 +46,7 @@ function qemu_static() {
      # Given a Debian architecture find the location of the matching
      # qemu-${gnu_arch}-static binary.
      gnu_arch=$(debian_to_gnu "${1}")
-    echo "qemu-${gnu_arch}-static"
+    echo "qemu-${gnu_arch}"
  }
function check_requirements() {
@@ -95,7 +97,7 @@ function check_requirements() {
      fi
  }
-TEMP=$(getopt -l "arch:,distro:,help" -o "a:d:h" -- "$@")
+TEMP=$(getopt  -l "arch:,distro:,mirror:,help" -o "a:d:m:h" -- "$@")
  if [ $? -ne 0 ]; then
      usage
  fi
@@ -113,6 +115,10 @@ while true; do
              distro="$2"
              shift 2
              ;;
+        --mirror | -m)
+            mirror="$2"
+            shift 2
+            ;;
          --help | -h)
              usage
              exit
@@ -162,7 +168,8 @@ debootstrap --include="$packages" \
      --arch="${deb_arch}" \
      "$@" \
      "${distro}" \
-    "$root"
+    "$root" \
+    "${mirror}"
qemu=$(which $(qemu_static ${deb_arch}))





[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux