完全定制个性化linux安装界面

完全定制个性化linux安装界面

最近定制了一个ubuntu的安装界面,感觉比较有意思,写上来,有兴趣的朋友可以实践一下…

先介绍一下grub和isolinux,以及一些开机引导程序…

1)BIOS:basic input output system,一般的情况下是归结于firmware这一类的.这里是为了连接通顺,就简单的说一下bios.BIOS是用户在按下电源的那一刻,负责和硬件沟通并呈现到用户面前的那些信息,可以通过显示器看到的.BIOS做的工作主要有四点:

a)检测并初始化:对主板上的芯片进行检测,并通知芯片开始工作;

b)记录系统的设置值:主要会去读CMOS里面的内容;

c)中断的处理:主板上的资源都是由BIOS分配的,IRQ也是;

d)加载操作系统:安装的操作系统是由BIOS转给引导扇区的,然后再去激活操作系统.

3)isolinux:也是一种引导程序,不过特殊就在它是专门用来引导可移动介质的轻量级的引导程序,不会固定只针对一种硬件.实际上isolinux本身就是一个linux系统,构造也比较简单:

a)isolinux.bin:是引导文件,把isolinux当成一个我们平时使用的linux系统的话,那么isolinux.bin文件就类似于grub的作用,在isolinux加载时会先加载isolinux.bin文件,然后isolinux.bin文件会根据isolinux.cfg的内容来选择不同的启动选项选择系统,这么一听有那么点印象吧..对,作用就类似于grub.conf文件了…

b)配置引导文件isolinux.cfg:是isolinux的配置文件,有了这个文件,isolinux.bin就会根据它来使用不同的启动选项来引导isolinux系统.isolinux.cfg的配置选项有很多,用户可以根据自己的需求来进行定义和配置.但是有一些必须的选项是必须要有的,等会我们就会主要的来涉及到这个文件的分析了…

c)isolinux在isolinux.bin完成引导后,会调用一个系统内核来完成一个简单的linux系统.安装,使用或者修复,都是靠这个linux系统来调用一些程序来完成的.这个极度迷你的linux中,最重要的信息就是很多的硬件驱动,如果没有硬件的驱动,系统无法找到相应的硬件,系统将会无法启动.

好了..前面的基本知识讲得差不多了…现在到正式的操作了,如何定制ubuntu的安装界面…

1)首先你需要下载到gfxboot-theme-ubuntu的源码,然后解压,tar命令,这个不用详细说了吧…不会的就tar –help…

2)现在就考虑你想要怎样定制你的界面了,里面会看到/po目录,这里面实际上国际化的内容,你可以打开一个zh_CN.po文件看看,实际上对中文的国际化,如果你选择你的系统界面不需要这么多的语言,可以删除一部分.po文件,里面只留下你需要的.po文件,我选择是english为语言,所以我不要国际化,我将*.po全部删除了;

3)在/po文件夹下面,会有一个bootloader.pot文件,里面是对ubuntu安装界面的按钮的定义,相当于是button的label…你可以根据需要进行改动…

4)现在退出/po文件夹,要修改Makefile了,vim Makefile,找到language这一项"DEFAULT_LANG = "定义,设置为en(就是你留在po里面的语言种类),保存退出;

5)keytables.inc文件里面实现的是对键盘的定义,如果在中国,留下一个就可以了…cn或者usa的定义就行了…顺便把下面一个数组中关于keytables的定义也可以去掉…

6)现在已经修改了语言和键盘了..是不是很想把ubuntu的安装界面给换掉呢…那么你就修改splash.pcx和splash.png,还有back.jpg图片了…

7)splash的图片有特别的要求,需要用photoshop来生成,或者google一下…

8)现在需要用到ubuntu的光盘了..找到你的ubuntu.iso,mount -o loop出来…这里面的内容是不能改写的,即使你用wq!,呵呵..:)

9)拷贝mount出来的内容到另外一个文件夹,然后更改权限,chmod u+w *,现在你就可以将你改写的保存起来了…

10)拷贝mount出来的文件夹下面的/isolinux下的内容到gfxboot下去,然后修改isolinux里面的内容,这时你就看到了闻名已久的isolinux.cfg文件了,可以打开看一下…里面的内容就是

include menu.cfg

default vesamenu.c32

prompt 0

timeout 0

gfxboot bootlogo

11)解释一下..include表示在isolinux.cfg中引入另外一个配置文件,可以理解为将另外一个文件的内容拷贝到isolinux.cfg,然后执行,就当成是c语言中的#include<menu.cfg>..哈哈..:)…

12)default是默认选项:指定缺省的启动选项,vesamenu.c32表示启动一个图形安装界面呢..一般的都会选用这个选项,当然还有字符启动界面,名字也差不多…叫menu.c32..还有一个就是使用bootlogo作为启动界面..那么就是生成一个bootlogo文件了..然后在isolinux.cfg中添加一句gfxboot bootlogo…这样就可以了…那么下面一句就不用解释了吧…:)

13)/isolinux文件夹下会有很多.hlp文件,其实都是些帮助信息,我只留下了en.hlp,其实也没什么用,你如果不喜欢,都删掉也可以…然后*.tr都删掉啦..或者留下和你语言相对应的.tr和.hlp文件了…

14)想改背景的话,就换掉图片..我不想改,只是简单的删除了…所以黑乎乎的…:(

15)现在可以在gfxboot中执行make了,你就会发现多出了/boot文件夹,删除init文件和log文件,然后将其他的留下来…将message文件,改名为bootlogo,知道了吧…然后拷贝到/isolinux中去…最后用gfxboot下的/isolinux文件夹替换掉你mount出来的那个isolinux文件夹…

16)ok了,可以收工了..执行命令…

mkisofs -o yourisoname.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 /

-boot-info-table /yourdir

17)生成你的iso,放到指定的文件夹下…可以用你的虚拟机进行测试了..看看你改后的效果怎么样呢…

我做的界面就不上传了…:)

引自: http://blog.csdn.net/swliao/archive/2009/12/04/4938163.aspx

如果说对云南有进一步的了解的话就是鲜花。

完全定制个性化linux安装界面

相关文章:

你感兴趣的文章:

标签云: