ISO modification with additional RPM for NIC
-
Adding @stormi in the loop
-
@Danp, 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.
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:
"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."
I couldn’t realize or understand this step. -
@stormi could you maybe advise what I'm doing wrong?
-
@stormi is just back today, I'll come back to you soon
-
@olivierlambert Thanks.
-
I haven't forgotten you, but have been busy. Still need help?
-
@stormi Hi, some help is welcome Still haven’t found a solutions.
-
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: https://updates.xcp-ng.org/isos/drivers/8.x/
-
@stormi 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?
-
Yes, without any network connectivity available, that's the main option.
Regarding modifying the installation ISO, you'd need two things:
- modify install.img to put the driver in it. That's the easiest part and you can use https://github.com/xcp-ng/xcp/tree/master/scripts/iso-remaster (see the example script in
samples/
). We still need to update the online docs to mention this option (ping @yann). This will give you network connectivity during the installation, but won't install the driver on the system. - 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:
- 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)
- modify install.img to put the driver in it. That's the easiest part and you can use https://github.com/xcp-ng/xcp/tree/master/scripts/iso-remaster (see the example script in
-
@stormi I’ll be back on Wednesday (just short holiday now), I’ll try your advice and see how it works