Centos 8 kickstart二, 04/08/2020 - 15:06 的修訂版本

修訂版本可以讓你追蹤文章的多個版本的不同之處。

最後更新: 2020-08-04

 

 


anaconda-ks.cfg

 

After the installation completes, all choices made during the installation are saved into a file named anaconda-ks.cfg

 


Verify tools

yum install pykickstart

ksvalidator /path/to/kickstart.ks

 


ks.cfg

To load your Kickstart file automatically without having to specify the "inst.ks=" boot option

file ks.cfg and place it on a storage volume labeled OEMDRV

ls cd

ks.cfg

genisoimage -V OEMDRV -o ks.iso cd

 


Sections

 

Sections must be specified in order. Items within the sections do not have to be in a specific order unless otherwise specified.

 


Syntax Reference

 

---- Disk ----

ignoredisk (optional)

Causes the installation program to ignore the specified disks.

--only-use - Specifies a list of disks for the installation program to use. All other disks are ignored.

                  用唔到, 因為唔知會係 sda 還是 vda

i.e.

ignoredisk --only-use=vda

autopart (optional)

Automatically creates partitions:

  • a root (/) partition (1 GB or larger),
  • a swap partition, and
  • an appropriate /boot partition for the architecture.
  • On large enough drives (50 GB and larger), this also creates a /home partition.

The autopart option cannot be used together with the part/partition, raid, logvol, or volgroup

i.e.

autopart --type=plain --nohome

# type: lvm, btrfs, plain, thinp

clearpart (optional)

Removes partitions from the system, prior to creation of new partitions. By default, no partitions are removed.

--none (default) - Do not remove any partitions.

--initlabel - Initializes a disk (or disks) by creating a default disk label for ALL disks

in their respective architecture that have been designated for formatting (for example, msdos for x86).

--------

bootloader (required)

i.e.

bootloader --location=mbr

eula (optional)

Use this option to accept the End User License Agreement (EULA) without user interaction.

eula --agreed

firewall

--remove-service

firstboot

Determine whether the Initial Setup application starts the first time the system is booted.

If enabled, the "initial-setup" package must be installed.

-----

UI: graphical(default), text, or cmdline

graphical (optional)

Perform the installation in graphical mode.

text (optional)

Perform the Kickstart installation in text mode.

cmdline (optional)

Perform the installation in a completely non-interactive command line mode.

Any prompt for interaction halts the installation.

-----

Install (optional)

You must specify the type of installation from cdrom, harddrive, nfs, liveimg, or url

-----

%addon com_redhat_kdump (optional)

%addon com_redhat_kdump --disable --reserve-mb='auto'
%end

keyboard (required)

keyboard --vckeymap=us --xlayouts='us'

lang (required)

lang en_US.UTF-8

network (optional)

network  --bootproto=dhcp --device=ens4 --nameserver=8.8.8.8,8.8.4.4 --noipv6 --activate

network  --hostname=c8

network --bootproto=static --ip=192.168.88.126 --gateway=192.168.88.1 --netmask=255.255.255.0 --nameserver=192.168.88.1

--device=em1

specifies the device to be configured

If the --device= option is missing on the first use of the network command,

the value of the ksdevice= Anaconda boot option is used, if available.

part or partition (optional)

Creates a partition on the system.

# Device names in the sdX (or /dev/sdX) format are not guaranteed to be consistent across reboots

part / --fstype=xfs --onpart=sda1

# 所以要用

part / --fstype=xfs --onpart=/dev/disk/by-path/pci-0000:00:05.0-scsi-0:0:0:0-part1

OR

part / --fstype=xfs --onpart=/dev/disk/by-id/ata-ST3160815AS_6RA0C882-part1

Other Opts

--label= - assign a label to an individual partition.

reboot (optional)

Normally, Kickstart displays a message and waits for the user to press a key before rebooting.

reboot --eject

reboot --kexec        # 唔 work

rootpw (required)

Sets the system 's root password to the password argument.

rootpw --plaintext xxxx

selinux (optional)

selinux --disabled

services (optional)

services --disabled="chronyd"

timezone (required)

i.e.

# --nontp - Disable the NTP service automatic starting.

timezone Asia/Hong_Kong --isUtc --nontp

timezone --ntpservers=stdtime.gov.hk

user (optional)

Creates a new user on the system.

vnc (optional)

Allows the graphical installation to be viewed remotely through VNC.

skipx (optional)

If present, X is not configured on the installed system.

 


自動安裝 Package

 

repo (optional)

Configures additional yum repositories that can be used as sources for package installation.

i.e.

repo --name="Minimal" --baseurl=file:///run/install/repo/MyPackage

Remark: Kickstart ISO Path

CD 的頂層目錄: /run/install/repo

Package Selection

# Specifying Individual Packages

 * 當 repo 沒有此 package 時就會 error

%packages
sqlite
curl
aspell
%end

More Info.

Link

 


Custom ISO

 

mkdir -p /home/myiso/unzip

cd /home/myiso/unzip

7z x /path/to/CentOS-8.2.2004-x86_64-minimal.iso -o.

cp ~/anaconda-ks.cfg /ks.cfg

yum install -y pykickstart

ksvalidator ~/ks.cfg

Add label to isolinux/isolinux.cfg

label Kickstart
menu label Kickstart
menu default
kernel vmlinuz
append initrd=initrd.img inst.stage2=hd:LABEL=CentOS8_x86_64 inst.ks=cdrom:/dev/cdrom:/ks.cfg net.ifnames=0 biosdevname=0

Build ISO

genisoimage -o ../centos8-custom.iso \
-boot-load-size 4 -boot-info-table -J -r -R -T \
-V 'CentOS8_x86_64' \
-no-emul-boot -b isolinux/isolinux.bin -c isolinux/boot.cat \
-eltorito-alt-boot  \
-no-emul-boot -eltorito-boot images/efiboot.img ./