[BlueOnyx:23845] Re: source code of the bootable iso

Michael Stauber mstauber at blueonyx.it
Tue May 19 11:32:55 -05 2020


Hi Tomohiro Hosaka,

> I was interested in the source code of the installation iso.
> 
> I am looking for BlueOnyx-5209R-CentOS-7.7-20200116.iso such as
> inst.ks and /ks/kick_self.cfg.
> 
> Are these source codes available?


The kickstart files from /ks/ are directly available on the ISO itself.
These are used during the installation and the only real difference
between the various kickstart files in the /ks directory of the ISO is
how they do the partitioning of the disk(s).

The ISO itself is built on CentOS 7.8 via Pungi:

[root at hephaistos ~]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)

[root at hephaistos ~]# rpm -q pungi
pungi-3.12-3.el7.1.noarch

The Kickstart file used to *build* the ISO via Pungi is called 5209R.ks
(not included on the ISO) and looks like this:


[root at hephaistos kickstart]# cat 5209r.ks
#--------------------------------------------------------------
# Kickstart file for 5209R on CentOS 7:

#
### General configuration:
#

# Install OS instead of upgrade
install

# Keyboard layouts and language:
keyboard 'us'
lang en_US.UTF-8

# System authorization information
auth  --useshadow  --passalgo=sha512

# Root password
rootpw --plaintext blueonyx

# Firewall and SELinux configuration
firewall --disabled
selinux --disabled

# Use CDROM installation media
cdrom





# Use graphical install


graphical





# Do not configure the X Window System


skipx





# Timezone:


timezone America/New_York --isUtc





# Services:


services --disabled="NetworkManager,firewalld" --enabled="sshd,rsyslog"





# Reboot after installation


reboot





#


### Disk preparation:



#







# Clear the Master Boot Record



zerombr







# Partition clearing information



clearpart --all --initlabel




#
### Disk partitioning:
#

# Physical Partitions #
part /boot --fstype="ext4" --size=800
part /boot/efi --fstype="efi" --size=200
--fsoptions="umask=0077,shortname=winnt"
part pv.01 --fstype="lvmpv" --grow --size=18512

# LVM Setup #
volgroup VolGroup00 pv.01
logvol /tmp  --fstype="xfs" --size=4096 --name=lvtmp --vgname=VolGroup00
logvol swap  --fstype="swap" --size=4096 --name=lvswap --vgname=VolGroup00
logvol /  --fstype="xfs" --size=8192 --name=lvroot --vgname=VolGroup00
logvol /var  --fstype="xfs" --size=8192 --name=lvvar --vgname=VolGroup00
logvol /home  --fstype="xfs" --size=2000 --name=lvhome
--vgname=VolGroup00 --grow

# System bootloader configuration
bootloader --append="net.ifnames=0 biosdevname=0
rootflags=uquota,grpquota" --location=none

#
### Packet Repositories:
#

repo --name=base --baseurl=http://mirror.centos.org/centos-7/7/os/x86_64/
url --url="http://mirror.centos.org/centos-7/7/os/x86_64/"
repo --name=updates
--baseurl=http://mirror.centos.org/centos/7/updates/x86_64/
url --url="http://mirror.centos.org/centos/7/updates/x86_64/"
repo --name=extras
--baseurl=http://mirror.centos.org/centos/7/extras/x86_64/
url --url="http://mirror.centos.org/centos/7/extras/x86_64/"

repo --name=5209R
--baseurl=http://devel.blueonyx.it/pub/BlueOnyx/5200R/el7/blueonyx/x86_64/
url --url="http://devel.blueonyx.it/pub/BlueOnyx/5200R/el7/blueonyx/x86_64/"
repo --name=5209R-Testing
--baseurl=http://devel.blueonyx.it/pub/BlueOnyx/5200R/el7/testing/x86_64/
url --url="http://devel.blueonyx.it/pub/BlueOnyx/5200R/el7/testing/x86_64/"
repo --name=CDBUILDER
--baseurl=file:///var/localrepo/pub/BlueOnyx/5200R/el7/blueonyx/x86_64
url --url="file:///var/localrepo/pub/BlueOnyx/5200R/el7/blueonyx/x86_64"

#  --ignoremissing
%packages --nobase
@core
anaconda
grub2
grub2-efi-x64
efibootmgr
efivar-libs
shim-x64
authconfig
chrony
firewalld
-postfix
memtest86+
syslinux
@BlueOnyx
blueonyx-logos
pv
-kde-runtime
-kde-l10n-*
%end

# blueonyx-cd-installer

%post --log=/root/bx-post-log
# Run post install script
#/root/finish_install.sh

# Set default 'root' password:
echo "blueonyx" | passwd root --stdin

/usr/sausalito/scripts/initServices.sh

%end
#--------------------------------------------------------------

The commands to build an ISO tree via Pungi that I use is this:

#> pungi --name=BlueOnyx --ver=5209R --destdir=/home/pungi/ --nosource
--nodebuginfo -G -C -B --bugurl=http://www.blueonyx.it --isfinal
--config=/home/build_cd.5209R/kickstart/5209r.ks --cachedir=/var/tmp/

#> /usr/bin/mkisofs -v -U -J -R -T -m repoview -m boot.iso -b
isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size
4 -boot-info-table -eltorito-alt-boot -e images/efiboot.img
-no-emul-boot -V BlueOnyx-5209R-x86_64 -o
/home/build_cd.5209R/BlueOnyx-$VER.iso /home/build_cd.5209R/5209R

#> /usr/bin/isohybrid -u /home/build_cd.5209R/BlueOnyx-$VER.iso

The only catch for using the above 5209R.ks is this:

It uses a local repository in
/var/localrepo/pub/BlueOnyx/5200R/el7/blueonyx/x86_64 to install the
latest version of the RPM "blueonyx-cd-installer". As the OpenVZ OS
templates and the YUM installer method don't need or use the
"blueonyx-cd-installer" I only have it in a local repository which is
used for the ISO-building.

The RPM for that is of course included on the ISO, so you should be able
to work around that if you want to attempt a full rebuild of the ISO
yourself.

Other than that: If you let me know what changes you want to make to the
ISO, then I might be able to assist you or can include these changes on
the next official rebuild of the ISO.

-- 
With best regards

Michael Stauber



More information about the Blueonyx mailing list