之前介绍过如何制作一个 centos live cdrom 系统
那么,某些情况下我们可能无法弄一个 pxe 系统,而只能通过 idrac 挂载 iso 的方式安装系统
该如何去做呢?
步骤如下:
一、下载Centos的minimal安装光盘
1wget http://mirrors.163.com/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-Minimal-2009.iso
2yum install -y mkisofs
二、准备kickstart安装文件
下载: centos7.ks
1text
2skipx
3install
4
5auth --useshadow --enablemd5
6authconfig --enableshadow --passalgo=sha512
7
8firstboot --disable
9keyboard us
10lang en_US.UTF-8
11reboot
12cdrom
13
14firewall --disable
15selinux --disabled
16
17services --enabled="chronyd"
18logging level=info
19
20
21#ignoredisk --only-use=vda
22ignoredisk --only-use=sda
23#bootloader --location=mbr --append="net.ifnames=0 biosdevname=0 crashkernel=auto"
24bootloader --location=mbr --append="crashkernel=auto"
25
26rootpw --plaintext Renren2021!
27timezone Asia/Shanghai --isUtc
28
29network --device=lo --hostname=localhost.localdomain
30user --name=supdev --gid=511 --groups="supdev" --uid=511 --password="Renren2021!"
31
32zerombr
33clearpart --all --initlabel
34
35part biosboot --fstype=biosboot --size=1
36part /boot --fstype ext4 --size=2048
37part swap --asprimary --size=8192
38part / --fstype ext4 --size=1 --grow
39
40#part biosboot --fstype=biosboot --size=1
41#part /boot --fstype ext2 --size 250
42#part pv.01 --size 1 --grow
43#volgroup vg pv.01
44#logvol / --vgname=vg --size=1 --grow --fstype ext4 --fsoptions=discard,noatime --name=root
45#logvol /tmp --vgname=vg --size=1024 --fstype ext4 --fsoptions=discard,noatime --name=tmp
46#logvol swap --vgname=vg --recommended --name=swap
47
48#uefi
49#partition /boot/efi --asprimary --fstype=vfat --label EFI --size=200
50#partition /boot --asprimary --fstype=ext4 --label BOOT --size=500
51#partition / --asprimary --fstype=ext4 --label ROOT --size=4096 --grow
52
53
54services --enabled=network
55
56reboot
57
58%pre
59parted -s /dev/sda mklabel gpt
60%end
61
62%packages
63@core
64@system-admin-tools
65@additional-devel
66@virtualization-client
67@virtualization-platform
68@virtualization-tools
69libguestfs-tools-c
70perl-Sys-Virt
71qemu-guest-agent
72qemu-kvm-tools
73curl
74dstat
75expect
76openssl
77initscripts
78ipmitool
79lrzsz
80lsof
81mtools
82nc
83nmap
84perl
85perl-CPAN
86procps
87python
88screen
89sysstat
90systemtap
91systemtap-client
92systemtap-devel
93tcpdump
94telnet
95vim
96wget
97wsmancli
98zip
99chrony
100kexec-tools
101net-tools
102ntp
103ntpdate
104man
105acpid
106chrony
107telnet
108%end
三、准备生成iso的脚本
下载: makeiso.sh
1#!/bin/bash
2rm -rf /tmp/bootiso /tmp/bootcustom /tmp/boot.iso
3mkdir /tmp/bootiso
4mount -o loop CentOS-7-x86_64-Minimal-2009.iso /tmp/bootiso
5
6mkdir /tmp/bootcustom
7cp -r /tmp/bootiso/* /tmp/bootcustom
8umount /tmp/bootiso
9rmdir /tmp/bootiso
10
11
12chmod -R u+w /tmp/bootcustom
13
14cp centos7.ks /tmp/bootcustom/isolinux/ks.cfg
15
16sed -i '/menu\ default/d' /tmp/bootcustom/isolinux/isolinux.cfg
17sed -i 's/^timeout\ .*/timeout 10/g' /tmp/bootcustom/isolinux/isolinux.cfg
18sed -i '/^label\ linux/i label\ kickstart' /tmp/bootcustom/isolinux/isolinux.cfg
19sed -i '/^label\ linux/i \ \ menu\ label\ ^Install\ Using\ Kickstart\ CentOS 7' /tmp/bootcustom/isolinux/isolinux.cfg
20sed -i '/^label\ linux/i \ \ menu\ default' /tmp/bootcustom/isolinux/isolinux.cfg
21sed -i '/^label\ linux/i \ \ kernel\ vmlinuz\ biosdevname=0' /tmp/bootcustom/isolinux/isolinux.cfg
22sed -i '/^label\ linux/i \ \ append\ initrd=initrd.img\ ks=cdrom:\/ks.cfg' /tmp/bootcustom/isolinux/isolinux.cfg
23sed -i '/^label\ linux/i \\n' /tmp/bootcustom/isolinux/isolinux.cfg
24
25cd /tmp/bootcustom
26mkisofs -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 自动安装了