1、安装工具

1
yum install livecd-tools syslinux anaconda-runtime  -y

2、编写kickstart脚本

ks.cfg

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
lang en_US.UTF-8
keyboard us
timezone US/Eastern
authconfig --enableshadow --passalgo=sha512 # 登录身份使用 sha1 的 512bits 加密算法
selinux --disabled # selinux 功能禁用
firewall --disabled
#selinux --enforcing
#firewall --enabled --service=mdns
#repo --name=base --baseurl=file:///media/ # media/ iso挂载目录
repo --name=base --baseurl=http://192.168.8.121/centos/os/

xconfig --startxonboot
part / --size 4096 --fstype ext4
services --enabled=NetworkManager --disabled=network,sshd

# Root password 123456
rootpw --iscrypted $6$GL.dP77LTkl9QUuc$E0/tsTXPkGEDUnZAKfkqSD2Q7YmFl/FtEhY3Mnqu3NxplKYaXsOJs.zcc12gUl6QcEXsexL4ssj.UH5EXcFR6.
# System timezone

%packages
#@base
@core
#@basic-desktop
#@fonts
kernel
# livecd bits to set up the livecd and be able to install
#memtest86+
#livecd-tools
#anaconda
#device-mapper-multipath
#isomd5sum
#syslinux


%packages 选项的内容参考文件镜像/repodata/*comps.xml。

在这里插入图片描述

@core 名称前面有@的是xml中的组id。没有@时是<packagelist>中的<packagereq>

在这里插入图片描述

在这里插入图片描述

3、制作iso

1
LANG=C livecd-creator --config=ks.cfg --cache=/tmp/live/cache  --tmpdir=/tmp/live/tmp  --fslabel=live

LANG=C C代表英文环境 ASCII 编码格式,可以不用加。
--config=脚本路径
--cache=缓存路径
--tmpdir=临时目录
--fslabel=生成的镜像名

制作完成后的输出:

在这里插入图片描述

查看目录

在这里插入图片描述

备注

制作镜像时%packages必须包括firewalld,否则会出现 Error creating Live CD : Unable to run ['/usr/bin/firewall-offline-cmd', '--disabled(or --enabled)']!
livecd制作过程中会调用/usr/bin/firewall-offline-cmd设置livecd的防火墙状态,不安装firewalld时是没有/usr/bin/firewall-offline-cmd的,所以会报错导致制作livecd失败。