The wikis are now using the new authentication system.
If you did not migrate your account yet, visit https://idp-portal-info.suse.com/

openSUSE:RISC-V

Jump to: navigation, search

RISC-V is the free and open RISC instruction set architecture developed by the RISC-V Foundation.

Testing openSUSE images

The port is still under heavy development and considered an early preview.

On real hardware

There is support for the SiFive HiFive Unleashed board.

Susemini.png
Version:
Tumbleweed (Factory)
http://download.opensuse.org/ports/riscv/tumbleweed/images/openSUSE-Tumbleweed-RISC-V-JeOS-hifiveunleashed.riscv64.raw.xz

Using an emulator

The provided images can be used on normal PCs on a regular Tumbleweed installation, using either the qemu userspace CPU emulation, or the qemu system emulation.

QEMU user-space emulation

Susemini.png
Version:
Tumbleweed (Factory)
http://download.opensuse.org/ports/riscv/tumbleweed/images/openSUSE-Tumbleweed-RISC-V-JeOS.riscv64-rootfs.riscv64.tar.xz

Install qemu and systemd-machined:

 # zypper in qemu-linux-user systemd-container

Register qemu as handler for RISC-V binaries:

 # qemu-binfmt-conf.sh --credential yes

Prepare systemd-nspawn to not use private networking (see man 5 systemd.nspawn):

 # mkdir /etc/systemd/nspawn
 # cat > /etc/systemd/nspawn/riscv.nspawn << EOF
 [Network]
 Private=off
 [Exec]
 PrivateUsers=off
 EOF

Download a RISC-V container and register in machined:

 # machinectl pull-tar --verify=no \
   http://download.opensuse.org/ports/riscv/tumbleweed/images/openSUSE-Tumbleweed-RISC-V-JeOS.riscv64-rootfs.riscv64.tar.xz \
   riscv

Boot the container:

 # machinectl start riscv

Get a shell:

 # machinectl shell riscv

Have a lot of fun...

QEMU system emulation

Susemini.png
Version:
Tumbleweed (Factory)
http://download.opensuse.org/ports/riscv/tumbleweed/images/openSUSE-Tumbleweed-RISC-V-JeOS-efi.riscv64.raw.xz

Install qemu-extra.

 # zypper in qemu-extra guestfs-tools

Convert the raw image to compressed qcow2.

 # qemu-img convert -f raw -O qcow2 -c openSUSE-Tumbleweed-RISC-V-JeOS-efi.riscv64.raw openSUSE-Tumbleweed-RISC-V-JeOS-efi.riscv64.qcow2

Extract /boot from the image.

 # virt-copy-out -a openSUSE-Tumbleweed-RISC-V-JeOS-efi.riscv64.qcow2 /boot .

Run qemu.

 # qemu-system-riscv64 -nographic -machine virt -m 4G \
   -device virtio-blk-device,drive=hd0 -drive file=${qcow2image},format=qcow2,id=hd0 \
   -device virtio-net-device,netdev=usernet -netdev user,id=usernet,hostfwd=tcp::22222-:22 \
   -kernel "boot/Image" \
   -initrd "boot/initrd" \
   -append "console=ttyS0 rw root=/dev/vda3" 

Log in via SSH.

  # ssh localhost -p 22222   # root / linux