系统盘定制

系统盘定制

安装必备软件

yum install anaconda createrepo mkisofs rpm-build

上传镜像并挂载

mkdir /mnt/src 
mount -o loop  centos.iso /mnt/src
mkdir /root/iso
cp -r /mnt/src/.  /root/iso

修改背景图

​ 文件路径为/root/iso/isolinux/splash.jpg

修改产品名和选项

​ 文件路径为/root/iso/isolinux/isolinux.cfg

default vesamenu.c32
#prompt 1
timeout 150
display boot.msg
menu background splash.jpg
menu title Welcome to MyOs 1.0!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
label linux
  menu label ^Install MyOs 1.0
  menu default
  kernel vmlinuz
  append ks=cdrom:/isolinux/ks.cfg initrd=initrd.img
label local
  menu label ^Boot from local drive
  localboot 0xffff
  • 修改timeout,默认超时是60秒,改为15秒,即15秒内不做选择默认执行菜单中的default项

  • 修改memu title行,可以定制欢迎标题

  • 去掉部分菜单项,只保留安装(label linux)和从硬盘启动(label local)这两项

  • 调整了label linux项的文字,同时调整了append项,增加了对kickstart的支持,指定ks.cfg位置,此配置用于自动安装,后面会涉及

调整安装界面名称

想要更换Centos为自定义名称,需要修改/root/iso/isolinux/initrd.img

  • 解压

    mkdir /root/initrd
    cd  /root/initrd
    xz -dc /root/iso/isolinux/initrd.img |cpio -id
  • 修改.buildstamp文件

    201806291108.x86_64
    MyOs
    31.0
    FINAL=YES
    http://www.jcwit.com/
  • 重新压缩文件

    cd /root/initrd
    find . | cpio -c -o | xz -9 --format=lzma > /root/initrd.img
    cp /root/initrd.img /root/iso/isolinux/initrd.img
    cd /root
    rm -rf /root/initrd
    rm -rf /root/initrd.img
    cd /root/initrd
    find . | cpio -c -o | xz -9 --format=lzma > /root/initrd.img
    cp /root/initrd.img /root/iso/isolinux/initrd.img
    cd /root
    rm -rf /root/initrd
    rm -rf /root/initrd.img

定制ks文件

#全新安装,使用cdrom作为安装源
install
cdrom
#使用text模式而不要用图形模式安装
text
#设置键盘与语言
keyboard us
lang en_US.UTF-8
#设置root密码与认证加密方式,此处设置root密码为PASSWD1!
rootpw --iscrypted $6$rUp4SXGKaN7Z.eix$/6tp2c9zsSwN8a2a.TmDcKHjhjAm.CFhlunvKZRqZAO.UQ8mrOT4Im/pCiL5d388VEEHMrhha0N3Q2BwqxHPV1
auth --useshadow --passalgo=sha512
#设置防火墙,放过ssh
firewall --service=ssh
#设置selinux
selinux --enforcing
#设置网络eth0,使用dhcp模式,设置hostname,不启用ipv6
network --onboot=yes --device=eth0 --bootproto=dhcp --hostname=rvs --noipv6
#不使用X Window
skipx
#安装完成后重启系统
reboot
#设置时区
timezone Asia/Shanghai
#设置启动引导参数
bootloader --location=mbr --driveorder=sda
#清除mbr
zerombr
#清除分区
clearpart --all --initlabel

添加自定义安装软件和脚本

mkdir /root/iso/soft
cp /root/server-jre-8u172-linux-x64.tar.gz /root/iso/soft
ks文件加入如下内容
%post
mkdir -p /media/cdrom
ln -s /dev/scd0 /dev/cdrom
mount -o loop /dev/cdrom /media/cdrom
tar -zxvf /media/cdrom/soft/server-jre-8u172-linux-x64.tar.gz -C /usr/local
echo "JAVA_HOME=/usr/local/jdk1.8.0_172" >> /etc/profile
echo "PATH=\$JAVA_HOME/bin:\$PATH" >> /etc/profile
echo "export JAVA_HOME PATH" >> /etc/profile
%end

修改产品名称

  • 下载源码包

    cd /root
    wget http://vault.centos.org/6.10/os/Source/SPackages/centos-release-6-10.el6.centos.12.3.src.rpm
    rpm2cpio /root/centos-release-6-10.el6.centos.12.3.src.rpm | cpio -id
  • 建立rpm环境

    echo "%_topdir /root/rpmbuild" > /root/.rpmmacros
    mkdir -pv /root/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
    cp centos-release-6-10.tar.gz /root/rpmbuild/SOURCES
    cp centos-release.spec /root/rpmbuild/SPECS
  • 修改centos-release.spec文件

    %define product_family MyOs
    %define full_release_version 1.0
  • 重新打包

    cd /root/rpmbuild/SPECS
    rpmbuild -bp centos-release.spec
    rpmbuild -bc centos-release.spec
    rpmbuild -bi centos-release.spec
    rpmbuild -bb centos-release.spec
    cp /root/rpmbuild/RPMS/x86_64/centos-release-6-10.el6.12.3.x86_64.rpm /root/iso/Packages/centos-release-6-10.el6.centos.12.3.x86_64.rpm
  • 更新repodata数据

    cd /root/iso
    declare -x discinfo=`head -1 .discinfo`
    cp /root/iso/repodata/*-x86_64.xml /root/iso/comps.xml
    rm –rf /root/iso/repodata
    createrepo -u "media://$discinfo" -g comps.xml ./

重新封装镜像

cd /root
mkisofs -o MyOs-1.0.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T iso/

修改图形界面安装logo

在 centos-logos-70.0.6-1.el7.centos.noarch.rpm 这个包里面的 /root/Desktop/usr/share/anaconda/pixmaps/rnotes/en 下面。如果安装是中文,那就要建立对应目录 /root/Desktop/usr/share/anaconda/pixmaps/rnotes/zh_CN可以通过替换或者增加 http://vault.centos.org/7.0.1406 … .el7.centos.src.rpm 这个源码包里面的图片来重新生成你需要的rpm。


系统盘定制
http://www.jcwit.com/article/88/
作者
Carlos
发布于
2023年6月17日
许可协议