<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[ISO modification with additional RPM for NIC]]></title><description><![CDATA[<p dir="auto">I'm fairly new to XCP-NG and would like to build a custom ISO for XCP-NG where I can add an additional RPM for a Mellanox ConnectX-6 Lx 10/25GbE SFP28. The problem is that I don't have other NICs installed and I can't install XCP-NG 8.2.1 because it detects during installation that there's no NIC in the system. I can install XCP-NG 8.3 beta 2 as the drivers are included there. So, I would like to include the drivers for the Mellanox in the ISO so that during installation the process will automatically detect it and I can run the installation.</p>
<p dir="auto">In xcp-ng-8.3.0-beta2, there's an additional <code>mellanox-mlnxen-5.4_1.0.3.0-4.xcpng8.3.x86_64.rpm</code> in the <code>Packages/</code> directory. In xcp-ng-8.2.1-20231130, there is no mellanox-mlnxen*.rpm at all. I found two Mellanox RPMs at Koji;</p>
<ul>
<li><code>mellanox-mlnxen-alt-5.4_1.0.3.0-1.xcpng8.2.x86_64.rpm</code> (<a href="https://koji.xcp-ng.org/buildinfo?buildID=2620" target="_blank" rel="noopener noreferrer nofollow ugc">https://koji.xcp-ng.org/buildinfo?buildID=2620</a>)</li>
<li><code>mellanox-mlnxen-alt-5.9_0.5.5.0-1.1.xcpng8.2.x86_64.rpm</code> (<a href="https://koji.xcp-ng.org/buildinfo?buildID=2868" target="_blank" rel="noopener noreferrer nofollow ugc">https://koji.xcp-ng.org/buildinfo?buildID=2868</a>)</li>
</ul>
<p dir="auto">I tried following the instructions for ISO modification mentioned in the <a href="https://docs.xcp-ng.org/project/development-process/ISO-modification/" target="_blank" rel="noopener noreferrer nofollow ugc">XCP-NG ISO modification documentation</a></p>
<p dir="auto">First, I extracted the ISO using the following commands:</p>
<pre><code>mkdir tmpmountdir/
mount -o loop filename.iso tmpmountdir/ # as root
cp -a tmpmountdir/. iso
umount tmpmountdir/ # as root
chmod a+w iso/ -R
</code></pre>
<p dir="auto">Then, I used <code>wget</code> to download the RPMs into the <code>Packages/</code> directory. After this, I updated the <code>repodata/</code> using the following command (remember to install <code>createrepo-c</code> first):"</p>
<pre><code>sudo apt install createrepo-c
rm repodata/ -rf
createrepo_c . -o .
</code></pre>
<p dir="auto">Finally, I built the ISO using the instructions given in the XCP-NG documentation:</p>
<pre><code>#OUTPUT=/path/to/destination/iso/file # change me
OUTPUT=/home/xcp-ng/new_iso/xcp-ng-8.2.1-20231130-mod.iso
VERSION=8.2 # change me
genisoimage -o $OUTPUT -v -r -J --joliet-long -V "XCP-ng $VERSION" -c boot/isolinux/boot.cat -b boot/isolinux/isolinux.bin \
            -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e boot/efiboot.img -no-emul-boot .
isohybrid --uefi $OUTPUT
</code></pre>
<p dir="auto">However, when I use this ISO, the Mellanox ConnectX-6 Lx drivers do not load during installation.</p>
<p dir="auto">Also, I have seen on the <a href="https://network.nvidia.com/products/ethernet-drivers/linux/mlnx_en/" target="_blank" rel="noopener noreferrer nofollow ugc">Nvidia website</a> that new drivers for the ConnectX-6 Lx are available for Citrix XenServer Host 8.2 in version <code>mlnx-en-23.10-2.1.3.1-xenserver8.2-x86_64.</code></p>
<p dir="auto">So my questions are:</p>
<ul>
<li>What am I doing wrong with building the ISO and including the RPMs?</li>
<li>Is it possible to include the <code>mlnx-en-23.10-2.1.3.1-xenserver8.2-x86_64</code> for XCP-NG 8.2?</li>
<li>What steps do I need to take, and how?</li>
</ul>
]]></description><link>https://xcp-ng.org/forum/topic/8797/iso-modification-with-additional-rpm-for-nic</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Apr 2026 00:58:51 GMT</lastBuildDate><atom:link href="https://xcp-ng.org/forum/topic/8797.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 09 Apr 2024 18:16:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ISO modification with additional RPM for NIC on Tue, 15 Jul 2025 12:37:34 GMT]]></title><description><![CDATA[<p dir="auto">The initial reason we've chosen to create an "all-in-one" ISO image was to simplify further configuration of an automated installation with PXE / Answerfile.</p>
<p dir="auto">We tried driver disks before, though in our special case of <code>mellanox-mlnxen-alt</code> and hardware without any other NICs, I believe it always ends up requiring manual intervention. I haven't found a way to load the driver disk in the installer that is not connected to the network.</p>
<p dir="auto">I think, even though my approach requires a bit more effort, it can still prove useful in some cases.</p>
]]></description><link>https://xcp-ng.org/forum/post/95364</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/95364</guid><dc:creator><![CDATA[Rafisto]]></dc:creator><pubDate>Tue, 15 Jul 2025 12:37:34 GMT</pubDate></item><item><title><![CDATA[Reply to ISO modification with additional RPM for NIC on Tue, 15 Jul 2025 10:15:47 GMT]]></title><description><![CDATA[<p dir="auto">Also note that there is a simpler approach if you don't need an "all-in-one" ISO image: driver disks.</p>
<p dir="auto">You can build driver disks using <a href="https://github.com/xcp-ng/driver-disks" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/xcp-ng/driver-disks</a> and load them during the installation.</p>
<p dir="auto">You can also ask us to provide driver disks for alternate drivers for which we haven't built them yet. We make them available on <a href="https://mirrors.xcp-ng.org/isos/drivers/8.x/" target="_blank" rel="noopener noreferrer nofollow ugc">https://mirrors.xcp-ng.org/isos/drivers/8.x/</a>...</p>
<p dir="auto">That's also something we need to document in the official docs. It's mentioned in the <a href="https://docs.xcp-ng.org/releases/release-8-3/#improvements-in-the-installer" target="_blank" rel="noopener noreferrer nofollow ugc">release notes for 8.3</a> but not in other sections of the documentation.</p>
]]></description><link>https://xcp-ng.org/forum/post/95359</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/95359</guid><dc:creator><![CDATA[stormi]]></dc:creator><pubDate>Tue, 15 Jul 2025 10:15:47 GMT</pubDate></item><item><title><![CDATA[Reply to ISO modification with additional RPM for NIC on Tue, 15 Jul 2025 07:55:34 GMT]]></title><description><![CDATA[<p dir="auto">Excellent news! I suppose we should document it somewhere, ping <a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/thomas-dkmt" aria-label="Profile: thomas-dkmt">@<bdi>thomas-dkmt</bdi></a></p>
]]></description><link>https://xcp-ng.org/forum/post/95349</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/95349</guid><dc:creator><![CDATA[olivierlambert]]></dc:creator><pubDate>Tue, 15 Jul 2025 07:55:34 GMT</pubDate></item><item><title><![CDATA[Reply to ISO modification with additional RPM for NIC on Tue, 15 Jul 2025 07:40:46 GMT]]></title><description><![CDATA[<p dir="auto">Hi, I've recently tackled the same issue and can confirm <a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/stormi" aria-label="Profile: stormi">@<bdi>stormi</bdi></a>'s steps are enough to get things running. I have built the installimg using <a href="https://github.com/xcp-ng/create-install-image" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/xcp-ng/create-install-image</a>, and included the mellanox driver by modifying <code>packages.lst</code>.</p>
<pre><code class="language-bash">echo "mellanox-mlnxen-alt" &gt;&gt; configs/8.2/packages.lst
</code></pre>
<p dir="auto">I then modified the <code>/opt/xensource/installer/repository.py</code> python script to include:</p>
<pre><code class="language-diff">&lt;     _targets = ['xcp-ng-deps']
---
&gt;     _targets = ['xcp-ng-deps', 'mellanox-mlnxen-alt']
</code></pre>
<p dir="auto">Such created ISO provides <code>mellanox-mlnxen-alt</code> in both the installer and the destination system.</p>
]]></description><link>https://xcp-ng.org/forum/post/95348</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/95348</guid><dc:creator><![CDATA[Rafisto]]></dc:creator><pubDate>Tue, 15 Jul 2025 07:40:46 GMT</pubDate></item><item><title><![CDATA[Reply to ISO modification with additional RPM for NIC on Thu, 18 Apr 2024 20:26:54 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/stormi" aria-label="Profile: stormi">@<bdi>stormi</bdi></a> I’ll be back on Wednesday (just short holiday now), I’ll try your advice and see how it works</p>
]]></description><link>https://xcp-ng.org/forum/post/75838</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/75838</guid><dc:creator><![CDATA[LennertvdBerg]]></dc:creator><pubDate>Thu, 18 Apr 2024 20:26:54 GMT</pubDate></item><item><title><![CDATA[Reply to ISO modification with additional RPM for NIC on Thu, 18 Apr 2024 10:25:49 GMT]]></title><description><![CDATA[<p dir="auto">Yes, without any network connectivity available, that's the main option.</p>
<p dir="auto">Regarding modifying the installation ISO, you'd need two things:</p>
<ul>
<li>modify install.img to put the driver in it. That's the easiest part and you can use <a href="https://github.com/xcp-ng/xcp/tree/master/scripts/iso-remaster" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/xcp-ng/xcp/tree/master/scripts/iso-remaster</a> (see the example script in <code>samples/</code>). We still need to update the online docs to mention this option (ping <a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/yann" aria-label="Profile: yann">@<bdi>yann</bdi></a>). This will give you network connectivity during the installation, but won't install the driver on the system.</li>
<li>install the driver on the target system. If I had done things right, you could just add the RPM in a directory and modify an XML file. However I have not done this right so it's not possible at the moment. There are several options, but I think the simplest is:
<ul>
<li>add the RPM in Packages/ and regenerate the repodata + modify the installer code in install.img so that it installs it (look up 'xcp-ng-deps' and add the package name next to it)</li>
</ul>
</li>
</ul>
]]></description><link>https://xcp-ng.org/forum/post/75797</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/75797</guid><dc:creator><![CDATA[stormi]]></dc:creator><pubDate>Thu, 18 Apr 2024 10:25:49 GMT</pubDate></item><item><title><![CDATA[Reply to ISO modification with additional RPM for NIC on Wed, 17 Apr 2024 18:36:04 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/stormi" aria-label="Profile: stormi">@<bdi>stormi</bdi></a> I thought it’s convenient to have all in one as it’s easy for installation. But I can check this options as well. So you recommend to extract the iso to a separate USB drive and load drivers from there?</p>
]]></description><link>https://xcp-ng.org/forum/post/75749</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/75749</guid><dc:creator><![CDATA[LennertvdBerg]]></dc:creator><pubDate>Wed, 17 Apr 2024 18:36:04 GMT</pubDate></item><item><title><![CDATA[Reply to ISO modification with additional RPM for NIC on Tue, 16 Apr 2024 19:20:05 GMT]]></title><description><![CDATA[<p dir="auto">Do you absolutely need all in one ISO? Otherwise there's a rather simple solution with an unmodified ISO + a driver ISO. We even already provide one: <a href="https://updates.xcp-ng.org/isos/drivers/8.x/" target="_blank" rel="noopener noreferrer nofollow ugc">https://updates.xcp-ng.org/isos/drivers/8.x/</a></p>
]]></description><link>https://xcp-ng.org/forum/post/75669</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/75669</guid><dc:creator><![CDATA[stormi]]></dc:creator><pubDate>Tue, 16 Apr 2024 19:20:05 GMT</pubDate></item><item><title><![CDATA[Reply to ISO modification with additional RPM for NIC on Tue, 16 Apr 2024 18:33:35 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/stormi" aria-label="Profile: stormi">@<bdi>stormi</bdi></a> Hi, some help is welcome <img src="https://xcp-ng.org/forum/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=a78c449d9ac" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":-)" alt="🙂" /> Still haven’t found a solutions.</p>
]]></description><link>https://xcp-ng.org/forum/post/75664</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/75664</guid><dc:creator><![CDATA[LennertvdBerg]]></dc:creator><pubDate>Tue, 16 Apr 2024 18:33:35 GMT</pubDate></item><item><title><![CDATA[Reply to ISO modification with additional RPM for NIC on Tue, 16 Apr 2024 09:49:55 GMT]]></title><description><![CDATA[<p dir="auto">I haven't forgotten you, but have been busy. Still need help?</p>
]]></description><link>https://xcp-ng.org/forum/post/75625</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/75625</guid><dc:creator><![CDATA[stormi]]></dc:creator><pubDate>Tue, 16 Apr 2024 09:49:55 GMT</pubDate></item><item><title><![CDATA[Reply to ISO modification with additional RPM for NIC on Thu, 11 Apr 2024 09:01:13 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/olivierlambert" aria-label="Profile: olivierlambert">@<bdi>olivierlambert</bdi></a> Thanks.</p>
]]></description><link>https://xcp-ng.org/forum/post/75343</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/75343</guid><dc:creator><![CDATA[LennertvdBerg]]></dc:creator><pubDate>Thu, 11 Apr 2024 09:01:13 GMT</pubDate></item><item><title><![CDATA[Reply to ISO modification with additional RPM for NIC on Thu, 11 Apr 2024 08:49:35 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/stormi" aria-label="Profile: stormi">@<bdi>stormi</bdi></a> is just back today, I'll come back to you soon <img src="https://xcp-ng.org/forum/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=a78c449d9ac" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
]]></description><link>https://xcp-ng.org/forum/post/75340</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/75340</guid><dc:creator><![CDATA[olivierlambert]]></dc:creator><pubDate>Thu, 11 Apr 2024 08:49:35 GMT</pubDate></item><item><title><![CDATA[Reply to ISO modification with additional RPM for NIC on Wed, 10 Apr 2024 18:03:57 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/stormi" aria-label="Profile: stormi">@<bdi>stormi</bdi></a> could you maybe advise what I'm doing wrong?</p>
]]></description><link>https://xcp-ng.org/forum/post/75315</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/75315</guid><dc:creator><![CDATA[LennertvdBerg]]></dc:creator><pubDate>Wed, 10 Apr 2024 18:03:57 GMT</pubDate></item><item><title><![CDATA[Reply to ISO modification with additional RPM for NIC on Thu, 11 Apr 2024 08:46:03 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/danp" aria-label="Profile: Danp">@<bdi>Danp</bdi></a>, UPDATED: I tried booting with an alternate kernel in XCP-NG 8.2.1 and XCP-NG 8.3 beta 2, but it didn't load the Mellanox ConnectX-6 Lx 10/25GbE drivers.</p>
<p dir="auto">Yes, I've read the documentation about creating a custom ISO and have detailed my procedure above. The only part I'm unsure about is this:<br />
<em>"you need to add new RPMs not just replace existing ones, they need to be pulled by another existing RPM as dependencies. If there's none suitable, you can add the dependency to the xcp-ng-deps RPM."</em><br />
I couldn’t realize or understand this step.</p>
]]></description><link>https://xcp-ng.org/forum/post/75213</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/75213</guid><dc:creator><![CDATA[LennertvdBerg]]></dc:creator><pubDate>Thu, 11 Apr 2024 08:46:03 GMT</pubDate></item><item><title><![CDATA[Reply to ISO modification with additional RPM for NIC on Tue, 09 Apr 2024 20:01:56 GMT]]></title><description><![CDATA[<p dir="auto">Adding <a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/stormi" aria-label="Profile: stormi">@<bdi>stormi</bdi></a> in the loop</p>
]]></description><link>https://xcp-ng.org/forum/post/75209</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/75209</guid><dc:creator><![CDATA[olivierlambert]]></dc:creator><pubDate>Tue, 09 Apr 2024 20:01:56 GMT</pubDate></item><item><title><![CDATA[Reply to ISO modification with additional RPM for NIC on Tue, 09 Apr 2024 19:20:52 GMT]]></title><description><![CDATA[<p dir="auto">Have you tried booting with the alternate kernel? <a href="https://docs.xcp-ng.org/installation/hardware/#during-system-installation" target="_blank" rel="noopener noreferrer nofollow ugc">https://docs.xcp-ng.org/installation/hardware/#during-system-installation</a></p>
<p dir="auto">Did you read the docs about creating a custom ISO? <a href="https://docs.xcp-ng.org/project/development-process/ISO-modification/" target="_blank" rel="noopener noreferrer nofollow ugc">https://docs.xcp-ng.org/project/development-process/ISO-modification/</a></p>
<p dir="auto">Edit: You could also press F9 during the install process to install custom network drivers.</p>
]]></description><link>https://xcp-ng.org/forum/post/75201</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/75201</guid><dc:creator><![CDATA[Danp]]></dc:creator><pubDate>Tue, 09 Apr 2024 19:20:52 GMT</pubDate></item></channel></rss>