I have been trying to create a custom iso package with kickstart on top of recently released Rocky-8-10-x86_64-dvd.iso file. We wanted to include all the packages as part of ISO itself as we did not want to download the packages from internet during installation process.
[root@localhost rocky_iso]# ls -lh
total 16K
drwxr-xr-x. 4 lcp-operator lcp-operator 38 May 27 20:33 AppStream
drwxr-xr-x. 4 lcp-operator lcp-operator 38 May 27 20:33 BaseOS
drwxr-xr-x. 4 root root 55 Jun 5 22:48 CustomRepo
dr-xr-xr-x. 3 lcp-operator lcp-operator 18 May 27 19:42 EFI
dr-xr-xr-x. 3 lcp-operator lcp-operator 59 Jun 3 13:46 images
drwxrwxr-x. 2 lcp-operator lcp-operator 4.0K Jun 3 13:46 isolinux
-rwxr-xr-x. 1 lcp-operator lcp-operator 1.6K Jun 5 22:49 ks.cfg
-rw-r–r–. 1 lcp-operator lcp-operator 2.2K Apr 4 07:38 LICENSE
-r–r–r–. 1 lcp-operator lcp-operator 89 May 27 20:33 media.repo
CustomRepo contains the extra packages we needed. I used createrepo command as follows “createrepo -g /root/rocky_iso/CustomRepo/comps.xml /root/rocky_iso/CustomRepo/” and generated a repo.
Content of comps.xml file is as below
<?xml version="1.0" encoding="UTF-8"?>
<comps>
<group>
<id>kubernetes</id>
<name>kubernetes</name>
<description>Kubernetes packages required for lightening cloud</description>
<packagelist>
<packagereq type="mandatory">containerd.io</packagereq>
<packagereq type="mandatory">kubeadm</packagereq>
<packagereq type="mandatory">kubectl</packagereq>
<packagereq type="mandatory">kubelet</packagereq>
</packagelist>
</group>
<group>
<id>realtime</id>
<name>realtime</name>
<description>Realtime packages needed for lightening cloud</description>
<packagelist>
<packagereq type="mandatory">kernel-rt</packagereq>
</packagelist>
</group>
<environment>
<id>lightening_cloud_environment</id>
<name>lightening_cloud</name>
<description>Provides a lightening cloud environment</description>
<grouplist>
<groupid>kubernetes</groupid>
<groupid>realtime</groupid>
</grouplist>
</environment>
</comps>
Following is my kickstart file content
#version=RHEL8Use text mode install
text
System language
lang en_US.UTF-8
Keyboard layouts
keyboard us
Sy stem timezone
timezone Asia/Kolkata --isUtc
network --hostname=localhost
logging --level=debug
Include the harddrive directive dynamically
#cdrom
url --url=file:///run/install/repo
harddrive --partition=/dev/sda --dir=/
repo --name=“CustomRepo” --baseurl=file:///run/install/repo/CustomRepo
Root password
rootpw --iscrypted $6$iv6kBUl5hyN588E6$7iNqzDV2KeZ8Jwfh0lksjdflkjdfsoiAVi2LvxjEMQR9klUvDs.7MIfA4xp9lz2KM2YTkCHhx7CYz7kmiiVc/
user --name=lcp-operator --password=$6$S9CiLWTzdw7ynjxg$SlhozjoVwDAaTlkjdsflksjdfDBKvbv6Lvc5rpyLfZrzKzY2vsWuuPv9FzAejLfwgERC4zZwoRmKkfQz3RxVaJ0c/Y/ --iscrypted --gecos=“lcp-operator” --groups=“wheel”Run the Setup Agent on first boot
firstboot --enable
System authorization information
#auth --useshadow --passalgo=sha512
Reboot after installation
reboot
zerombr
ignoredisk --only-use=nvme0n1
Partition clearing information
clearpart --all --initlabel --drives=nvme0n1
Disk partitioning information for /dev/sda
part /boot/efi --fstype=efi --size=600 --ondisk=nvme0n1
part /boot --fstype=“xfs” --size=1024 --ondisk=nvme0n1
part / --fstype=“xfs” --size=409600 --ondisk=nvme0n1 --grow
part /home --fstype=“xfs” --size=204800 --ondisk=nvme0n1 --growSystem bootloader configuration for UEFI
#bootloader --location=none --boot-drive=sda
Packages to be installed
%packages
@^minimal-environment
@core
@^lightening-cloud-environment
%endPost-installation scripts
%post
%end
When I try to install the OS by creating a bootable USB drive in one of our servers, I see an error “Error setting up software source”.
Attached the screenshot of the issue and error log from anaconda.log
Any help to overcome this issue will be appreciated.
Thanks,
Ekambaram A