使用Centos7.3定制自定义ISO

(以3508raid卡驱动为例,将驱动打入ios中)

1      环境准备

1、  一台安装了CentOS7.3的服务器,安装带图形化界面(Server with GUI),并且带有3508raid卡

2、  配置yum源,安装所需工具如下

yum -y install createrepo

3、  下载驱动

以3508raid卡驱动为例,下载获取kmod-megaraid_sas-07.706.07.00_el7.3-1.x86_64.rpm

选择centos7.3 idriver下载

2      拷贝原生OS镜像文件

1.通过虚拟KVM挂载ISO镜像

2. mount /dev/sr0 /mnt

3. mkdir /root/newcentos73

4. cd /mnt

注意,iso里面是有隐藏文件的,一定要将所有文件拷贝到新建目录,使用此命令可以拷贝所有文件包含隐藏文件。

5. cp -a . /root/newcentos73

3      制作initrd.img

将Raid驱动打入initrd

1. 解压initrd.img

mkdir /root/initrd

cd /root/initrd

xz -dc / root/newcentos73/images/pxeboot/initrd.img | cpio -id  

3.解压下载的Raid RPM包,获取KO文件

mkdir -p /home/megaraid

cd /home/megaraid

rpm2cpio kmod-megaraid_sas-07.706.07.00_el7.3-1.x86_64.rpm | cpio -div

cp /home/megaraid/lib/modules/3.10.0-514.el7.x86_64/extra/megaraid_sas/megaraid_sas.ko  /root/initrd/usr/lib/modules/3.10.0-514.el7.x86_64/kernel/drivers/scsi/megaraid/megaraid_sas.ko

4.压缩initrd.img并替换

cd /root/initrd

find . | cpio -c -o | xz -9 --format=lzma > /tmp/initrd.img

cp /tmp/initrd.img /root/newcentos73/images/pxeboot/initrd.img

4      制作Package、repodata

1. 切换目录

cd /root/newcentos73

2. 将kmod-megaraid_sas-07.706.07.00_el7.3-1.x86_64.rpm考入package

cp /root/kmod-megaraid_sas-07.706.07.00_el7.3-1.x86_64.rpm Packages/

3.拷贝comps.xml

mkdir -p /root/repodata

cp /root/newcentos73/repodata/*-comps.xml /root/repodata/comps.xml

rm -rf repodata/*

3. 修改comp.xml文件,定义RPM包组

打开comps.xml

vim comps.xml

(1)添加独立自定义group

在最后一个group后(在category之前)添加

如下:

    megaraid

    Raid3508driver

    raidcarddriver

    false

    false

   

      kmod-megaraid_sas

   

 

 

(2)在category中添加自定义group

在minimal中添加,查找minimal关键词快速查找

 

添加如下语句:

megaraid

(3)在Server with GUI中添加,查找GUI关键词快速查找

 

语句如下:

megaraid

保存并退出。

4. 制作repodata

createrepo -g /root/repodata/comps.xml /root/newcentos73/

 

5      GRUB文件中添加加载Raid驱动参数

1.为保证安装启动时加载raid卡模块,在引导文件添加驱动加载参数

cd /root/newcentos73/EFI/BOOT/

2.编辑grub.cfg

找到linuxefi字段,添加参数: rdloaddriver=megaraid_sas

6      制作启动光盘镜像

 

 

1. 切换目录

cd /root/ newcentos73

2. 制作iso文件,不要忘记最后的“.”

mkisofs -r -T -J -V "CentOS 7 x86_64" -b isolinux/isolinux.bin  -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e images/efiboot.img -no-emul-boot -o /root/centos7.iso .

3. 生成MD5值

implantisomd5 ../centos7.iso

4.centos7.iso即定制后ISO,可以使用进行OS安装

7      使用定制化的ISO安装

定制化ISO镜像有如下特殊提示,按照如下操作即可:


 

 

 

完成安装

 

附加

如何添加ks.cfg自动安装os

1.生成ks.cfg文件,可根据自己需要修改(可参考root下anaconda-ks.cfg)。

 

打开ks.cfg:vi ks.cfg

//添加以下信息

#platform=x86, AMD64, or Intel EM64T

#version=DEVEL

# System authorization information

auth  --enableshadow  --passalgo=sha512

# Install OS instead of upgrade

install

# Use CDROM installation media

cdrom

# Use graphical install

graphical

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=eno1 --onboot=off --ipv6=auto

network  --bootproto=dhcp --device=eno2 --onboot=off --ipv6=auto

network  --bootproto=dhcp --device=eno3 --onboot=off --ipv6=auto

network  --bootproto=dhcp --device=eno4 --onboot=off --ipv6=auto

network  --bootproto=dhcp --device=eno5 --onboot=off --ipv6=auto

network  --bootproto=dhcp --device=eno6 --onboot=off --ipv6=auto

network  --hostname=localhost.localdomain

# System services

services --disabled="chronyd"

# Firewall configuration

firewall --disabled

# SELinux configuration

selinux --enforcing

 

# Reboot after installation

reboot

# System timezone

timezone Asia/Shanghai

# System bootloader configuration

bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda

autopart --type=lvm

# Partition clearing information

clearpart --none --initlabel

#need to choose which package will install

%packages

@^graphical-server-environment

@base

@core

@desktop-debugging

@dial-up

@fonts

@gnome-desktop

@guest-agents

@guest-desktop-agents

@hardware-monitoring

@input-methods

@internet-browser

@multimedia

@print-client

@x11

kexec-tools

@megaraid----------------------------------此package名称为自定义group名称

%end

%addon com_redhat_kdump --enable --reserve-mb='auto'

%end

保存并退出。

2. 将ks.cfg加入引导文件

cd /root/newcentos73/EFI/BOOT/

vi grub.cfg

找到label linux字段,添加参数: rdloaddriver=megaraid_sas ks=cdrom:/ks.cfg

你可能感兴趣的:(使用Centos7.3定制自定义ISO)