====== Deployment on CentOS/Redhat from ISO customized (kickstart) ======
CentOS and Redhat 7 and 8
You can customize the base ISO image to have a personalized installation.
Mount the DVD iso at some location:
# mount -o loop ~/Downloads/rhel-server-8.4-x86_64-dvd.iso /mnt
Then create a directory and copy all the contents of the ISO into the same.
# shopt -s dotglob
# mkdir /tmp/rhel8
# cp -avRf /mnt/* /tmp/rhel8
# cp -avRf /mnt/.discinfo /mnt/.treeinfo /tmp/rhel8
**//Note://** All files including . must also be copied, else the stage2 won't be loaded.
Copy your kickstart file into the temporary folder (name must be ks.cfg)
# cd /tmp/rhel8
# cp ~/myfiles/ks.cfg /tmp/rhel8/
Into kickstart file, do not specify url or repo section.
If you don't know how to create a kickstart file refer to examples
https://github.com/jivoi/scripts/blob/master/kickstart/ks.cfg
Or use the configurator
https://access.redhat.com/labs/kickstartconfig/
Ex:
lang en_US.UTF-8
keyboard fr_CH
#platform IBM pSeries
reboot
text
cdrom
bootloader --location=partition --append="rhgb quiet crashkernel=auto"
zerombr
clearpart --all --initlabel
autopart
auth --passalgo=sha512 --useshadow
# Network information
network --bootproto=dhcp --device=env2 --interfacename=env2 --activate --ipv6=auto
network --bootproto=dhcp --device=env3 --interfacename=env3 --onboot=off --noipv6
network --hostname=lnx100
# Root password
rootpw --iscrypted $6$c12345siBmU$fko/4zLgIGBumF8p.Jp1nndgZ0
# System authorization information
auth --passalgo=sha512 --useshadow
# SELinux configuration
selinux --disabled
firstboot --disable
# Do not configure the X Window System
skipx
# System services
services --enabled="chronyd"
services --disabled="libvirtd"
# System timezone
timezone Europe/Luxembourg --isUtc
# Disk partitioning information
ignoredisk --only-use=mpatha
clearpart --all --initlabel --drives=mpatha
part pv.590 --fstype="lvmpv" --ondisk=mpatha --size=16392 --grow
part prepboot --fstype="prepboot" --ondisk=mpatha --size=10
part /boot --fstype="xfs" --ondisk=mpatha --size=1005
volgroup rootvg --pesize=4096 pv.590
logvol / --fstype="xfs" --size=3072 --name=root --vgname=rootvg
logvol /usr --fstype="xfs" --size=3072 --name=usr --vgname=rootvg
logvol /var --fstype="xfs" --size=3072 --name=var --vgname=rootvg
logvol /tmp --fstype="xfs" --size=1024 --name=tmp --vgname=rootvg
logvol /home --fstype="xfs" --size=1024 --name=home --vgname=rootvg
logvol swap --fstype="swap" --size=2048 --name=swap --vgname=rootvg
%packages
@^custom-environment
@standard
nfs-utils
@network-tools
@backup-client
rear
%end
%post
(
set -x
echo
echo "################################"
echo "# Running Post Configuration #"
echo "################################"
#Update system
rm -rf /var/cache/yum/timedhosts.txt
yum update -y
) > /root/post_install.log 2>&1
%end
Check the LABEL of the DVD iso.
# blkid ~/Download/rhel-server-8.4-x86_64-dvd.iso
Add the stanza in **/tmp/rhel8/isolinux/isolinux.cfg** file as follows.
Make sure that the stanza has inst.stage2 and the correct label.
#######################################
label kickstart
menu label ^Kickstart Installation of RHEL8.4
kernel vmlinuz
append initrd=initrd.img inst.stage2=hd:LABEL=RHEL-8.4\x20Server.x86_64 inst.ks=cdrom:/ks.cfg
#######################################
Also modify the file /tmp/rhel8/EFI/BOOT/grub.cfg as follows.
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Install Red Hat Enterprise Linux 8.4' --class fedora --class gnu-linux --class gnu --class os {
linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:LABEL=RHEL-8.4\x20Server.x86_64 inst.ks=cdrom:/ks.cfg
initrdefi /images/pxeboot/initrd.img
}
Create the ISO file. Be careful, the label must be correct, else CD won't boot. Don't forget the dot at the end of the command
# cd /tmp/rhel8/
# mkisofs -o /tmp/rhel8test.iso -b isolinux/isolinux.bin -J -R -l -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e images/efiboot.img -no-emul-boot -graft-points -V "RHEL-8.4 Server.x86_64" .
Make your ISO bootable
# isohybrid --uefi /tmp/rhel8test.iso
//Note://
Difference between 7 and 8
* kickstart file
* volume label ID