Skip to content

riscv64: request for official binaries and basic CI #239

@LuckyMagician99

Description

@LuckyMagician99

Hi maintainers, thanks for tini!

We’d like to kindly propose official riscv64 support. Below are our build results and a small, reproducible PID-namespace test showing tini -s reaps zombies as PID1 on riscv64. We’re happy to help with CI/PRs if this is in scope.

Environment

- Distro: openEuler 24.03 LTS (riscv64)
- Kernel: Linux localhost.localdomain 6.6.0-27.0.0.31.oe2403.riscv64 #1 SMP Fri May 24 21:52:58 CST 2024 riscv64 riscv64 GNU/Linux
- (Optional) Docker 28.3.2, containerd 1.6.22, runc 1.1.8

Build

  • cmake -DCMAKE_BUILD_TYPE=Release .. && make -j$(nproc)
  • file tini: ./tini: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=6aeeb791162331ff889766540994a2201ae9074b, for GNU/Linux 4.15.0, stripped
  • sha256sum tini: 2b608d0928fecbbe7ad9d88b4342437c767af9c329b434a79aafa0469b5e34a4 tini
  • Full log attached: build-2025-08-11.log
  • Repro tarball attached: tini-riscv64-369448a-2025-08-11.tar.gz

PID1 behavior (PID namespace, no container runtime required)

We used unshare -fp --mount-proc and a small program that orphans many short-lived children to PID1.

  • PID1 = custom no-wait program (doesn’t wait()) — zombies accumulate under PPID 1:
Image
  • PID1 = tini -s — zombies reaped promptly:
Image

(Full outputs attached as pid1_nowait.txt and pid1_tini.txt)

Request (happy to adjust if preferred)

  • Provide official riscv64 release artifacts for tini
  • Add a minimal riscv64 CI job (QEMU-based compile is fine to start)

We can help

  • Run tests on riscv64 and share logs
  • Open a PR adding a basic CI workflow

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions