Well assuming that I had to run all the code on the node shell I finally got it to work. The original instructions on top of this thread don't work for a brand new install of Proxmox 8.2.2
These are the steps I took to get drivers installed on Proxmox 8.2.2 node
First had to square the repositories since I don't have a proxmox subscription
Goto repositories and disable all reps that have the word “enterprise” on them. Think there are two of them. If you do have a proxmox license you would skip this step, and probably there wouldn’t be a need to do the sources.list modifications since you should be all squared away with your repositories already.
Code:
nano /etc/apt/sources.list.d/ceph.list
then replace what is there with:
Code:
deb http://download.proxmox.com/debian/ceph-reef bookworm no-subscription
save and exit
then
Code:
nano /etc/apt/sources.list
then replace what is there with:
Code:
deb http://ftp.debian.org/debian bookworm main contrib
deb http://ftp.debian.org/debian bookworm-updates main contrib
# Proxmox VE pve-no-subscription repository provided by proxmox.com,
# NOT recommended for production use
deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription
# security updates
deb http://security.debian.org/debian-security bookworm-security main contrib
save and exit
Once repositories were squared away I ran the following commands:
Code:
apt update
apt install pve-headers
apt-get install
apt remove gasket-dkms
apt install git
apt install devscripts
apt install dh-dkms
apt install dkms
The last command, apt install dkms is not listed on the original instructions, without installing dkms the debuild command won't work.
So I just ran it again on a new proxmox install and after doing apt-get install (or other command) I did get some errors about some things not being signed so they didn't install, but you can just keep going and it should work. It has to do with the registries. I think on my previous install I did go in and disabled all enterprise reps, but on this new setup I didn't
To continue I ran the following commands:
Code:
cd /home
git clone https://github.com/google/gasket-driver.git
cd gasket-driver/
debuild -us -uc -tc -b
cd ..
dpkg -i gasket-dkms_1.0-18_all.deb
apt update && apt upgrade
Something to keep in mind, the original instructions list "cd.." it should actually be "cd .." the space is important. What cd .. does is bring you back one folder, basically back to the /home folder. After that I rebooted proxmox server and ran the following commands to install Coral
Code:
echo "deb https://packages.cloud.google.com/apt coral-edgetpu-stable main" | tee /etc/apt/sources.list.d/coral-edgetpu.list
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
apt-get update
apt-get install gasket-dkms libedgetpu1-std
sh -c "echo 'SUBSYSTEM==\"apex\", MODE=\"0660\", GROUP=\"apex\"' >> /etc/udev/rules.d/65-apex.rules"
groupadd apex
adduser $USER apex
lspci -nn | grep 089a
When I ran the last command I got:
Code:
got 03:00.0 System peripheral [0880]: Global Unichip Corp. Coral Edge TPU [1ac1:089a
So far so good. I then rebooted the system again, and ran:
ls /dev/apex_0
The original instructions don't mention to reboot, so when I ran ls /dev/apex_0 I got ls: cannot access '/dev/apex_0': No such file or directory, but I did the reboot, and ran the command again
Code:
root@proxmox:~# ls /dev/apex_0
/dev/apex_0
Seems like I got it working!
From there I ran:
and changed toe GRUB_CMDLINE_LINUX_DEFAULT line to:
Code:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"
Saved and exited. Then ran this command to update the grub
Then we have one last file to modify
Then added this info
Code:
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
rebooted the system and ran ls /dev/apex_0 just to make sure everything was still ok.
I know it is pretty much same thing as OP posted, but without updating the registries and doing the install dkms command it wouldn't work.
Final step on the proxmox node to passthrough the coral to Lxc container. First you want to create your LXC container if you haven’t done so already. Then run:
A list of your lxc containers should show up with container number.conf in my case it was 100 so I ran this:
and added this code at the bottom of lxc.mount.entry list
Code:
lxc.mount.entry: /dev/apex_0 dev/apex_0 none bind,optional,create=file
save and exit.
That is it, you would then follow instructions on how to create your frigate codes, and it should work! At least it did for me!