Pimox

Pimox is a port of Proxmox to the Raspberry Pi allowing you to build a Proxmox cluster of Rapberry Pi’s or even a hybrid cluster of Pis and x86 hardware.

Tester with success over the DietPi ARMv8 64-bit image.
I was under DietPi/buster and upgraded to bullseye then installed Pimox.

https://github.com/pimox/pimox7

1 Like

+1 I’m about to install it and see how it goes
Just setup a new 250GB SSD just for the occasion.

1 Like

Pimox it’s running fine on my RPi4B 8GB. However it has some dependency and would require a couple of workarounds on a plain DietPi system.

1 Like

Finally got around to installing Proxmox, and there’s a few dependencies.
At least I have an SSD to install to.

The following additional packages will be installed:
  apparmor attr bridge-utils ceph-common ceph-fuse cifs-utils corosync cpio criu cstream dbus dmeventd dtach ebtables faketime file fontconfig fontconfig-config fonts-dejavu-core
  fonts-font-awesome fonts-glyphicons-halflings fuse gdisk genisoimage glusterfs-client glusterfs-common ifupdown2 ipset iptables iso-codes keyutils libaio1 libanyevent-http-perl
  libanyevent-perl libappconfig-perl libapt-pkg-perl libarchive13 libasound2 libasound2-data libasyncns0 libauthen-pam-perl libavahi-client3 libavahi-common-data libavahi-common3 libbabeltrace1
  libbytes-random-secure-perl libcairo2 libcephfs2 libcfg7 libclone-perl libcmap4 libcommon-sense-perl libconvert-asn1-perl libcorosync-common4 libcpg4 libcrypt-openssl-bignum-perl
  libcrypt-openssl-random-perl libcrypt-openssl-rsa-perl libcrypt-random-seed-perl libcrypt-ssleay-perl libcups2 libcurl3-gnutls libdatrie1 libdbi1 libdevel-cycle-perl libdevmapper-event1.02.1
  libdigest-hmac-perl libdrm-common libdrm2 libdw1 libencode-locale-perl libepoxy0 libevent-2.1-7 libfaketime libfile-chdir-perl libfile-listing-perl libfile-readbackwards-perl
  libfilesys-df-perl libflac8 libfontconfig1 libfreetype6 libfribidi0 libfuse2 libfuse3-3 libgbm1 libgdbm-compat4 libgdbm6 libgfapi0 libgfchangelog0 libgfrpc0 libgfxdr0 libglib2.0-0 libglusterd0
  libglusterfs0 libgnutlsxx28 libgoogle-perftools4 libgraphite2-3 libgstreamer-plugins-base1.0-0 libgstreamer1.0-0 libharfbuzz0b libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl
  libhttp-cookies-perl libhttp-daemon-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libibverbs1 libicu67 libinih1 libio-html-perl libio-multiplex-perl libio-socket-ssl-perl
  libio-stringy-perl libip6tc2 libipset13 libiscsi7 libjaeger libjansson4 libjemalloc2 libjpeg62-turbo libjs-bootstrap libjs-extjs libjs-jquery libjs-qrcodejs libjson-perl libjson-xs-perl
  libknet1 libldb2 libleveldb1d liblinux-inotify2-perl liblmdb0 liblttng-ust-ctl4 liblttng-ust0 liblua5.3-0 liblvm2cmd2.03 liblwp-mediatypes-perl liblwp-protocol-https-perl liblzo2-2
  libmagic-mgc libmagic1 libmath-random-isaac-perl libmime-base32-perl libnet-dbus-perl libnet-dns-perl libnet-http-perl libnet-ip-perl libnet-ldap-perl libnet-ssleay-perl libnet1
  libnetaddr-ip-perl libnetfilter-conntrack3 libnetfilter-log1 libnfnetlink0 libnfsidmap2 libnftnl11 libnozzle1 libnspr4 libnss3 libnuma1 liboath0 libogg0 libopus0 liborc-0.4-0 libpango-1.0-0
  libpangocairo-1.0-0 libpangoft2-1.0-0 libperl5.32 libpixman-1-0 libpng16-16 libposix-strptime-perl libprotobuf-c1 libprotobuf23 libproxmox-acme-perl libproxmox-acme-plugins
  libproxmox-backup-qemu0 libproxmox-rs-perl libpulse0 libpve-access-control libpve-apiclient-perl libpve-cluster-api-perl libpve-cluster-perl libpve-common-perl libpve-guest-common-perl
  libpve-http-server-perl libpve-rs-perl libpve-storage-perl libpve-u2f-server-perl libpython3.9 libqb100 libqrencode4 libquorum5 librabbitmq4 librados2 librados2-perl libradosstriper1 librbd1
  librdkafka1 librdmacm1 librgw2 librrd8 librrds-perl libsmbclient libsnappy1v5 libsndfile1 libspice-server1 libstatgrab10 libstring-shellquote-perl libtalloc2 libtcmalloc-minimal4 libtdb1
  libtemplate-perl libterm-readline-gnu-perl libtevent0 libthai-data libthai0 libtimedate-perl libtry-tiny-perl libtypes-serialiser-perl libu2f-server0 libunwind8 liburcu6 liburi-perl liburing1
  libusbredirparser1 libuuid-perl libvirglrenderer1 libvorbis0a libvorbisenc2 libvotequorum8 libwayland-server0 libwbclient0 libwww-perl libwww-robotrules-perl libx11-6 libx11-data libxau6
  libxcb-render0 libxcb-shm0 libxcb1 libxdmcp6 libxext6 libxml-libxml-perl libxml-namespacesupport-perl libxml-parser-perl libxml-sax-base-perl libxml-sax-perl libxml-twig-perl libxml2
  libxrender1 libxslt1.1 libyaml-libyaml-perl logrotate lvm2 lxc-pve lxcfs lzop netbase nfs-common novnc-pve perl perl-modules-5.32 perl-openssl-defaults postfix proxmox-backup-client
  proxmox-backup-file-restore proxmox-mini-journalreader proxmox-websocket-tunnel proxmox-widget-toolkit pve-cluster pve-container pve-docs pve-edk2-firmware pve-firewall pve-ha-manager pve-i18n
  pve-lxc-syscalld pve-qemu-kvm pve-xtermjs python3-ceph-argparse python3-ceph-common python3-cephfs python3-certifi python3-chardet python3-idna python3-jwt python3-ldb python3-pkg-resources
  python3-prettytable python3-protobuf python3-rados python3-rbd python3-requests python3-rgw python3-six python3-talloc python3-urllib3 python3-yaml qemu-server qrencode rpcbind rrdcached rsync
  samba-common samba-libs smartmontools smbclient socat spiceterm sqlite3 ssl-cert thin-provisioning-tools uidmap vncterm xfsprogs xsltproc xz-utils zstd
Suggested packages:
  apparmor-profiles-extra apparmor-utils ceph-base ceph-mds winbind libarchive1 default-dbus-session-bus | dbus-session-bus wodim cdrkit-doc python3-gvgen python3-mako firewalld isoquery
  libev-perl libevent-perl libio-async-perl libpoe-perl libtask-weaken-perl lrzip libasound2-plugins alsa-utils cups-common libpadwalker-perl fuse3 gdbm-l10n libvisual-0.4-plugins
  gstreamer1.0-tools libdata-dump-perl iwatch libauthen-sasl-perl libtext-soundex-perl opus-tools pulseaudio gstreamer1.0-plugins-ugly libtemplate-plugin-gd-perl libtemplate-plugin-xml-perl
  libauthen-ntlm-perl libunicode-map8-perl libunicode-string-perl xml-twig-tools open-iscsi watchdog perl-doc make libtap-harness-archive-perl procmail postfix-mysql postfix-pgsql postfix-ldap
  postfix-pcre postfix-lmdb postfix-sqlite sasl2-bin | dovecot-common libsasl2-modules | dovecot-common resolvconf postfix-cdb mail-reader ufw postfix-doc libpve-network-perl libgl1
  python3-crypto python3-setuptools python3-cryptography python3-openssl python3-socks python-requests-doc gsmartcontrol smart-notifier mailx | mailutils heimdal-clients sqlite3-doc xfsdump acl
  quota
Recommended packages:
  groff-base nftables libasync-interrupt-perl libev-perl | libevent-perl libguard-perl alsa-ucm-conf alsa-topology-conf libglib2.0-data shared-mime-info xdg-user-dirs gstreamer1.0-plugins-base
  libhtml-format-perl ibverbs-providers javascript-common libmath-random-isaac-xs-perl libdigest-bubblebabble-perl libnet-dns-sec-perl libnet-libidn-perl libperl4-corelibs-perl libgssapi-perl
  libsocket6-perl idn zfs-zed gstreamer1.0-libav gstreamer1.0-plugins-good libdata-dump-perl libhtml-form-perl libmailtools-perl libxml-sax-expat-perl libtext-iconv-perl libtie-ixhash-perl
  libxml-xpathengine-perl | libxml-xpath-perl bsd-mailx | mailx proxmox-backup-restore-image numactl python3-cryptography samba-common-bin

yeah quite a long list. Keep in mind that some thinks might be not working as expected on DietPi system. Especially the network layer changed from ifupdown to ifupdown2. Another thing, the installation strictly require OpenSSH instead of Dropbear SSH server. And finally, our default systemd-timesyncd is not working anymore. If I’m not mistaken, time synchronisation would need to be set to manual now.

I’ve installed this on my dietpi installation running on an Odroid HC4, sucessfully added it to my cluster which now consists of my old x86_64 desktop (main server), my old x86_64 laptop (built-in UPS hihi) and now a dietpi HC4.

@Joulinar regarding systemd-timesyncd, the installation added chrony so wouldnt that replace the functionality of the systemd service? I do get errors when trying to install anything using dietpi-timesyncd and have to override that step in the process in order to use it.

You need set time sync to manual within dietpi-config to avoid the time sync check during install and updates

1 Like

Thanks!

Turns out the little OLED display on the front of the HC4 has an RTC-clock on the back of it so can use that to keep track of the time.