Linux ISO镜像自定义制做

一、挂载镜像

[root@dream ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.6 (Maipo)

[root@dream ~]# mount rhel-server-7.6-x86_64-dvd.iso /media/

二、安装制做工具

[root@dream ~]# yum -y install createrepo mkisofs isomd5sum rsync

三、复制文件到ISO目录

[root@dream ~]# rsync -a --exclude=Packages/ --exclude=repodata/ /media/ /ISO/   ###exclude:不复制此目录
[root@dream ~]# mkdir -p /ISO/{Packages,repodata}

四、复制依赖包

若是不肯定安装包,能够都直接复制过去,这里演示安装所须要安装包的方法java

[root@dream ~]# rpm -qa >> /root/install.log   ###获取已经安装包
### 复制包到/ISO/Packages,若是第三方包经过yun安装的话,也能够直接放进去
[root@dream ~]# awk '{print $0}'  /root/install.log |xargs -i cp /media/Packages/{}.rpm /ISO/Packages/

五、修改isolinux.cfg

inst.stage2=hd:LABEL=rhel7: rhel7后面生成镜像时候使用(genisoimage的参数-V)
inst.ks=cdrom:/isolinux/ks.cfg: 指定经过此ks进行自动安装,若是把这条删除就会手动进行安装
menu default: 设置为默认启动node

[root@dream ISO]# pwd
/ISO

[root@dream ISO]# chmod 755 isolinux/isolinux.cfg
[root@dream ISO]# vim isolinux/isolinux.cfg
 61 label linux
 62   menu label ^Install Red Hat Enterprise Linux 7.6
 63   menu default
 64   kernel vmlinuz
 65   append initrd=initrd.img inst.stage2=hd:LABEL=rhel7 inst.ks=cdrom:/isolinux/ks.cfg quiet
 66
 67 label check
 68   menu label Test this ^media & install Red Hat Enterprise Linux 7.6
 69   kernel vmlinuz
 70   append initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.6\x20Server.x86_64 rd.live.check quiet
[root@dream ISO]# chmod 444 isolinux/isolinux.cfg

六、配置ks.cfg

(1)建立ks.cfg
[root@dream ISO]# vim isolinux/ks.cfg
install
# Keyboard layouts
keyboard us
# Root password
rootpw --iscrypted $1$nD88pFjh$H9Kd9/Zp2J3jR.dxP9JBv0
# (Required) Wrapper around the authconfig command CCE-14063-2 (row 80)
authconfig --enableshadow --passalgo=sha512
# System language
lang en_US.UTF-8
# Firewall configuration
firewall --disabled
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use CDROM installation media
cdrom
# Use text mode install
text
# Run the Setup Agent on first boot
firstboot --disable
ignoredisk --only-use=sda
logging --level=info
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx

# Network information
network  --bootproto=dhcp --device=em1 --onboot=on
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai --isUtc
# System bootloader configuration
bootloader --location=mbr --driveorder=sda --append=""
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
part biosboot  --fstype=biosboot --size=1
part /boot --fstype=ext4 --ondisk=sda --size=500
part pv.01 --grow --ondisk=sda --size=1
volgroup OS_vg pv.01
logvol  /  --fstype=ext4 --vgname=OS_vg  --size=102400  --name=lv_root
logvol  /home --fstype=ext4 --vgname=OS_vg --size=51200  --name=lv_home
logvol  swap  --vgname=OS_vg --size=40960  --name=lv_swap

%post --nochroot 
#!/bin/sh 
set -x -v
exec 1>/mnt/sysimage/root/kickstart-stage1.log 2>&1
 
echo "==> copying files from media to install drive..."
cp -r /run/install/repo/postinstall /mnt/sysimage/root 
%end

%post
#!/bin/sh
set -x -v
exec 1>/root/kickstart-stage2.log 2>&1
 
cd /root/postinstall
chmod 755 *.sh
sh install.sh
%end

%packages
@base
@compat-libraries
@development
@java-platform
@x11
@kde-desktop
%end
(2)建立安装脚本
[root@dream ISO]# mkdir -p postinstall/mysoft       ###里面放入lsscsi-0.30r148.tgz
[root@dream ISO]# vim postinstall/install.sh        ###添加自定义安装内容
#!/bin/bash
mkdir -p /opt/soft
mv /root/postinstall/mysoft/lsscsi-0.30r148.tgz /opt/soft/

cd /opt/soft/
tar -xvzf lsscsi-0.30r148.tgz
cd /opt/soft/lsscsi-0.30r148/
./configure
make & make install

七、制做修改comps文件

[root@dream ISO]# cp /media/repodata/*-comps-Server.x86_64.xml /ISO/repodata/comps.xml
[root@dream ISO]# createrepo -g repodata/comps.xml ./

八、制做ISO镜像

[root@dream ISO]# genisoimage -joliet-long -V rhel7 -o rhel-server-7.6-storage-x86_64-dvd.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 /ISO

九、制做镜像MD5值

[root@dream ISO]# implantisomd5 /ISO/rhel-server-7.6-storage-x86_64-dvd.iso
Inserting md5sum into iso image...
md5 = 05864a5dff022db2c9ff8d634625ef67
Inserting fragment md5sums into iso image...
fragmd5 = d5ace274175fcf1e561f8b6f44c9bec1d9af11dbb924aa158b45522f32c7
frags = 20
Setting supported flag to 0

十、Dell服务器经过ISO安装

  • 一、经过IDRAC登陆帐号
  • 二、启动虚拟控制台方法。点击服务器 -->>虚拟控制台预览处点击启动
  • 三、虚拟控制台启动失败。点击"虚拟控制台" -->>设置"插件类型“为”HTML5"
  • 四、挂载镜像。点击虚拟介质 -->>映射 CD/DVD中点击选择文件 -->>找到镜像 -->> 点击映射设备
  • 五、设置第一个引导设备。回到登陆页面 -->>点击"设置" -->>第一个引导设备设置为虚拟 CD/DVD/ISO并勾选引导一次 -->>点击应用便可
  • 六、重启系统