安装自定义CentOS7镜像工具
安装自定义镜像工具
- 安装
yum -y install createrepo mkisofs openssl rsync syslinux
挂载镜像
- 创建挂载点
mkdir /mnt/cdrom
- 挂载
# 上传镜像到/home/baseISO目录下
mount -o loop /home/baseISO/CentOS-7-x86_64-DVD-2009.iso /mnt/cdrom/
- 同步/mnt/cdrom/下的文件到/home/ISO/
mkdir /home/ISO
/usr/bin/rsync -a /mnt/cdrom/ /home/ISO/
ks.cfg文件自定义
- 复制ks.cfg文件
cp /root/anaconda-ks.cfg /root/ks.cfg
- 密码生成
# -1: md5加密
# -salt: 加盐
# 盐: Wkajs
# pass: password
openssl passwd -1 -salt Wkajs password
- 编辑ks.cfg文件
# vim /root/ks.cfg
#version=DEVEL
# System authorization information
auth --enableshadow --enablemd5
# Use CDROM installation media
cdrom
# Use graphical install 图形化界面式安装
# graphical
# Use text install 文本式安装
text
# Run the Setup Agent on first boot
firstboot --enable
# 启用会忽略其他硬盘
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8
# Network information
network --bootproto=dhcp --device=eth0 --ipv6=auto --activate
network --hostname=localhost.localdomain
# Root password
rootpw --iscrypted $1$8q7ORxjl$v8yGB70WIHiLjNcaJRdCh.
# System services
services --disabled="chronyd"
# System timezone
timezone Asia/Shanghai --isUtc --nontp
# Partition clearing information
clearpart --all --initlabel
# System bootloader configuration
bootloader --append=" crashkernel=512M " --location=mbr --boot-drive=sda
# Clear the Master Boot Record
zerombr
%addon com_redhat_kdump --enable --reserve-mb='512M'
%end
part /boot --asprimary --fstype="ext4" --size=500 --ondisk=sda
# uefi模式需要
part /boot/efi --asprimary --fstype="efi" --size=120 --ondisk=sda
#----------------------以下是创建lvm逻辑卷---------------------
# 创建第一个物理卷PV分区,序号是01,大小为剩余所有空间
# --size=1 --grow参数是以剩余所有空间来分区
part pv.01 --size=1 --grow --ondisk=sda
# 创建一个逻辑卷组名,名字为vg_sytem,包含在物理卷PV.01
volgroup virt pv.01
# 创建一个LV逻辑卷,挂载到/ ,从vg_system组中创建,大小为10000M,LV的名字是lv_root
logvol / --fstype="ext4" --vgname=virt --size=1 --grow --name=vg-root
# 创建第二个物理卷PV分区,序号是02,大小为剩余所有空间
#part pv.02 --size=1 --grow --ondisk=sdb
#创建一个逻辑卷组名,名字为vg_mvtech,包含在物理卷PV.02
#volgroup data pv.02
#创建一个LV逻辑卷,挂载到/data ,从vg_data组中创建,LV的名字是lv_data
#logvol /data --fstype="ext4" --vgname=vg_data --size=1 --grow --name=volume-data
# 最小化安装
%packages
@^minimal
@core
kexec-tools
%end
reboot
ISO文件目录
- 目录
# tree /home/ISO/ -d
/home/ISO/
├── EFI
│ └── BOOT
│ └── fonts
├── images
│ └── pxeboot
├── isolinux
├── LiveOS
├── Packages
└── repodata
- 复制ks.cfg到isolinux
cp /root/ks.cfg /home/ISO/isolinux
- 修改isolinux.cfg文件
# vim /home/ISO/isolinux/isolinux.cfg
label linux
menu label ^Install CentOS 7
menu default
kernel vmlinuz
append initrd=initrd.img ks=cdrom:/isolinux/ks.cfg net.ifnames=0 biosdevname=0 quiet
describe: net.ifnames=0 biosdevname=0 禁用自动设备命名规则,恢复传统的
ethx 设备名称
生成iso文件
- 制作iso命令
# mkisofs制作
mkisofs \
-o CentOS-7-9.iso \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat -no-emul-boot -boot-load-size 4 \
-boot-info-table -R -J -v -T /home/ISO
# genisoimage 制作
genisoimage \
-joliet-long \
-o CentOS-7-9.iso \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat -no-emul-boot -boot-load-size 4 \
-boot-info-table -R -J -v -cache-inodes -T -eltorito-alt-boot \
-e images/efiboot.img -no-emul-boot /home/ISO
- uefi模式需修改文件
# vim EFI/BOOT/grub.cfg
# 修改内容
menuentry 'Install CentOS 7' --class fedora --class gnu-linux --class gnu --class os {
linuxefi /images/pxeboot/vmlinuz ks=cdrom:/isolinux/ks.cfg net.ifnames=0 biosdevname=0 quiet
initrdefi /images/pxeboot/initrd.img
}
#下面内容可注释,只保留当前install选项
...
- uefi bios兼容
mkisofs -o /home/ISO/CentOS-7-9.iso -v -cache-inodes -joliet-long -R -J -T -V centos7 -c isolinux/boot.cat -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -b images/efiboot.img -no-emul-boot /home/ISO
- Hybird模式
isohybrid -v /home/ISO/CentOS-7-9.iso
notice: isohybrid command not found,需要安装syslinux.命令: yum -y install syslinux
describe: 采用“hybird模式”(混合模式),操作系统可以直接刻录成物理光盘,也可以直接做成可引导的U盘
赏
支付宝打赏
微信打赏


赞赏是不耍流氓的鼓励