Skip to content

Instantly share code, notes, and snippets.

@gtx28
Last active August 11, 2025 20:31
Show Gist options
  • Select an option

  • Save gtx28/7a6ba9a80751cac4136c3743bb701dd8 to your computer and use it in GitHub Desktop.

Select an option

Save gtx28/7a6ba9a80751cac4136c3743bb701dd8 to your computer and use it in GitHub Desktop.
PVE8-ARM fresh install
***Pi-Mox8 setup on raspberry pi 4b & cm4
***Raspberry PI OS setup
***Install raspbian x64 lite on raspberry pi
pull the latest copy of Raspberry Pi Imager, from here https://www.raspberrypi.com/software/ and Raspberry PI OS x64 lite based on debian 12 bookworm from here: https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit
open imager, click choose os, scroll to the bottom and select custom. open the image "2024-11-19-raspios-bookworm-arm64-lite.img.xz"
select storage and choose your usb device
click gear icon and add hostname, enable ssh, set username and pw etc.
write to usb/sd card then install in raspberry pi and boot system
once the system is up ssh into your new system
set root pw
`sudo passwd root`
login as root
`sudo su -`
install some tools to make life easier
`apt install -y neofetch tmux chrony ifupdown2`
open tmux session (this is not mandatory if you know you have a good network connection to the target)
`tmux new -s pimoxinstall`
run updates
`apt update && apt upgrade -y`
reboot now
login again as root
***Setup for proxmox8-arm64
Add Key for proxmox-arm8 mirror
`curl https://mirrors.apqa.cn/proxmox/debian/pveport.gpg -o /etc/apt/trusted.gpg.d/pveport.gpg`
create pveport.list file and populate with mirror info
`echo "deb https://global.mirrors.apqa.cn/proxmox/debian/pve bookworm port">/etc/apt/sources.list.d/pveport.list`
`apt update && apt full-upgrade`
add your ip and hostname to the /etc/hosts file
`nano /etc/hosts`
comment out the 127.0.1.1 address if thats in your hosts file
***Install PVE packages
`apt install -y proxmox-ve postfix open-iscsi`
for postfix config I selected "Local only" > then confirmed the same hostname entered earlier
reboot now
login again as root after reboot
verify everything is current no other updates needed
`apt update`
Disable popup about subscription:
open ssh session to your system
`sed -Ezi.bak "s/(Ext.Msg.show\\(\\{\\s+title: gettext\\('No valid sub)/void\\(\\{ \\/\\/\\1/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service`
increase swap space:
`nano /etc/dphys-swapfile`
increase the swap file space to 1gb or 1024 - "CONF\_SWAPSIZE=1024" - save the file then reboot the system
Fix memory stats for containers:
please modify cmdline.txt like
`nano /boot/firmware/cmdline.txt`
put the following parameters to the end of the line
`cgroup_enable=cpuset cgroup_enable=memory cgroup_memory=1`
login to web interface
open shell or ssh into system
make sure your timezone is set
timedatectl
make sure chrony is setup correctly
chronyc sources
config for chrony found @ /etc/chrony/chrony.conf
setup your normal config as per your own spec (add bridge0 users groups roles storage etc)
------
After PVE install
.://:` `://:.
`hMMMMMMd/ /dMMMMMMh` -----------------
`sMMMMMMMd: :mMMMMMMMs` OS: Proxmox VE 8.3.2+port aarch64
`-/+oo+/:`.yMMMMMMMh- -hMMMMMMMy.`:/+oo+/-` Host: Raspberry Pi Compute Module 4 Rev 1.1
`:oooooooo/`-hMMMMMMMyyMMMMMMMh-`/oooooooo:` Kernel: 6.6.62+rpt-rpi-v8
`/oooooooo:`:mMMMMMMMMMMMMm:`:oooooooo/` Uptime: 4 mins
./ooooooo+- +NMMMMMMMMN+ -+ooooooo/. Packages: 1141 (dpkg)
.+ooooooo+-`oNMMMMNo`-+ooooooo+. Shell: bash 5.2.15
-+ooooooo/.`sMMs`./ooooooo+- Terminal: /dev/pts/1
:oooooooo/`..`/oooooooo: CPU: (4) @ 1.500GHz
:oooooooo/`..`/oooooooo: Memory: 1123MiB / 7809MiB
-+ooooooo/.`sMMs`./ooooooo+-
.+ooooooo+-`oNMMMMNo`-+ooooooo+.
./ooooooo+- +NMMMMMMMMN+ -+ooooooo/.
`/oooooooo:`:mMMMMMMMMMMMMm:`:oooooooo/`
`:oooooooo/`-hMMMMMMMyyMMMMMMMh-`/oooooooo:`
`-/+oo+/:`.yMMMMMMMh- -hMMMMMMMy.`:/+oo+/-`
`sMMMMMMMm: :dMMMMMMMs`
`hMMMMMMd/ /dMMMMMMh`
`://:` `://:`
@rope-hmg
Copy link

rope-hmg commented Feb 2, 2025

This bit is out of date

Add Key for proxmox-arm8 mirror
`curl https://mirrors.apqa.cn/proxmox/debian/pveport.gpg -o /etc/apt/trusted.gpg.d/pveport.gpg`

create pveport.list file and populate with mirror info
`echo "deb https://global.mirrors.apqa.cn/proxmox/debian/pve bookworm port">/etc/apt/sources.list.d/pveport.list`

The correct values can be found here:
https://github.com/jiangcuo/Proxmox-Port/blob/main/help/repo.md

@malconus
Copy link

malconus commented Aug 9, 2025

I get the following message after running the proxmox install command (line 52)

E: Unable to locate package proxmox-ve

I've updated the mirrors using the link provided by @rope-hmg

Any suggestions on how to resolve this?

@shallax
Copy link

shallax commented Aug 10, 2025

Looks to me like the person hosting the repo has taken it offline and forced everyone to move over to "pxvirt": https://global.mirrors.apqa.cn/

If you've already run the above script, run the following (safe to do so even if you haven't run the script):

rm -rf /etc/apt/trusted.gpg.d/pveport.gpg
rm -rf /etc/apt/sources.list.d/pveport.list

Then, you can run the above script with the following substitutions:

  • Change L39 to:
    curl -L https://mirrors.lierfang.com/pxcloud/lierfang.gpg -o /etc/apt/trusted.gpg.d/lierfang.gpg
  • Change L42 to:
    echo "deb [arch=arm64] https://mirrors.lierfang.com/pxcloud/pxvirt bookworm main">/etc/apt/sources.list.d/pxvirt-sources.list
  • Change L52 to:
    apt install -y pxvirt postfix open-iscsi

Unfortunately, this also seems to have broken netboot for VMs on the Pi. Adding the RNG device, as suggested in the Proxmox forums, does not work.

Edit:
I've managed to get PXE/ netboot working again by downgrading the following packages:

apt install pve-docs:arm64=8.3.1 pve-edk2-firmware-ovmf:arm64=4.2024.11-3 proxmox-widget-toolkit:arm64=4.3.4 libpve-rs-perl:arm64=0.9.0 corosync:arm64=3.1.7-pve3 pve-qemu-kvm:arm64=9.2.0-2 libpve-cluster-api-perl:arm64=8.0.10 pve-edk2-firmware-legacy:arm64=4.2024.11-3 pve-ha-manager:arm64=4.0.6 pve-edk2-firmware-aarch64:arm64=4.2024.11-3 libpve-storage-perl:arm64=8.3.3 libpve-guest-common-perl:arm64=5.1.6 libvotequorum8:arm64=3.1.7-pve3 libquorum5:arm64=3.1.7-pve3 pve-cluster:arm64=8.0.10 libproxmox-rs-perl:arm64=0.3.4 proxmox-ve:arm64=8.3.0 novnc-pve:arm64=1.4.0-4 libcmap4:arm64=3.1.7-pve3 libcfg7:arm64=3.1.7-pve3 pve-xtermjs:arm64=5.3.0-3 qemu-server:arm64=8.3.7 libpve-access-control:arm64=8.2.0 pve-container:arm64=5.2.2+port1 libcpg4:arm64=3.1.7-pve3 pve-i18n:arm64=3.2.4 libpve-network-api-perl:arm64=0.10.0+port libpve-http-server-perl:arm64=5.1.2 pve-manager:arm64=8.3.3 libpve-common-perl:arm64=8.2.9+port1 libpve-network-perl:arm64=0.10.0+port libpve-notify-perl:arm64=8.0.10 pve-firewall:arm64=5.1.0 libcorosync-common4:arm64=3.1.7-pve3 proxmox-kernel-helper:arm64=8.1.0 proxmox-termproxy:arm64=1.0.1 libpve-cluster-perl:arm64=8.0.10

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment