[TUTORIAL] Proxmox on RISC-V

liberodark

Well-Known Member
Apr 26, 2021
113
28
48
Hi,

Want to share my PoC of PVE on RISC-V hardware.
I have created cluster of risc-v hardware, also have make tutorial for install proxmox on PVE from PVE Port Project.
So i want to share that for users & dev want to work on this hardware too.
I think is important to support RISCV64 or ARM64 architecture to improve the possibility of PVE.
That what i want to share some links for that.
Also if you want to speak about RISC-V im available.

How to Install PVE on RISC-V (This is not official source of PVE !!!)

Hi,
Here's how to install proxmox on armbian for example.
Compatible with the following Boards :

StarFive Vision 2 (riscv64)

Connexion SSH :
ssh root@192.168.0.10
password : 1234

In our example the board uses the following IP : 192.168.0.10

Update your OS :
Code:
apt update
apt dist-upgrade -y

Add your host name :
nano /etc/hosts
change 127.0.1.1 starfive by 192.168.0.10 starfive

Add the GPG Key :
curl https://global.mirrors.apqa.cn/proxmox/debian/pveport.gpg -o /etc/apt/trusted.gpg.d/pveport.gpg

Add the repository Proxmox :
nano /etc/apt/sources.list.d/pveport.list

Code:
deb [arch=riscv64] https://global.mirrors.apqa.cn/proxmox/debian/pve sid port
#deb [arch=riscv64] https://global.mirrors.apqa.cn/proxmox/debian/pve sid ceph-reef
#deb [arch=riscv64] https://global.mirrors.apqa.cn/proxmox/debian/pbs sid port
#deb [arch=riscv64] https:global.mirrors.apqa.cn/proxmox/debian/kernel sid port

Install ifupdown2 :
apt update && apt install -y ifupdown2

Install Proxmox :
Code:
mkdir -p /var/log/ceph
apt install -y proxmox-ve postfix open-iscsi

Configure the Network :

ip a

The interface of my board is : end0 (This is the right port)

nano /etc/network/interfaces

Code:
auto lo
iface lo inet loopback

iface end0 inet manual

iface end1 inet dhcp

auto vmbr0
iface vmbr0 inet static
        address 192.168.0.10/24
        gateway 192.168.0.1
        bridge-ports end0
        bridge-stp off
        bridge-fd 0

apt remove -y resolvconf rdnssd (If one of the packages is installed)
systemctl disable --now pve-firewall (Fixes an iptables_restore_cmdlist issue)
PS : Have fixed this issue on my personal build of pve-firewall.

Reboot the board
reboot -f

Configure Proxmox :
https://192.168.0.10:8006

Repo LXC RISCV64 :
https://e.pcloud.link/publink/show?code=kZYRi1ZVlxOsHWi0zudLqraNUbWckfjIIB7 (Mirroir)

Download Debian :
mkdir -p /var/lib/vz/template/cache
https://e.pcloud.link/publink/show?code=XZbzr1ZKJ700sh96l42U6kiUa2YUzsq4azX

**Create a Debian LXC :
Code:
pct create 200 --rootfs local:10 \
--hostname debian-bullseye \
--password linux \
local:vztmpl/debian-sid-default_20240103_riscv64.tar.xz

pct start 200 && pct enter 200

Here you have installed Proxmox !


Best Regards


Original tutorial for Install PVE on RISC-V (French)
https://forum.linuxos.ovh/d/202-installer-proxmox-sur-riscv64

Useful links :
https://www.reddit.com/r/RISCV/comments/1bupcwn/pve_on_riscv/
https://github.com/jiangcuo/Proxmox-Port
 
Last edited:
Thanks for the write-up. I am now passing similar hurdles with an Orange Pi RV2 (with ZFS for good measure; needed to install a kernel headers package that their images ship under /opt to build the DKMS modules).

Some notes:

* Initially I set it up with their Ubuntu image - had to change to Debian because proxmox/pxvirt project has packages only for that. Unpacked the other OS image, loop-back mounted, populated a new rootfs (copied over my customizations like users already made in Ubuntu) and flipped a text file in /boot. ZFS did make it easy.

* Instructions above refer to apqa.cn - now that lives at lierfang.com (as pxvirt), so:
Code:
# /etc/apt/sources.list.d/pxvirt-sources.list
deb [arch=riscv64 signed-by=/usr/share/keyrings/lierfang.gpg] https://mirrors.lierfang.com/pxcloud/pxvirt trixie main
** See https://docs.pxvirt.lierfang.com/en/installfromdebian.html for their GPG key and other hints
** Packages browsable at https://eu.mirrors.lierfang.com/pxcloud/pxvirt/dists/trixie/main/

* My OS did not have kexec-tools which proxmox-ve package wants. Found one at https://cl.archive.ubuntu.com/debian/pool/main/k/kexec-tools e.g.
Code:
:; wget https://cl.archive.ubuntu.com/debian/pool/main/k/kexec-tools/kexec-tools_2.0.32-3_riscv64.deb
:; dpkg -i kexec-tools_2.0.32-3_riscv64.deb
:; apt-install proxmox-ve

* There is a hiccup with
Code:
Unpacking pve-qemu-kvm (10.0.2-4) ...
dpkg: error processing archive /tmp/apt-dpkg-install-98Pu1k/296-pve-qemu-kvm_10.0.2-4_riscv64.deb (--unpack):
 trying to overwrite '/usr/bin/qemu-aarch64', which is also in package qemu-user (1:10.0.8+ds-0+deb13u1+b1)
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
...probably because I had qemu-user-static installed :\
Code:
:; dpkg -r --force-all  qemu-user-static qemu-user-binfmt qemu-user

:; apt --fix-broken install

Correcting dependencies... Done

Installing dependencies:

  pve-qemu-kvm

...

The `pct create` test failed because
Code:
unable to create CT 200 - unable to create image: /usr/bin/qemu-img:
  error while loading shared libraries: libgfapi.so.0: cannot open shared object file: No such file or directory
so I searched around and added the `libglusterfs-dev` package.

Web-UI did not start for me yet... (Performing TLS handshake, and then times out).

UPDATE: Got UI: pveproxy started but did not work, due to inability to write logs:
Code:
:; mkdir -p /var/log/pveproxy/
:; chown www-data /var/log/pveproxy/
:; systemctl restart pvedaemon pveproxy
* Thanks to https://forum.proxmox.com/threads/suddenly-unable-to-access-web-ui.182338/ for fine ideas
 
Last edited: