mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-11-02 19:02:31 +00:00
Describe the GPU and Coral assistants as the scripts run them
This commit is contained in:
@@ -18,7 +18,7 @@
|
||||
},
|
||||
"prereqs": {
|
||||
"title": "Innan du börjar",
|
||||
"drivers": "<strong>Förbered Coral på värden</strong>. M.2 / PCIe kräver att värddrivrutinen är laddad; USB kräver enhetsåtkomst och rätt behörigheter. Se <hostLink>Installera Coral TPU på värden</hostLink>. Appens körmiljö måste finnas i containern.",
|
||||
"drivers": "<strong>Förbered Coral-enheten på värden</strong>. M.2 / PCIe kräver att värddrivrutinen är laddad; USB kräver enhetsåtkomst och rätt behörigheter. Se <hostLink>Installera Coral TPU på värden</hostLink>. Skriptet installerar appens körmiljö i Debian/Ubuntu-containrar; andra distributioner måste tillhandahålla den separat.",
|
||||
"driversCheck": "ls /dev/apex_* 2>/dev/null ; lsusb | grep -E '1a6e:089a|18d1:9302'",
|
||||
"container": "<strong>En befintlig LXC</strong>, helst baserad på <strong>Debian / Ubuntu</strong>: installationen använder <code>apt-get</code>. <strong>Containrar med andra distributioner</strong> kan välja <strong>läge med enbart enhetsåtkomst</strong>, som hoppar över APT-installationen av <code>libedgetpu</code>. Passar om appen redan innehåller körmiljön, som Frigates Docker-avbildning.",
|
||||
"downtime": "<strong>Planera ett kort driftstopp</strong> för containern. Skriptet stoppar den för konfiguration och startar den för installation av körmiljön. Dessa ändringar kräver ingen omstart av värden."
|
||||
@@ -44,7 +44,7 @@
|
||||
},
|
||||
"gpuHint": {
|
||||
"title": "Valfritt förslag om GPU-åtkomst",
|
||||
"body": "Om en GPU hittas men inte är konfigurerad för containern rekommenderas <lxcGpuLink>Lägg till GPU i LXC</lxcGpuLink> för videoavkodning, som Quick Sync, VA-API eller NVDEC. Frågan gäller fortsatt installation av enbart Coral: Ja fortsätter, Nej avslutar så att GPU:n kan konfigureras först."
|
||||
"body": "Om en GPU hittas men inte är konfigurerad för den här containern rekommenderar en dialog <lxcGpuLink>Lägg till GPU i LXC</lxcGpuLink> för hårdvaruavkodning av video, som Quick Sync, VA-API eller NVENC. Den frågar om installationen ska fortsätta med enbart Coral: Ja fortsätter TPU-konfigurationen, Nej avslutar så att du kan konfigurera GPU:n först."
|
||||
},
|
||||
"usb": {
|
||||
"title": "Konfigurera USB-åtkomst i LXC",
|
||||
@@ -55,7 +55,7 @@
|
||||
"pcie": {
|
||||
"title": "Konfigurera M.2 / PCIe-åtkomst i LXC",
|
||||
"body1": "Om M.2 / PCIe-Coral hittas och <code>/dev/apex_0</code> finns används Proxmox API <code>dev</code> för cgroup2-behörigheter i privilegierade och oprivilegierade LXC:",
|
||||
"body2": "Om <code>/dev/apex_0</code> ännu saknas efter <hostLink>Installera Coral på värden</hostLink> används klassisk cgroup2-konfiguration och en valfri bind-montering med <code>create=file</code>. Det skapar inte i sig en fungerande enhet:",
|
||||
"body2": "Om <code>/dev/apex_0</code> saknas efter <hostLink>Installera Coral på värden</hostLink> skriver skriptet en bind-montering med <code>create=file</code> och, endast när apex-majornumret finns listat i <code>/proc/devices</code>, en klassisk cgroup2-regel. Ingen av dem skapar en fungerande enhet:",
|
||||
"rebootTitle": "Starta om värden först om du nyss installerat Coral-drivrutiner",
|
||||
"rebootBody": "Reservmonteringen laddar inte värdens <code>apex</code>-drivrutin. Ladda den eller starta om efter installationen och kontrollera enheten. Kör sedan skriptet igen för den moderna enhetsposten och starta om containern."
|
||||
},
|
||||
@@ -92,7 +92,7 @@
|
||||
"troubleshoot": {
|
||||
"heading": "Felsökning",
|
||||
"apexTitle": "LXC har startat men /dev/apex_0 saknas",
|
||||
"apexBody": "Kontrollera värdens drivrutin: <code>lsmod | grep apex</code>. Om den saknas, prova <code>modprobe apex</code> eller starta om efter installationen. När <code>/dev/apex_0</code> finns på värden, kontrollera LXC-enhetsposten och starta om med <code>pct stop <ctid> && pct start <ctid></code>.",
|
||||
"apexBody": "Kontrollera först värdens drivrutin: <code>lsmod | grep apex</code>. Om den saknas, prova <code>modprobe apex</code> eller starta om efter installationen av drivrutinen. När <code>/dev/apex_0</code> finns på värden, kontrollera LXC-enhetsposten (kör skriptet igen om bara reservposterna skrevs) och starta om containern med <code>pct stop <ctid> && pct start <ctid></code>.",
|
||||
"replugTitle": "USB-Coral försvinner efter återanslutning till en annan port",
|
||||
"replugBody": "Kontrollera att LXC monterar <code>/dev/bus/usb</code> i stället för länken <code>/dev/coral</code>. Konfigurationen ska innehålla <code>lxc.mount.entry: /dev/bus/usb dev/bus/usb ...</code> utan direkt beroende av <code>/dev/coral</code>. Kör skriptet igen om konfigurationen är gammal.",
|
||||
"alpineTitle": "Alpine / Arch / RHEL / SUSE: körmiljö inte installerad",
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
"heading": "Steg för steg",
|
||||
"detect": {
|
||||
"title": "Upptäck GPU och kontrollera IOMMU",
|
||||
"body": "Kontrollerar aktiv IOMMU, inte bara parametrar. Separat bekräftelse kan lägga till <code>intel_iommu=on</code> eller <code>amd_iommu=on</code> med <code>iommu=pt</code>. Väljer <code>/etc/kernel/cmdline</code> vid ZFS-markör som <code>root=ZFS=</code>, annars <code>/etc/default/grub</code>. Heuristiken bevisar inte vilken starthanterare som används. Starta om och kontrollera faktiska grupper.",
|
||||
"body": "Betraktar IOMMU som aktivt endast när den körande kärnan har <code>intel_iommu=on</code> eller <code>amd_iommu=on</code> och IOMMU-grupper finns. Om parametern redan är sparad för nästa start fortsätter den i läget väntande omstart; annars kan ett separat bekräftat steg lägga till den med <code>iommu=pt</code>. Dess heuristik för startfilen använder <code>/etc/kernel/cmdline</code> när en ZFS-rotmarkör som <code>root=ZFS=</code> finns där; annars används <code>/etc/default/grub</code>. Heuristiken bevisar inte vilken starthanterare som faktiskt används. Nykonfigurerad IOMMU börjar gälla efter omstart; kontrollera de faktiska grupperna efteråt.",
|
||||
"tipTitle": "Har du redan gjort efterinstallationen?",
|
||||
"tipBody": "Om <postLink>VFIO IOMMU-stöd</postLink> redan är inställt och aktivt i kerneln godkänns kontrollen. En inställning för nästa start bevisar inte att det är aktivt nu.",
|
||||
"imageAlt": "Lista över upptäckta GPU med leverantör och PCI-adress"
|
||||
@@ -58,7 +58,7 @@
|
||||
"<strong>En enda GPU.</strong> Den lokala konsolen kan förlora bildutmatningen när VFIO reserverar GPU:n. Kontrollera först SSH- eller webbåtkomst från en annan dator.",
|
||||
"<strong>AMD-policy för återställning.</strong> Läser <code>/sys/bus/pci/devices/<pci>/reset_method</code>. APU eller separat kort utan FLR <em>blockeras av guidens policy</em>; okänd undertyp utan FLR kräver bekräftelse. Det bevisar inte att funktionen är omöjlig i alla miljöer.",
|
||||
"<strong>D3cold-läge.</strong> Guiden blockerar AMD-kort som rapporterar <code>D3cold</code> på grund av risk för aktiveringsfel. Kontrollera strömhantering och firmware.",
|
||||
"<strong>IOMMU-grupp.</strong> Läser <code>/sys/kernel/iommu_groups/</code> och tar med <em>alla medlemmar utom bryggor</em>, även nätverks- eller lagringskontroller. Kontrollera före bekräftelse. Om IOMMU väntar på omstart planeras först bara GPU-funktionen; kontrollera isoleringen efteråt."
|
||||
"<strong>Analys av IOMMU-grupp.</strong> Läser <code>/sys/kernel/iommu_groups/</code> och tar med <em>alla medlemmar utom bryggor</em> i VM-planen, möjligen nätverks- eller lagringskontroller. Skriptet listar dem inte, så kontrollera gruppen själv före bekräftelse. Om IOMMU väntar på omstart är de faktiska grupperna inte tillgängliga och planen innehåller först bara den valda GPU-funktionen; kontrollera isoleringen efter omstarten."
|
||||
],
|
||||
"audioIntro": "<strong>Tillhörande ljud.</strong> Två fall beroende på var kontrollern finns:",
|
||||
"audioDgpu": "<strong>Separat GPU:</strong> HDMI-ljud finns ofta på funktion <code>.1</code> i samma PCI-plats och tas med om det hittas. Om värden använde ljudet förlorar den åtkomsten när det reserveras för VM:n.",
|
||||
@@ -75,7 +75,7 @@
|
||||
"items": [
|
||||
"<strong>GPU tillgänglig.</strong> Fortsätter utan att ta bort tilldelningar.",
|
||||
"<strong>Tilldelad till en annan VM.</strong> Stoppa först källan. Välj <em>behåll poster och inaktivera automatisk start</em> eller <em>ta bort poster och behåll automatisk start</em>. Med aktiv <code>vfio-pci</code> utan nödvändiga värdändringar kan VM→VM ske utan omstart av värden.",
|
||||
"<strong>Används av LXC.</strong> För vanliga containrar, <em>behåll konfigurationen och inaktivera automatisk start</em> eller <em>ta bort enheter och äldre <code>lxc.cgroup2.devices.allow</code>/<code>lxc.mount.entry</code>-regler men behåll automatisk start</em>. OCI behåller konfigurationen och stoppas utan automatisk start; ta bort dess GPU i Apps. Familjebaserad identifiering kan omfatta fler kort."
|
||||
"<strong>GPU som används av LXC.</strong> För vanliga containrar, välj <em>behåll GPU-konfigurationen och inaktivera automatisk start</em> eller <em>ta bort GPU-enhetskonfigurationen och behåll automatisk start</em>. Borttagningen raderar <code>devN</code>-posterna och, för AMD/Intel, även äldre <code>/dev/dri</code>-regler för <code>lxc.mount.entry</code> och <code>lxc.cgroup2.devices.allow</code>. OCI-containrar behåller sin konfiguration och stoppas med automatisk start inaktiverad; ta bort deras GPU via OCI manager Apps. Konfliktidentifieringen sker per GPU-enhetsfamilj och kan omfatta andra kort i samma familj."
|
||||
],
|
||||
"imageAlt": "Dialog erbjudande att ta bort GPU från en LXC innan tilldela den till VM",
|
||||
"smartTitle": "Granska tillhörande ljud när GPU:n tas bort",
|
||||
@@ -90,7 +90,7 @@
|
||||
},
|
||||
"summary": {
|
||||
"title": "Granska bekräftelse sammanfattning",
|
||||
"body": "Granska slutplanen, särskilt varje IOMMU-medlem, och avbryt om något är fel. Stoppar huvudändringarna men återställer inte en tidigare separat bekräftad IOMMU-startändring.",
|
||||
"body": "Granska den slutliga planen för värd och VM och avbryt om den är fel. Den visar IOMMU-gruppen och antalet enheter i den, inte varje medlem, så kontrollera gruppen i förväg. Att avbryta stoppar huvudändringarna men återställer inte en tidigare separat bekräftad ändring av IOMMU-startkonfigurationen.",
|
||||
"imageAlt": "Översikt över planerade ändringar på värd och VM"
|
||||
},
|
||||
"hostApply": {
|
||||
@@ -102,7 +102,7 @@
|
||||
"Skriver <code>/etc/modprobe.d/iommu_unsafe_interrupts.conf</code> och <code>kvm.conf</code> med <code>allow_unsafe_interrupts=1</code> och <code>ignore_msrs=1</code>. Detta är skriptets kompatibilitetsval, inga universella Windows/macOS-krav; osäkra avbrott försvagar avbrottsomappningens skydd.",
|
||||
"<code>/etc/modprobe.d/blacklist.conf</code>: NVIDIA — <code>nouveau</code>/<code>lbm-nouveau</code>; AMD — <code>radeon</code> + <code>amdgpu</code>; Intel — <code>i915</code>. Dessa regler per tillverkare kan påverka andra kort med samma drivrutin. Modulen <code>nvidia</code> blockeras <strong>bara</strong> via <code>/etc/modprobe.d/proxmenux-nvidia-vfio-blacklist.conf</code> när <em>alla</em> värdens NVIDIA-kort är registrerade för VFIO.",
|
||||
"<code>/etc/udev/rules.d/10-proxmenux-vfio-bind.rules</code> + <code>/etc/proxmenux/vfio-bind.bdfs</code> — <strong>Endast NVIDIA.</strong> Sätter <code>ATTR'{'driver_override'}'=\"vfio-pci\"</code> vid PCI ADD för registrerade BDF:er, inklusive berörda IOMMU-gruppfunktioner. Utanför grupperna kan <code>nvidia</code> behållas. BDF-policy delar inte upp hårdvarans IOMMU-grupp.",
|
||||
"<strong>Endast AMD.</strong> Försöker läsa ROM från <code>/sys/bus/pci/.../rom</code> eller ACPI VFCT till <code>/usr/share/kvm/vbios_<card>.bin</code>. Vid framgång används <code>romfile=</code>. En giltig ROM garanterar inte GPU-initialisering.",
|
||||
"<strong>Endast AMD.</strong> Försöker dumpa ROM från <code>/sys/bus/pci/.../rom</code> eller ACPI VFCT till <code>/usr/share/kvm/vbios_<vendor>_<device>.bin</code>. Vid framgång använder VM:en <code>romfile=</code>. En giltig dump garanterar inte att GPU-initialiseringen lyckas.",
|
||||
"<strong>Endast NVIDIA.</strong> Stoppar och inaktiverar <code>nvidia-persistenced</code>, <code>nvidia-powerd</code>, <code>nvidia-fabricmanager</code> bara när alla NVIDIA-kort reserverats för VFIO. Vid blandad användning behålls tjänsterna och <code>nvidia</code> för vanliga värdkort.",
|
||||
"<code>update-initramfs -u -k all</code> - körs endast om något av ovanstående faktiskt ändrats."
|
||||
]
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
},
|
||||
"intro": {
|
||||
"title": "Vad det gör",
|
||||
"body": "Lägger till <code>dev<N></code> i <code>/etc/pve/lxc/<ctid>.conf</code> för tillämpliga <code>/dev/dri/*</code>-, <code>/dev/kfd</code>- eller <code>/dev/nvidia*</code>-enheter. Startar containern, installerar distributionspaket och anpassar <code>video</code> och <code>render</code>. Acceleration kräver kompatibel hårdvara, bibliotek och appinställningar."
|
||||
"body": "Lägger till <code>dev<N></code>-poster i <code>/etc/pve/lxc/<ctid>.conf</code> för tillämpliga <code>/dev/dri/*</code>-, <code>/dev/kfd</code>- eller <code>/dev/nvidia*</code>-noder. Startar containern, installerar userspace-paket för dess distribution och anpassar, för Intel/AMD, grupperna <code>video</code> och <code>render</code>. Appacceleration kräver fortfarande kompatibel hårdvara, bibliotek och appinställningar."
|
||||
},
|
||||
"compare": {
|
||||
"heading": "LXC-delning jämfört med VM-passthrough",
|
||||
@@ -78,7 +78,7 @@
|
||||
},
|
||||
"pickCt": {
|
||||
"title": "Välj en LXC-container",
|
||||
"body": "Listar lämpliga LXC-containrar med ID och namn. OCI undantas; enheterna ändras under Apps i OCI-hanteraren. Containern stoppas för konfigurering, startas för installation och återgår normalt till ursprungligt läge.",
|
||||
"body": "Listar lämpliga LXC-containrar med ID och namn; OCI-containrar undantas och använder OCI manager Apps för enheter. Containern stoppas om den körs, startas för installation av drivrutiner och återgår normalt till sitt ursprungliga läge (igång/stoppad).",
|
||||
"imageAlt": "Val av en befintlig LXC-container"
|
||||
},
|
||||
"selectGpu": {
|
||||
@@ -98,7 +98,7 @@
|
||||
},
|
||||
"applyConfig": {
|
||||
"title": "Tillämpa ändringarna i LXC-konfigurationen",
|
||||
"body1": "Stoppar containern och ändrar <code>/etc/pve/lxc/<ctid>.conf</code>. Poster av typen <code>dev<N></code> innehåller valda GID:n. Mekanismen <code>dev:</code> ersätter här manuella <code>lxc.mount.entry</code>-regler. Kontrollera slutlig konfiguration och rättigheter.",
|
||||
"body1": "Stoppar containern om den körs och ändrar <code>/etc/pve/lxc/<ctid>.conf</code>. Numrerade <code>dev<N></code>-poster innehåller värdens GID för <code>video</code> eller <code>render</code>. Befintliga <code>lxc.mount.entry</code>-bindrader för <code>/dev/dri</code> ersätts av <code>dev:</code>-poster; kontrollera slutlig konfiguration och rättigheter.",
|
||||
"body2": "Exempel efter Intel + NVIDIA på samma container:"
|
||||
},
|
||||
"installDrivers": {
|
||||
@@ -127,14 +127,14 @@
|
||||
},
|
||||
"alignGids": {
|
||||
"title": "Anpassa GID:n och återställ tillståndet",
|
||||
"body1": "Läser värdens GID:n för <code>video</code> och <code>render</code>, med 44/104 som reservvärden, och ändrar <code>/etc/group</code> i containern. <code>video:44</code> och <code>render:104</code> är exempel, inte universella ID:n. Kontrollera appens grupper och faktiska rättigheter.",
|
||||
"body1": "För Intel/AMD läses värdens GID:n för <code>video</code> och <code>render</code>, med 44/104 endast som reservvärden, och sedan ändras <code>/etc/group</code> i containern så att de matchar; körningar med enbart NVIDIA hoppar över steget. Poster som <code>video:44</code> och <code>render:104</code> är exempel, inte universella ID:n. Kontrollera appens gruppmedlemskap och faktiska enhetsrättigheter.",
|
||||
"body2": "Vid normal avslutning stoppas en från början stoppad container igen; en som kördes fortsätter köra. Vid start- eller installationsfel, kontrollera slutläget och loggen."
|
||||
}
|
||||
},
|
||||
"vendors": {
|
||||
"heading": "Anmärkningar per tillverkare",
|
||||
"intelHeading": "Intel iGPU",
|
||||
"intelBody": "Intel-acceleration med <em>Quick Sync</em> beror på generation, kodekar och appinställningar. Delar befintliga noder som <code>/dev/dri/card0</code> och <code>/dev/dri/renderD128</code>; numreringen kan variera. Värdens vanliga drivrutin, exempelvis <code>i915</code>, måste tillhandahålla dem.",
|
||||
"intelBody": "Intels mediaacceleration, inklusive <em>Quick Sync</em>, beror på GPU-generation, kodekar och appinställningar. Skriptet delar de av <code>/dev/dri/card0</code>, <code>card1</code>, <code>renderD128</code> och <code>renderD129</code> som finns; andra nodnummer läggs inte till. Värden måste redan tillhandahålla dem via sin inbyggda drivrutin, exempelvis <code>i915</code>.",
|
||||
"amdHeading": "AMD",
|
||||
"amdBody": "AMD använder DRI för Mesa/VA-API. Om värden har <code>/dev/kfd</code> delas även den. ROCm/OpenCL kräver kompatibel hårdvara och bibliotek; enhetsdelning installerar inte hela ROCm-miljön.",
|
||||
"nvidiaHeading": "NVIDIA",
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
"title": "PCIe: modulerna gasket och apex med DKMS",
|
||||
"body": "Körs bara om en PCIe/M.2-Coral hittas. Bygger moduler för den kernel som värden kör.",
|
||||
"items": [
|
||||
"<strong>Rensning.</strong> Om en tidigare installation av <code>gasket-dkms</code> lämnat paketen i felaktigt tillstånd försöker skriptet rensa bort den före bygget.",
|
||||
"<strong>Rensning.</strong> Ett befintligt <code>gasket-dkms</code>-paket tas bort före ombygget; om paketet är i ett felaktigt tillstånd tvingar skriptet fram borttagning och rensning (purge).",
|
||||
"<strong>Byggberoenden:</strong> <code>git</code>, <code>dkms</code>, <code>build-essential</code>, <code>proxmox-headers-$(uname -r)</code>."
|
||||
],
|
||||
"cloneIntro": "<strong>Klonar drivrutinens källkod.</strong> Föredrar <feranickLink>feranick/gasket-driver</feranickLink>, annars används <googleLink>google/gasket-driver</googleLink>. Bygget kräver en kompatibel kernel. Google-koden får följande versionsberoende ändringar:",
|
||||
@@ -132,7 +132,7 @@
|
||||
"Rensar bort <code>gasket-dkms</code>, <code>libedgetpu1-std</code> och <code>libedgetpu1-max</code> och kör <code>apt-get autoremove --purge</code>.",
|
||||
"Tar bort <code>/etc/udev/rules.d/99-coral-apex.rules</code> och återställer standardgruppen i <code>60-gasket-dkms.rules</code> om filen finns kvar.",
|
||||
"Kontrollerar kompletterande medlemmar i <code>apex</code>. <strong>Om listan är tom</strong> försöker skriptet ta bort gruppen; annars behålls <code>apex</code> och medlemmarna listas. Användare med gruppen som primär grupp kontrolleras inte fullständigt.",
|
||||
"Tar bort äldre förrådsfiler som <code>/etc/apt/sources.list.d/coral-edgetpu.list</code> och nyckelringar med namnet <code>coral-edgetpu-archive-keyring.gpg</code>. Den aktuella nyckelringen /etc/apt/keyrings/coral-edgetpu.gpg lämnas kvar.",
|
||||
"Tar bort förrådslistan <code>/etc/apt/sources.list.d/coral-edgetpu.list</code>, den äldre <code>coral-cloud.list</code> och gamla nyckelringar med namnet <code>coral-edgetpu-archive-keyring.gpg</code>. Den aktuella nyckelringen i <code>/etc/apt/keyrings/coral-edgetpu.gpg</code> tas inte bort av den här sekvensen.",
|
||||
"Erbjuder omstart <strong>bara om PCIe var installerat</strong> för att ta bort kvarvarande moduler ur kerneln. Avinstallation av enbart USB kräver ingen omstart."
|
||||
],
|
||||
"lxcWarnTitle": "LXC containrar med apex genomgång",
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
},
|
||||
"intro": {
|
||||
"title": "Vad det gör",
|
||||
"body": "Identifierar GPU:n och erbjuder underhållna grenar med dess PCI-ID. Blockerar <code>nouveau</code>, hämtar den officiella <code>.run</code>-installationen, använder DKMS och installerar <code>nvidia-persistenced</code> med udev-regler; NVENC-patch är valfri. Byggkontroller gäller aktuell kärna utan att garantera alla appar. NVIDIA-LXC kan få matchande användarbibliotek."
|
||||
"body": "ProxMenux identifierar GPU:n och erbjuder underhållna NVIDIA-grenar som listar dess PCI-ID. Det blockerar <code>nouveau</code>, hämtar den officiella <code>.run</code>-installationen, använder DKMS, installerar <code>nvidia-persistenced</code>, udev-regler och NVIDIA Container Toolkit och erbjuder en valfri NVENC-patch. Byggkontroller bedömer den körande kärnan; en lyckad kompilering garanterar inte att alla appar fungerar. Befintliga NVIDIA-LXC erbjuds en uppdatering av användarbiblioteken, med matchande version utom på Arch."
|
||||
},
|
||||
"who": {
|
||||
"heading": "Vem är detta för?",
|
||||
@@ -89,7 +89,7 @@
|
||||
},
|
||||
"reboot": {
|
||||
"title": "Starta om",
|
||||
"body": "Bygger om <code>initramfs</code> för alla kärnor och erbjuder omstart. <strong>Planera den omstarten</strong> för att kontrollera moduler och nouveau-konfiguration vid ny start, även om drivrutinen redan svarar före omstarten."
|
||||
"body": "Efter installationen av drivrutinen bygger skriptet om <code>initramfs</code> för alla kärnor; dess sista steg erbjuder omstart. <strong>Planera den omstarten</strong> för att kontrollera den beständiga modul- och nouveau-konfigurationen vid en ny start, även om den nya drivrutinen redan svarar före omstarten."
|
||||
}
|
||||
},
|
||||
"reinstallUninstall": {
|
||||
@@ -102,8 +102,8 @@
|
||||
"uninstallHeading": "Avinstallera - vad som tas bort",
|
||||
"uninstallIntro": "Efter Ja/Nej-bekräftelse tas följande komponenter bort:",
|
||||
"uninstallItems": [
|
||||
"Kör <code>nvidia-uninstall --silent</code> för <code>.run</code>-installationen, stoppar och inaktiverar <code>nvidia-persistenced</code> och <code>nvidia-powerd</code> och försöker ladda ur <code>nvidia_uvm</code>, <code>nvidia_drm</code>, <code>nvidia_modeset</code> och <code>nvidia</code>. NVIDIA-LXC påverkas; aktiva klienter kan hindra urladdningen.",
|
||||
"Kör <code>apt purge</code> på <code>nvidia-*</code>, <code>libnvidia-*</code>, <code>cuda-*</code> och <code>libcudnn*</code>, tar bort DKMS källträd och <code>/opt/nvidia</code> .run installer cache.",
|
||||
"Stoppar och inaktiverar <code>nvidia-persistenced</code> och <code>nvidia-powerd</code>, försöker ladda ur <code>nvidia_uvm</code>, <code>nvidia_drm</code>, <code>nvidia_modeset</code> och <code>nvidia</code> och kör sedan <code>nvidia-uninstall --silent</code> för <code>.run</code>-installationen. NVIDIA-beroende LXC-arbetslaster påverkas; aktiva klienter kan hindra urladdningen.",
|
||||
"Kör <code>apt purge</code> på <code>nvidia-*</code>, <code>libnvidia-*</code>, <code>cuda-*</code> och <code>libcudnn*</code>, tar bort DKMS-källträdet och mapparna <code>nvidia-persistenced</code> och <code>nvidia-patch</code> under <code>/opt/nvidia</code>.",
|
||||
"Tar bort modulkonfigurationen <code>/etc/modules-load.d/nvidia-vfio.conf</code> och ProxMenux egna nouveau-blockeringar. Äldre ProxMenux-filer med de två kända raderna migreras och tas bort; ändrade eller orelaterade administratörsfiler bevaras.",
|
||||
"Tar bort <code>/etc/udev/rules.d/70-nvidia.rules</code> och sätter NVENC-status till <em>removed</em> i registret för hanterade installationer; ingen separat statusfil finns.",
|
||||
"Bygger om <code>initramfs</code> för alla kärnor, kör <code>proxmox-boot-tool refresh</code> enligt startkonfigurationen och frågar om omstart."
|
||||
|
||||
@@ -42,21 +42,21 @@
|
||||
},
|
||||
{
|
||||
"situation": "Jag vill ta bort alla tilldelningar av denna GPU.",
|
||||
"use": "LXC-läget återför GPU:n till värdens drivrutin; ta bort gästtilldelningar med motsvarande konfliktval. GPU:n är fortfarande bunden till en drivrutin."
|
||||
"use": "LXC-läget återför GPU:n till värdens drivrutin; VM-konfliktpolicyn kan ta bort hostpci-poster, men LXC-enhetsposter måste tas bort separat. GPU:n är fortfarande bunden till en drivrutin."
|
||||
}
|
||||
]
|
||||
},
|
||||
"prereqs": {
|
||||
"title": "Innan du börjar",
|
||||
"assigned": "<strong>En redan tilldelad GPU</strong> i en VM via VFIO eller i en LXC. För första tilldelningen, använd Lägg till GPU i VM / LXC.",
|
||||
"iommu": "<strong>IOMMU måste vara aktivt på värden</strong> vid byte <em>till</em> VM-läge. Firmware och kärnstöd behövs; explicita parametrar är inte alltid nödvändiga. Vid behov försöker skriptet lägga till <code>intel_iommu=on iommu=pt</code> eller <code>amd_iommu=on</code> via aktiv startkonfiguration med <code>proxmox-boot-tool refresh</code> eller <code>update-grub</code>. Granska varningar och starta om när du uppmanas.",
|
||||
"iommu": "<strong>IOMMU måste vara aktivt på värden</strong> vid byte <em>till</em> VM-läge. Både firmwareinställningar och kärnstöd spelar roll. Om <code>intel_iommu=on</code> eller <code>amd_iommu=on</code> saknas i den körande kärnan lägger skriptet till det med <code>iommu=pt</code> i <code>/etc/kernel/cmdline</code> (ZFS-rotmarkör) eller <code>/etc/default/grub</code> och kör sedan <code>proxmox-boot-tool refresh</code> eller <code>update-grub</code>. Granska eventuella varningar och starta om när du uppmanas.",
|
||||
"iommuCheck": "dmesg | grep -i 'IOMMU enabled' | head -1",
|
||||
"reboot": "<strong>Planera en omstart.</strong> Beständiga drivrutins- och startändringar kan kräva ombyggnad av initramfs och omstart. Skriptet frågar om detta i slutet.",
|
||||
"knowList": "<strong>Ta reda på vilka VM och LXC som använder GPU:n.</strong> Skriptet hittar referenser och frågar hur varje gäst ska hanteras; en känd lista underlättar granskningen."
|
||||
},
|
||||
"blocklist": {
|
||||
"title": "Inte alla GPU är säkra att passera till en VM",
|
||||
"body": "Skriptet blockerar VM-läge för vissa enhets-ID, bland annat <code>8086:5a84</code> och <code>8086:5a85</code>, enligt sin kompatibilitetspolicy. En träff visar en varning. Listan hindrar inte byte <em>till</em> LXC-läge; andra kontroller kan fortfarande gälla."
|
||||
"body": "Skriptet blockerar VM-läge för enhets-ID <code>8086:5a84</code> och <code>8086:5a85</code> enligt sin kompatibilitetspolicy. Om en vald GPU matchar avbryts bytet till VM-läge och skriptet återgår till GPU-valet, eller avslutas om det är den enda GPU:n. Blocklistan hindrar inte byte <em>till</em> LXC-läge; andra kontroller kan fortfarande gälla."
|
||||
},
|
||||
"running": {
|
||||
"heading": "Kör skriptet",
|
||||
@@ -85,7 +85,7 @@
|
||||
"intro": "Baserat på det aktuella läget föreslår manuset motsatsen som mål:",
|
||||
"items": [
|
||||
"<strong>VM → LXC:</strong> tar bort bindningen till <code>vfio-pci</code> så att den inbyggda drivrutinen (<code>nvidia</code>, <code>amdgpu</code>, <code>i915</code>) kan använda GPU:n. För NVIDIA tas motsvarande BDF-poster bort från <code>/etc/udev/rules.d/10-proxmenux-vfio-bind.rules</code> inför nästa start.",
|
||||
"<strong>LXC → VM:</strong> förbereder bindning till <code>vfio-pci</code>. AMD / Intel blockerar den inbyggda drivrutinen och använder <code>options vfio-pci ids=…</code>. För NVIDIA blockeras <code>nvidia</code> <strong>inte</strong> globalt: BDF-regler sätter <code>driver_override=vfio-pci</code> för enheterna i berörda IOMMU-grupper. GPU:er utanför grupperna kan behålla <code>nvidia</code>. Granska varje gruppmedlem."
|
||||
"<strong>LXC → VM:</strong> förbereder bindning till <code>vfio-pci</code>. AMD / Intel blockerar den inbyggda drivrutinen och använder <code>options vfio-pci ids=…</code>. För NVIDIA blockeras <code>nvidia</code> globalt endast när varje NVIDIA-GPU på värden är i VFIO; annars sätter regler per BDF <code>driver_override=vfio-pci</code> för enheterna i berörda IOMMU-grupper, och NVIDIA-GPU:er utanför grupperna behåller <code>nvidia</code>. Granska varje gruppmedlem före bytet."
|
||||
],
|
||||
"outro": "Bekräfta riktningen eller avbryt."
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user