2

Centos auto install cdrom自动安装cdrom的制作

 2 years ago
source link: https://zhangrr.github.io/posts/20211025-autoinstall_cd/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

之前介绍过如何制作一个 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
shell

二、准备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/. .
shell

生成的自动安装光盘文件在 /tmp/boot.iso ,在 idrac 中 mount 出来,就可以用 virtual CD-ROM 自动安装了


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK