This commit is contained in:
colben 2024-11-08 19:24:00 +08:00
parent 4878d90c1c
commit 9cb4dedd8e
2 changed files with 10 additions and 208 deletions

View File

@ -1,208 +0,0 @@
---
title: "Kickstart 安装 CentOS7"
date: 2019-10-29T21:00:25+08:00
lastmod: 2019-10-29T21:00:25+08:00
keywords: []
tags: ["kickstart", "centos"]
categories: ["os"]
---
## 环境
- CentOS7.6
- genisoimage 1.1.11
- CentOS-7-x86_64-Minimal-1810.iso
## 复制 iso 内容到本地磁盘
```bash
mount -o loop CentOS-7-x86_64-Minimal-1810.iso /mnt/
mkdir -p /home/iso/centos7
cd /mnt && cp -af * .* /home/iso/centos7/
```
## 创建 isolinux/ks.cfg
- mbr 启动,/home/iso/centos7/isolinux/ks.cfg 内容如下
```
# Install OS instead of upgrade
install
# Reboot after installation
reboot
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
cdrom
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=cn --xlayouts='cn'
# System language
lang zh_CN.UTF-8
# Firewall configuration
firewall --disabled
# SELinux configuration
selinux --disabled
# Network information
#network --bootproto=dhcp --device=eth0 --onboot=off --ipv6=auto --no-activate
#network --hostname=localhost.localdomain
# Root password(111111)
rootpw --iscrypted $6$kD.hMvv5nCY8a/SM$Gnmb4zspkuyL75BP2Gj.1SGUaWBugXkd/zMFhoDndp9CSi8VP7R5JP7rfWzL4y7fy8crH3ryDT4PFkKCc7/xM.
# System services
services --enabled="chronyd"
# System timezone
timezone Asia/Shanghai --isUtc
# Clear the Master Boot Record
zerombr
# System bootloader configuration
bootloader --location=mbr --boot-drive=sda
# Partition clearing information
clearpart --none --initlabel
# Disk partitioning information
part /boot --fstype="xfs" --ondisk=sda --size=512
part / --fstype="xfs" --ondisk=sda --grow --size=1
%packages
@^minimal
@core
chrony
%end
%post
lsblk > /root/lsblk
%end
%addon com_redhat_kdump --disable --reserve-mb='auto'
%end
%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
```
- efi 启动,/home/iso/centos7/isolinux/ks.cfg 内容如下
```
# Install OS instead of upgrade
install
# Reboot after installation
reboot
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
cdrom
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=cn --xlayouts='cn'
# System language
lang zh_CN.UTF-8
# Firewall configuration
firewall --disabled
# SELinux configuration
selinux --disabled
# Network information
#network --bootproto=dhcp --device=eth0 --onboot=off --ipv6=auto --no-activate
#network --hostname=localhost.localdomain
# Root password(111111)
rootpw --iscrypted $6$kD.hMvv5nCY8a/SM$Gnmb4zspkuyL75BP2Gj.1SGUaWBugXkd/zMFhoDndp9CSi8VP7R5JP7rfWzL4y7fy8crH3ryDT4PFkKCc7/xM.
# System services
services --enabled="chronyd"
# System timezone
timezone Asia/Shanghai --isUtc
# Clear the Master Boot Record
zerombr
# System bootloader configuration
bootloader --location=mbr --boot-drive=sda
# Partition clearing information
clearpart --none --initlabel
# Disk partitioning information
part /boot --fstype="xfs" --ondisk=sda --size=512
part /boot/efi --fstype="xfs" --ondisk=sda --size=512
part / --fstype="xfs" --ondisk=sda --grow --size=1
%packages
@^minimal
@core
chrony
%end
%post
%end
%addon com_redhat_kdump --disable --reserve-mb='auto'
%end
%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
```
## 修改启动项文件
- mbr 启动,只需修改 isolinux/isolinux.cfg
- 删除 "label check" 下的 "menu default" 一行
- 在 "label linux" 一行上方添加如下内容
```
label auto
menu label ^Auto install CentOS 7
menu default
kernel vmlinuz
append initrd=initrd.img inst.stage2=hd:LABEL=CentOS7 inst.ks=cdrom:/isolinux/ks.cfg quiet
```
- efi 启动,只需修改 EFI/BOOT/grub.cfg
- 修改第一行
```
set default="0"
```
- 在 "### BEGIN /etc/grub.d/10_linux ###" 一行下添加如下内容
```
menuentry 'Auto Install CentOS 7' --class fedora --class gnu-linux --class gnu --class os {
linuxefi /images/pxeboot/vmlinuz inst.ks=cdrom:/isolinux/ks.cfg inst.stage2=hd:LABEL=CentOS7 quiet
initrdefi /images/pxeboot/initrd.img
}
```
## 生成 ISO 镜像
- mbr 启动,执行如下命令
```bash
genisoimage -v -R -J -T -V CentOS7 \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat \
-cache-inodes \
-joliet-long \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-o /home/centos7.iso \
/home/iso/centos7
```
- efi 启动,执行如下命令
```bash
genisoimage -v -R -J -T -V CentOS7 \
-b images/efiboot.img \
-c isolinux/boot.cat \
-cache-inodes \
-joliet-long \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-o /home/centos7-efi.iso \
/home/iso/centos7
```
## 参考
- [https://boke.wsfnk.com/archives/382.html](https://boke.wsfnk.com/archives/382.html)

View File

@ -93,6 +93,16 @@ categories: ["OS"]
# Root password
rootpw --iscrypted $y$j9T$VB3hYFCRRHaCTsOM/DwE2KUX$Ci6f4pASC887sewVuvjFqTXHN.g5nsVsPoca9RntMdD
%addon com_redhat_kdump --disable --reserve-mb='auto'
%end
%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
# 安装完成后的操作,这里禁用了 selinux 和自带的防火墙
%post
/usr/bin/systemctl disable firewalld