前言:
ubuntu发行版中,isolinux+gfxboot实现了中文菜单。经过几天的摸索,发现了一些强行实现个性化中文菜单的方法,但是不太完美。要实现完美的方案,需要LINUX高手修改GFXBOOT源码来实现更自由的customize。当然源码中也提供了add_text、rm_text、change_text等工具。
正文:
GFXBOOT 是suse的一个项目,而ubuntu的发行版光盘也借用了这个工具。SUSE的GFXBOOT更漂亮,但修改比较麻烦,个人觉得ubuntu的GFXBOOT菜单简洁点修改也比较方便。本文是在ubuntu发行版的基础上来实现个性化的中文菜单。在ubuntu的光盘根目录下,splash.pcx为启动后的背景画面(640*480 256色),en.tr zh_CN.tr这两个文件就是实现ISOLINUX中文显示的关键,langlist为语言列表,不需要的语言文件*.tr和*.hlp可以删除。
下载gfxboot-theme-ubuntu:
http://mirrors.hpcf.upr.edu/ftp/pub/Mirrors/ubuntu/archive/pool/main/g/gfxboot-theme-ubuntu/gfxboot-theme-ubuntu_0.5.8.tar.gz
重点文件gfxboot-theme-ubuntu_0.5.8/gfxboot-theme-ubuntu/po/zh_CN.po bootloader.pot ,通过修改这个PO文件(我用UE修改的,linux下gedit也可以只要是文本编辑器即可,除了msgstr其他的没动,我只改了中文的部分。),ISOLINUX.CFG按照中文菜单对应修改即可(只能修改kernel... ...),光盘启动的时候默认开始显示的英文菜单还是原始的ubuntu启动菜单 <img src="images/smilies/face-sad.png" align="absmiddle" border="0">。比较繁琐,只改动了一点。
#. Boot menu item; a ^ prefix indicates a unique accelerator key.
#. txt_menuitem_live_ubuntu
msgid "^Install Ubuntu"
msgstr "PE系统"
++
补充:想要更完美,修改bootloader.pot zh_CN.po *.po isolinux.cfg相互对应,pot和po文件里的txt_menuitem相互对应并且和isolinux.cfg的label对应,msgid对应label menu 的内容,msgstr是个性化中文菜单的显示项。
帮助的个性化,请修改F1.txt ... F10.txt以及*.HLP文件。
修改好后,在linux中make(编译环境我费了很大的劲才弄好),生成新的en.tr zh_CN.tr,替换ubuntu 8.04 alpha6光盘 isolinux目录中的同名文件,生成启动ISO模板,效果图如下:
注意isolinux不能用官方的版本,需要下载支持gfxboot的版本。我用的是syslinux_3.53-1ubuntu2_i386.deb, 但是并未安装,只是解压拿了isolinux.bin文件,在linux下
#dpkg -x syslinux_3.53-1ubuntu2_i386.deb temp
来解压缩,/usr/lib/syslinux目录里即是。
结束语:上面只是对isolinux的个性化中文菜单实现的初探,感兴趣的继续。以后没时间研究这些了,只能偶尔上来潜潜水了,赚奶粉钱要紧 <img src="images/smilies/face-laugh.png" align="absmiddle" border="0">。。。 。。。
Last edited by barton on 2008-3-8 at 08:32 PM ]