<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.alpinelinux.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Statzitz</id>
	<title>Alpine Linux - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.alpinelinux.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Statzitz"/>
	<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/wiki/Special:Contributions/Statzitz"/>
	<updated>2026-05-01T16:33:24Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Xen_PCI_Passthrough&amp;diff=31965</id>
		<title>Xen PCI Passthrough</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Xen_PCI_Passthrough&amp;diff=31965"/>
		<updated>2026-01-14T18:58:50Z</updated>

		<summary type="html">&lt;p&gt;Statzitz: There was two &amp;#039;the&amp;#039; on the second sentence of the page. I removed one of them&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide is to show how to configure PCI Passthrough on Alpine.&lt;br /&gt;
&lt;br /&gt;
First, use lspci to find the PCI-Address of the Device you want to Passthrough:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
node03:~# lspci&lt;br /&gt;
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 Processor Family DRAM Controller (rev 09)&lt;br /&gt;
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 05)&lt;br /&gt;
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)&lt;br /&gt;
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5)&lt;br /&gt;
00:1c.4 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 (rev b5)&lt;br /&gt;
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)&lt;br /&gt;
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev a5)&lt;br /&gt;
00:1f.0 ISA bridge: Intel Corporation C204 Chipset Family LPC Controller (rev 05)&lt;br /&gt;
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family SATA AHCI Controller (rev 05)&lt;br /&gt;
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05)&lt;br /&gt;
01:00.0 Serial Attached SCSI controller: LSI Logic / Symbios Logic SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (rev 03)&lt;br /&gt;
02:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection&lt;br /&gt;
03:03.0 VGA compatible controller: Matrox Electronics Systems Ltd. MGA G200eW WPCM450 (rev 0a)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this example, I want to passthrough the SAS Controller. So the Address is 01:00.0&lt;br /&gt;
&lt;br /&gt;
Make sure xen_pciback is in your /etc/modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
node03:~# grep pciback /etc/modules &lt;br /&gt;
xen_pciback&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit /etc/conf.d/xen-pci to add the device:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
node03:~# cat /etc/conf.d/xen-pci&lt;br /&gt;
# /etc/conf.d/xen-pci&lt;br /&gt;
&lt;br /&gt;
# PCI devices that will be used by domUs&lt;br /&gt;
DEVICES=&amp;quot;01:00.0&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the xen-pci daemon to the default runlevel and reboot:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rc-update add xen-pci default&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After rebooting, you should be able to verify the pci-device is using the pciback Kernelmodule and that it&#039;s visible to passthrough via xl:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
node03:~# lspci -k | grep -A2 &#039;01:00.0&#039;&lt;br /&gt;
01:00.0 Serial Attached SCSI controller: LSI Logic / Symbios Logic SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (rev 03)&lt;br /&gt;
        Subsystem: LSI Logic / Symbios Logic Device 3020&lt;br /&gt;
        Kernel driver in use: pciback&lt;br /&gt;
node03:~# xl pci-assignable-list&lt;br /&gt;
0000:01:00.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following line to your DomU&#039;s Config:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pci = [ &#039;01:00.0&#039; ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Known Issue with LSI Controllers====&lt;br /&gt;
As the Kernelmodule for LSI Controllers is built into the Alpine Initramfs, the real Module is loaded before the pciback Module can be assigned.&lt;br /&gt;
&amp;lt;BR&amp;gt;You&#039;ll need to blacklist the mpt2sas module in /etc/modprobe.d/blacklist.conf and rebuild your initramfs.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
node03:~# grep sas /etc/modprobe.d/blacklist.conf &lt;br /&gt;
blacklist mpt2sas&lt;br /&gt;
node03:~# mkinitfs &lt;br /&gt;
==&amp;gt; initramfs: creating /boot/initramfs-grsec&lt;br /&gt;
11538 blocks&lt;br /&gt;
33641 blocks&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Virtualization]]&lt;/div&gt;</summary>
		<author><name>Statzitz</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Xen_PCI_Passthrough&amp;diff=31964</id>
		<title>Xen PCI Passthrough</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Xen_PCI_Passthrough&amp;diff=31964"/>
		<updated>2026-01-14T18:52:41Z</updated>

		<summary type="html">&lt;p&gt;Statzitz: Use the xen-pci service to do a pci passthrough on alpine linux in /etc/conf.d/xen-pci&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide is to show how to configure PCI Passthrough on Alpine.&lt;br /&gt;
&lt;br /&gt;
First, use lspci to find the the PCI-Address of the Device you want to Passthrough:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
node03:~# lspci&lt;br /&gt;
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 Processor Family DRAM Controller (rev 09)&lt;br /&gt;
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 05)&lt;br /&gt;
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)&lt;br /&gt;
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5)&lt;br /&gt;
00:1c.4 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 (rev b5)&lt;br /&gt;
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)&lt;br /&gt;
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev a5)&lt;br /&gt;
00:1f.0 ISA bridge: Intel Corporation C204 Chipset Family LPC Controller (rev 05)&lt;br /&gt;
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family SATA AHCI Controller (rev 05)&lt;br /&gt;
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05)&lt;br /&gt;
01:00.0 Serial Attached SCSI controller: LSI Logic / Symbios Logic SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (rev 03)&lt;br /&gt;
02:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection&lt;br /&gt;
03:03.0 VGA compatible controller: Matrox Electronics Systems Ltd. MGA G200eW WPCM450 (rev 0a)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this example, I want to passthrough the SAS Controller. So the Address is 01:00.0&lt;br /&gt;
&lt;br /&gt;
Make sure xen_pciback is in your /etc/modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
node03:~# grep pciback /etc/modules &lt;br /&gt;
xen_pciback&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit /etc/conf.d/xen-pci to add the device:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
node03:~# cat /etc/conf.d/xen-pci&lt;br /&gt;
# /etc/conf.d/xen-pci&lt;br /&gt;
&lt;br /&gt;
# PCI devices that will be used by domUs&lt;br /&gt;
DEVICES=&amp;quot;01:00.0&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the xen-pci daemon to the default runlevel and reboot:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rc-update add xen-pci default&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After rebooting, you should be able to verify the pci-device is using the pciback Kernelmodule and that it&#039;s visible to passthrough via xl:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
node03:~# lspci -k | grep -A2 &#039;01:00.0&#039;&lt;br /&gt;
01:00.0 Serial Attached SCSI controller: LSI Logic / Symbios Logic SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (rev 03)&lt;br /&gt;
        Subsystem: LSI Logic / Symbios Logic Device 3020&lt;br /&gt;
        Kernel driver in use: pciback&lt;br /&gt;
node03:~# xl pci-assignable-list&lt;br /&gt;
0000:01:00.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following line to your DomU&#039;s Config:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pci = [ &#039;01:00.0&#039; ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Known Issue with LSI Controllers====&lt;br /&gt;
As the Kernelmodule for LSI Controllers is built into the Alpine Initramfs, the real Module is loaded before the pciback Module can be assigned.&lt;br /&gt;
&amp;lt;BR&amp;gt;You&#039;ll need to blacklist the mpt2sas module in /etc/modprobe.d/blacklist.conf and rebuild your initramfs.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
node03:~# grep sas /etc/modprobe.d/blacklist.conf &lt;br /&gt;
blacklist mpt2sas&lt;br /&gt;
node03:~# mkinitfs &lt;br /&gt;
==&amp;gt; initramfs: creating /boot/initramfs-grsec&lt;br /&gt;
11538 blocks&lt;br /&gt;
33641 blocks&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Virtualization]]&lt;/div&gt;</summary>
		<author><name>Statzitz</name></author>
	</entry>
</feed>