或内容在文件中可以直接修改的话,通过kickstart 之后的脚本很容易实现。如果不是单个可以修改的文件,那就必须的
重构rpm 包了。
首先想到的是要处理这个启动过程中进度条的问题。可以通过编辑grub 的参数rhgb就可以取消掉这个登录画面,但
为了美观,还是想保留这个界面,当然,能改改颜色最好了,就像它把redhat enterprise 6 的红色换成蓝色一样。

想法是简单的,实现起来,也应该不难,难的是什么,难的就是不知道在哪里修改,我刚开始试着修改关于plymouth
的文件,甚至包括删除(/usr/ 下的, /etc 下的)plymouth 相关的文件图片和目录,最终的结果是,一个星期没有结果。
这个问题丢想了一个星期,google 无果, 当时有想到向 CentOS 官方提这么一个问题的想法,后来想到CentOS 能山寨
Redhat 的,何不用Redhat 的包再替换回去试一次呢?
我用CentOS 的plymouth-0.8.3-17.el6.rpm 安装完后,颜色变成红帽的了。 于是乎,咱就必须得修改这个源码的软
件包了。怎么修改,首先得准备一个环境吧:
yum install rpm-build redhat-rpm-config make gcc
useradd mockbuild
su - mockbuild
mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros
到网上去wget 一个src.rpm 包吧:plymouth-0.8.3-17.el6.src.rpm
rpm --nomd5 -i plymouth-0.8.3-17.el6.src.rpm
安装过后,可以在目录下看到相关的文件了:
cd ~/rpmbuild/ && ls -l
BUILD BUILDROOT RPMS SOURCES SPECS SRPMS
接下来,关键就是要找到改哪里的问题了,后面我也把这个源码包(SOURCES) 下plymouth-0.8.3.tar.bz2 解压出
来,通过过滤的方式检查,木有发现情况,不好找啊,这部分真不知道它埋哪了。后面我又下了一个redhat 的plymouth
包,希望能看出点不同,如我所愿,在SOURCES 目录下发现 plymouth-0.8.0-everything-is-better-in-red.patch 文件。
具体的怎么修改,不多说了,这也不是关键。
继续说rebuild 的事吧,修改完后,直接 cd 到 SPECS 目录
cd ~/rpmbuild/SPECS
rpmbuild -ba plymouth.spec
后面的问题就是把生成的 RPMS 目录下的rpm 包丢到光盘镜像的Packages 目录下了。
说第二个重建的rpm 包, 就是 centos-release-6-2.el6.centos.7.src.rpm 生成的" CentOS Linux 6.0 "几个字,
有了前面的经验,后面的事就好办了,但要找到后面那个版本号的位置,也费力不少。原因是,如果我都是定义成OSA 的
版本,yum 会出现问题。最后鱼和熊掌兼得的方法就是如下修改的方案了:(只截取修改了的部分)
%define debug_package %{nil}
%define product_family OSA Linux
%define release_name OPS
%define base_release_version 1
%define full_release_version 1.1
Name: centos-release
Version: 6
Release: 2%{?dist}.7
Summary: CentOS release file
Group: System Environment/Base
License: GPLv2
Provides: redhat-release
Source0: centos-release-6-2.tar.gz
最后谈一下内核,也试过把内核重新编译一次,瘦身多了的时候,发现系统直接就起不来,裁减的太少,感觉打包后,
跟原来的大小差不多,所以暂不考虑吧,等时间充足了,看看如何尽量简化出一个成功的内核吧。
没有评论:
发表评论