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 ...
随机推荐
- 开发工具:Mybatis.Plus.插件三种方式的逆向工程
本文源码:GitHub·点这里 || GitEE·点这里 一.逆向工程简介 在Java开发中,持久层最常用的框架就是mybatis,该框架需要编写sql语句,mybatis官方提供逆向工程,可以把数据 ...
- Java学习的第四十六天
1.例8.1例类 import java.util.Scanner; public class Cjava { public static void main(String[]args) { Time ...
- Linux下的django项目02
3.创建user模型 3.1 创建用户模型user 第一步 django-admin startproject syl 第二 在syl下创建apps文件包并标记根源 cd 到apps下并进行以下步骤 ...
- JMeter实战(三) 界面使用
JMeter 有 2 种运行方式,一种是 CLI,一种是 GUI,本篇文章就来介绍一下后者,图形用户界面,因为后续文章大部分都是基于 GUI 的. 本文演示的是英文版,想用中文的同学可以在菜单栏点击 ...
- sync_with_stdio(false)的副作用
sync_with_stdio()的一个特性 水一篇随笔 其实对于用快读的大佬来说没什么用,但还是提一下 ios::sync_with_stdio(false)用处是"关闭同步", ...
- iOS 导航栏 工具条
导航栏最常见的例子就是返回按钮的所在 在AppDelegate.m中,代码布局最开始定义窗口的时候, _window.rootViewController就应该为一个UINavigationContr ...
- socket套接字(字节序、地址转换)
什么是socket: socket可以看成是用户进程与内核网络协议栈的编程接口. socket不仅可以用于本机的进程间通信,还可以用于网络上 不同主机之间的进程通信.IPv4套接口地址结构 struc ...
- new与malloc的10点区别(转)
1. 申请的内存所在位置 new操作符从自由存储区(free store)上为对象动态分配内存空间,而malloc函数从堆上动态分配内存.自由存储区是C++基于new操作符的一个抽象概念,凡是通过ne ...
- Python学习笔记5:模块/包
1.模块 模块简单理解就是一组功能的集合. 在Python中,一个文件(.py)就是一个模块,文件名即模块名. 模块的好处是大大提高代码的可维护性,其次,代码不必从零开始.当一个模块编写完毕,就可以被 ...
- mysql建立索引,实际工作中建立索引的示例
1.根据业务场景建立相应的组合索引,一般是在主键,外键,常用来筛选查询的字段,按照字段之间组合的紧密程度,建立一定顺序的索引. 例如:为 t_org_exam_join_member_day 建立索 ...