之前介绍过如何制作一个 centos live cdrom 系统
那么,某些情况下我们可能无法弄一个 pxe 系统,而只能通过 idrac 挂载 iso 的方式安装系统
该如何去做呢?
步骤如下:
一、下载Centos的minimal安装光盘
wget http://mirrors.163.com/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-Minimal-2009.iso
yum install -y mkisofs
二、准备kickstart安装文件
下载: centos7.ks
text
skipx
install
auth --useshadow --enablemd5
authconfig --enableshadow --passalgo=sha512
firstboot --disable
keyboard us
lang en_US.UTF-8
reboot
cdrom
firewall --disable
selinux --disabled
services --enabled="chronyd"
logging level=info
#ignoredisk --only-use=vda
ignoredisk --only-use=sda
#bootloader --location=mbr --append="net.ifnames=0 biosdevname=0 crashkernel=auto"
bootloader --location=mbr --append="crashkernel=auto"
rootpw --plaintext Renren2021!
timezone Asia/Shanghai --isUtc
network --device=lo --hostname=localhost.localdomain
user --name=supdev --gid=511 --groups="supdev" --uid=511 --password="Renren2021!"
zerombr
clearpart --all --initlabel
part biosboot --fstype=biosboot --size=1
part /boot --fstype ext4 --size=2048
part swap --asprimary --size=8192
part / --fstype ext4 --size=1 --grow
#part biosboot --fstype=biosboot --size=1
#part /boot --fstype ext2 --size 250
#part pv.01 --size 1 --grow
#volgroup vg pv.01
#logvol / --vgname=vg --size=1 --grow --fstype ext4 --fsoptions=discard,noatime --name=root
#logvol /tmp --vgname=vg --size=1024 --fstype ext4 --fsoptions=discard,noatime --name=tmp
#logvol swap --vgname=vg --recommended --name=swap
#uefi
#partition /boot/efi --asprimary --fstype=vfat --label EFI --size=200
#partition /boot --asprimary --fstype=ext4 --label BOOT --size=500
#partition / --asprimary --fstype=ext4 --label ROOT --size=4096 --grow
services --enabled=network
reboot
%pre
parted -s /dev/sda mklabel gpt
%end
%packages
@core
@system-admin-tools
@additional-devel
@virtualization-client
@virtualization-platform
@virtualization-tools
libguestfs-tools-c
perl-Sys-Virt
qemu-guest-agent
qemu-kvm-tools
curl
dstat
expect
openssl
initscripts
ipmitool
lrzsz
lsof
mtools
nc
nmap
perl
perl-CPAN
procps
python
screen
sysstat
systemtap
systemtap-client
systemtap-devel
tcpdump
telnet
vim
wget
wsmancli
zip
chrony
kexec-tools
net-tools
ntp
ntpdate
man
acpid
chrony
telnet
%end
三、准备生成iso的脚本
下载: makeiso.sh
#!/bin/bash
rm -rf /tmp/bootiso /tmp/bootcustom /tmp/boot.iso
mkdir /tmp/bootiso
mount -o loop CentOS-7-x86_64-Minimal-2009.iso /tmp/bootiso
mkdir /tmp/bootcustom
cp -r /tmp/bootiso/* /tmp/bootcustom
umount /tmp/bootiso
rmdir /tmp/bootiso
chmod -R u+w /tmp/bootcustom
cp centos7.ks /tmp/bootcustom/isolinux/ks.cfg
sed -i '/menu\ default/d' /tmp/bootcustom/isolinux/isolinux.cfg
sed -i 's/^timeout\ .*/timeout 10/g' /tmp/bootcustom/isolinux/isolinux.cfg
sed -i '/^label\ linux/i label\ kickstart' /tmp/bootcustom/isolinux/isolinux.cfg
sed -i '/^label\ linux/i \ \ menu\ label\ ^Install\ Using\ Kickstart\ CentOS 7' /tmp/bootcustom/isolinux/isolinux.cfg
sed -i '/^label\ linux/i \ \ menu\ default' /tmp/bootcustom/isolinux/isolinux.cfg
sed -i '/^label\ linux/i \ \ kernel\ vmlinuz\ biosdevname=0' /tmp/bootcustom/isolinux/isolinux.cfg
sed -i '/^label\ linux/i \ \ append\ initrd=initrd.img\ ks=cdrom:\/ks.cfg' /tmp/bootcustom/isolinux/isolinux.cfg
sed -i '/^label\ linux/i \\n' /tmp/bootcustom/isolinux/isolinux.cfg
cd /tmp/bootcustom
mkisofs -o /tmp/boot.iso -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -V "CentOS 7 x86_64" -R -J -v -T isolinux/. .
生成的自动安装光盘文件在 /tmp/boot.iso ,在 idrac 中 mount 出来,就可以用 virtual CD-ROM 自动安装了