CentOS 6.5 iso系统定制
前言
- 更改CentOS6.5背景图片、CentOS标题为DntOS,总之就是用ISO安装或者安装后的系统启动时不能有CentOS标志。
ISO光盘目录介绍:
(1)isolinux 目录存放光盘启动时的安装界面信息。
(2)images 目录包括了必要的启动映像文件
(3)Packages 目录存放安装软件包及信息
(4).discinfo 文件是安装价质的识别信息
(5)Repodata 目录存放rpm包依赖信息
- 找台centos 6.5 客户机,安装以下工具包。
yum install createrepo mkisofs rpm-build
2.步骤
步骤1:替换初始CentOS背景图片
- 上传"CentOS-6.5-x86_64-bin-DVD1.iso"镜像至/root/目录,挂载ISO文件到/mnt目录,默认权限为只读。
- 在/root/下新建1个iso目录,选用cp或者rsync拷贝/mnt里面所有内容到/root/iso目录,后面要编辑里面的内容。
注意:拷贝包含隐藏的文件。
- 进入/root/iso/isolinux目录,拷贝splash.jpg到windows桌面,参照原始图片比例改成自己的,最后覆盖splash.jpg图片。
注意:jpg图片名字不要变。
步骤2:替换初始安装时的CentOS标题
- 编辑/root/iso/isolinux/isolinux.cfg文件中的CentOS 6.5为DntOS 6.5。
步骤3:替换安装界面CentOS文本标题
- 在/root/iso/isolinux下新建一个initrd目录,cd进入这个目录。
- 解压isolinux目录下的initrd.img镜像文件至当前目录。
- 修改隐藏文件.buildstamp文件CentOs为DntOS
- 在当前目录下重新压缩生成initrd.img文件
- cp拷贝覆盖掉原来isolinux目录下的initrd.img文件,删除新建的initrd目录。
步骤4:替换安装界面CentOS文字标题
- 在image目录下新建一个install目录,mount挂载images目录下的install.img镜像文件至install目录。
- 修改隐藏文件.buildstamp文件中的CentOs为DntOS。
步骤5:替换安装界面CentOS背景图片
- 进入install/usr/share/anaconda/pixmaps目录,拷贝以下png图片文件到桌面上,按照原始比例修改为自己的图片后,然后上传覆盖。
注意:名字不要变。
splash.png
syslinux-splash.png
progress_first-lowres.png
progress_first.png"
- 重新生成install.img镜像文件。
- cp拷贝install.img镜像文件至imges目录覆盖原来的install.img镜像文件。umount卸载install目录挂载,删除install目录。
步骤6:替换开机启动CentOS文字标题.
1. 系统启动时默认显示的CentOS标题,依靠centos-release rpm包中配置文件定义的参数显示,所以需要重新编译。
2. 下载二进制源码包。
3. 上传二进制源码包至至/root目录下,解压后找到源码包.
- 修改root用户的rpm包制作路径。
编辑.rpmmacros文件
vim ~/.rpmmacros
添加:
%_topdir /root/rpmbuild
确认topdir目录为/root/rpmbuild
rpmbuild --showrc | grep _topdir
- 在/root/目录下创建编译rpm包需要的目录。
mkdir -pv ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
注意:rpmbuild下面的5个子目录用大写。
- 拷贝源码包"centos-release-6-5.tar.gz"至rpmbuild目录中的SOURCES子目录中
- 拷贝"centos-release.spec"至rpmbuild目录中的SPECS子目录中
- 编辑spec文件更改CentOS为DntOS
- 分别按顺序指定SPEC文件生成二进制包和源码包。
rpmbuild -bp centos-release.spec
rpmbuild -bc centos-release.spec
rpmbuild -bi centos-release.spec
rpmbuild -bb centos-release.spec
rpmbuild -ba centos-release.spec
- 拷贝编译生成的二进制包到/root/iso/Packages目录覆盖原有的包。
- 更新repodata元数据
在iso/目录下执行更新隐藏文件.discinfo:
declare -x discinfo=`head -1 .discinfo`
cp拷贝repodata目录下的xxxcomps.cml文件至当前iso目录命名为comps.xml。
cp repodata/*comps.xml ./comps.xml
删除原有repodata中元数据
rm -rf repodata
重新生成repodata元数据。
createrepo -u "media://$discinfo" -g comps.xml ./
步骤7:重新生成ISO
- 以上步骤完成后,在iso/目录中生成iso。
mkisofs -o dntos_6.5.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T ./
步骤8 : 验证
- CentOS初始背景图片和标题
- 安装界面文本标题
- CentOS安装界面背景图片。
- CentOS安装界面背景图片。
- 开机启动CentOS文字标题
3.扩展参考
1. CentOS系统定制参考:
http://www.centoscn.com/CentOS/Intermediate/2015/0114/4499.html
- 二进制源码包中获取源码包参考:http://www.360doc.com/content/14/0301/12/15064667_356694900.shtml
- 二进制包编译参考:
http://www.centoscn.com/image-text/config/2014/1201/4215.html
CentOS 6.5 iso系统定制的更多相关文章
- 转自:http://blog.sina.com.cn/s/blog_86e874d30101e3d8.html(谢谢原文作者),Win7下安装CentOS 6.5双系统
经过一下午的折腾,终于在64位的Windows 7上面成功安装了CentOS 6.5(64bit)系统,中途因为硬盘分区的问题失败了一次.下面是安装过程: 在安装过程中借助了这篇文章的内容:http: ...
- Windows 7硬盘安装CentOS 6.4 双系统 (WIN7硬盘安装Linux(Fedora 16,CentOS 6.2,Ubuntu 12.04))
WIN7下硬盘安装Linux(Fedora 16,CentOS 6.2.Ubuntu 12.04) 近期在看<鸟哥私房菜:基础学习篇>.认为非常不错,想要用U盘装个windows 7 和 ...
- Windows 7硬盘安装CentOS 6.4 双系统 (WIN7下硬盘安装Linux(Fedora 16,CentOS 6.2,Ubuntu 12.04))
WIN7下硬盘安装Linux(Fedora 16,CentOS 6.2,Ubuntu 12.04) 最近在看<鸟哥私房菜:基础学习篇>,觉得很不错,想要用U盘装个windows 7 和 ...
- jsp页面在Android系统和ISO系统的兼容性问题
问题:一个jsp页面在Android手机上显示正常,但到了ISO系统上jsp页面的样式不显示了. 原因:css文件中设置样式时单位不兼容. 解决方案:将rem 转换成px;
- Android系统定制和源码开发以及源码编译(附视频)
Android系统定制配套视频: 为了把Android系统源码定制和编译的课程讲完,从准备到录制完所有的视频,一共花去了近半年的时间,前前后后各种下载源码,编译源码,系统不兼容,版本适配,虚拟机配置困 ...
- 识别CentOS和Ubuntu的系统版本
识别CentOS和Ubuntu的系统版本1.用 lsb-release#!/bin/bashInstall_LSB(){ if [ "$PM" = "yum ...
- lixuxmint系统定制与配置(1)-系统初始配置
小书匠Linux 经常安装新的系统,每次安装完都得去搜索一边如何将系统部署为之前的环境,不仅耗费时间,还不一定能弄回之前的环境,现在把从裸机->到工作环境的系统定制及配置过程记录下来,期间的配置 ...
- CentOS 7/8修改系统运行级别
CentOS 7/8修改系统运行级别 CentOS 5. CentOS 6可以通过修改配置文件/etc/inittab 参数,从而修改系统运行级别,切换系统的runlevel,但是从CentOS ...
- CentOS 挂载 cdrom, iso文件作为源
在生产系统环境中的机器都没有连接互联网,因此都是使用本地源. 首先,需要将cdrom, 或 iso文件挂载到本地目录. 1.挂载光驱: 将cdrom 放入光驱. $ mkdir /media/cdr ...
随机推荐
- 使用RS485串口服务器的方法
1.为什么设备使用RS-485串口通信? RS-485设备可以连接到计算机,并在网络样式配置中的多个位置进行多次丢弃.在需要中继器之前,设备可以距离最远4000英尺(1220米),最多可以连接32个节 ...
- P2937 [USACO09JAN]Laserphones S
题意描述 [USACO09JAN]Laserphones S 学过物理的同学都知道这种镜子是可以把光线旋转 90 度的. 那么显然就是要求添加镜子的最小个数. 貌似题目漏了一句就是题目保证有解的情况. ...
- Spring MVC 9大组件概述
SpringMVC中的Servlet一共有三个层次,分别是HttpServletBean.FrameworkServlet和 DispatcherServlet.HttpServletBean直接继承 ...
- Python list函数
- C# 字符串处理类
using System;using System.Collections.Generic;using System.Text;using System.Text.RegularExpressions ...
- C# 集合类(二)
C# 集合类自己经常用到: 数组(Array).动态数组(ArrayList).列表(List).哈希表(Hashtable).字典(Dictionary),对于经常使用的这些数据结构,做一个总结,便 ...
- 【有奖众测】给HMS Core文档提建议,赢大奖华为Watch!
为了提升HMS Core开发者的文档体验,提升开发效率,邀请所有开发者体验HMS Core文档,并贡献您的建议. 无论是文档让您困惑的地方,还是您发现的问题,或者您觉得可以做的更好的地方,都可以尽情的 ...
- Docker - 解决创建 tomcat 容器镜像却无法访问页面的问题
问题背景 查看 tomcat 镜像 docker images 运行并创建 tomcat 容器 docker -d -p 8888:8080 --name=tomcat2 tomcat:latest ...
- ES2020 系列:可选链 "?." 为啥出现,我们能用它来干啥?
可选链 "?." 可选链 ?. 是一种访问嵌套对象属性的安全的方式.即使中间的属性不存在,也不会出现错误. "不存在的属性"的问题 如果你才刚开始读此教程并学习 ...
- c++ priority_queue应用(重要)
自定义排序 重写仿函数 struct cmp{ bool operator() ( Node a, Node b ){//默认是less函数 //返回true时,a的优先级低于b的优先级(a排在b的后 ...