Howto proxmox raspberrypi5

From Vidalinux Wiki
Jump to navigation Jump to search

install os

download latest raspios:

wget https://downloads.raspberrypi.com/raspios_arm64/images/raspios_arm64-2024-03-15/2024-03-15-raspios-bookworm-arm64.img.xz

raspberrypi official tool for windows:

https://downloads.raspberrypi.org/imager/imager_latest.exe

raspberrypi official tool for mac:

https://downloads.raspberrypi.org/imager/imager_latest.dmg

install raspberrypi official tool on archlinux:

yay -S rpi-imager-bin

install raspberrypi official tool on ubuntu:

apt install -y https://downloads.raspberrypi.org/imager/imager_latest_amd64.deb

configure repo

download repo public gpg key:

curl -o /usr/share/keyrings/pveport.gpg https://mirrors.apqa.cn/proxmox/debian/pveport.gpg 

configure proxmox repo:

echo "deb [deb=arm64 signed-by=/usr/share/keyrings/pveport.gpg] https://mirrors.apqa.cn/proxmox/debian/pve bookworm port" | tee /etc/apt/sources.list.d/pvport.list

configure rpi

update to latest:

apt update && apt dist-upgrade -y

add hostname to /etc/host:

cat >> /etc/hosts << EOF
127.0.0.1 localhost
127.0.1.1 raspberrypi
192.168.77.125 raspberrypi
EOF

edit network configuration:

cat >> /etc/network/interfaces << EOF
# loopback
auto lo
iface lo inet loopback
# eth0
iface eth0 inet static
# vmbr0 bridge
auto vmbr0
iface vmbr0 inet static
        address 192.168.77.125
        netmask 255.255.255.0
        gateway 192.168.77.254
        bridge-ports eth0
        bridge-stp off
        bridge-fd 0
EOF

configure nameservers:

cat >> /etc/resolv.conf << EOF
nameserver 8.8.8.8
nameserver 8.8.8.4
EOF

permit root login:

sed -i 's|^#PermitRootLogin*.*|PermitRootLogin yes|g' /etc/ssh/sshd_config

set root password:

passwd root

install packages

install this packages:

apt install ifupdown2 bridge-utils rsyslog -y

install firmware:

apt install pve-edk2-firmware -y

install proxmox packages:

apt install proxmox-ve postfix open-iscsi chrony mmc-utils usbutils pve-edk2-firmware-aarch64 -y

reboot system:

reboot

access web gui

https://192.168.77.125:8006

download image

do this in another computer with more resources

download image:

wget https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-arm64.img

in debian or ubuntu install guestfs-tools:

apt install guestfs-tools -y

in arch install guestfs-tools:

pacman -S guestfs-tools --noconfirm

in rhel install libguestfs-tools:

yum install libguestfs-tools -y

change image root password:

virt-sysprep -a jammy-server-cloudimg-arm64.img -q --root-password password:vidalinux

resize image:

cp jammy-server-cloudimg-arm64.img jammy-server-cloudimg-arm64_10G.img
qemu-img resize jammy-server-cloudimg-arm64_10G.img +8G

expand image:

virt-resize --expand /dev/sda1 jammy-server-cloudimg-arm64.img jammy-server-cloudimg-arm64_10G.img

create vm

transfer image to raspi:

scp jammy-server-cloudimg-arm64_10G.img root@192.168.77.125:/var/lib/vz/images/

create vm using cli:

qm create 100 --name ubuntu --ostype l26 --cpu max --cores 1 --memory 512 --scsihw virtio-scsi-pci --net0 virtio,bridge=vmbr0 --bios ovmf --efidisk0 local:0,efitype=4m,pre-enrolled-keys=0 --serial0 socket

add image to vm:

cd /var/lib/vz/images
qm importdisk 100 ./jammy-server-cloudimg-arm64_10G.img local

to enter with ssh edit vim /etc/ssh/sshd_config:

PermitRootLogin yes
PasswordAuthentication yes
#KbdInteractiveAuthentication no

then restart sshd service:

systemctl restart sshd

remove cloud-init:

apt remove cloud-init -y

create container

download devuan image:

wget https://images.linuxcontainers.org/images/devuan/beowulf/arm64/default/20240429_11%3A50/rootfs.tar.xz -O ./devuan-rootfs.tar.xz

create container in using pct:

pct create 102 ./devuan-rootfs.tar.xz --hostname devuan --memory 512 --net0 name=eth0,bridge=vmbr0 --storage local --unprivileged 1 --password="vidalinux" --arch arm64

references