KNOPPIX 简体中文版 使用和定制指南
KNOPPIX 简体中文版 使用和定制指南徐文达 最后更新:2004/3/31 引 言KNOPPIX是一套自由的(Free)和开源的(Open Source)GNU/Linux操作系统发行版。它是基于Debian Linux,能直接由CD启动运行的完整的操作系统。KNOPPIX里面收集了一些GNU/Linux软件,并集成了自动硬件识别以及对许多图形显示卡、声卡、SCSI和USB设备
KNOPPIX 简体中文版 使用和定制指南
徐文达 <maxidea@maxidea.org>
最后更新:2004/3/31引 言
KNOPPIX是一套自由的(Free)和开源的(Open Source)GNU/Linux操作系统发行版。它是基于Debian Linux,能直接由CD启动运行的完整的操作系统。KNOPPIX里面收集了一些GNU/Linux软件,并集成了自动硬件识别以及对许多图形显示卡、声卡、SCSI和USB设备以及其他外围设备的支持。KNOPPIX可以用于Linux演示、教学光盘、应急系统,或者被用来作为商用软件产品的演示平台。得益于其on-the-fly的解压缩技术,这张光盘上最多可以集成2GB的可执行软件。KNOPPIX十分适合从MS Windows平台转移到Linux平台的用户,或有兴趣尝试使用Linux的用户,以及进行Linux发行版开发和定制(custom)的用户。本文将以MaxCapture Linux为例,介绍KNOPPIX简体中文版的使用和定制的方法。如果您需要最新版本的KNOPPIX,可到 www.knopper.net/knoppix 下载。目 录
KNOPPIX 使用和定制指南
引 言
目 录
使 用 指 南
一、主要优点
二、启动过程
三、问题解决
四、获得光盘影像
定 制 指 南
一、项目分析
二、必要条件
三、初步设定
四、基本定制
五、高级定制
六、中文化定制
七、光盘制作
八、存在的问题和今后的目标
九、原始资料及参考文献
使 用 指 南
一、主要优点
1) 无需安装到硬盘,光盘启动直接运行;
2) 图形用户界面(GUI),使用MS Windows的用户能快速掌握;
3) 支持绝大多数INTEL架构的硬件设备,支持优盘、ADSL拨号等;
4) 兼容NTFS、FAT32格式的分区,自动加载(mount)硬盘分区,自动加载USB设备;
5) 适合做硬件检测工具,适合做硬盘数据备份的第三方软件,适合软/硬件工程师外出工作备用。
二、启动过程
图一
如上图一,当CD启动后出现"boot:"提示后,按下回车(enter),系统将自动启动,约30秒即可完成文件系统(file system)的加载并进入KDE用户图形界面(如图二)。
图二
三、问题解决
1) 进入KDE后画面花屏
这是由于显示器未能达到1024x768的分辨率,这种情况多在旧款显示器上出现。如遇到这种情况,请按下Ctrl + Alt + Backspace杀死X window的进程,重启Linux,在启动画面(图一)按下F2,在CHEAT CODES菜单显示后键入:knoppix screen=800x600。
2) 根用户(root)的密码
一般在Linux的终端环境下,可通过su命令获取根用户权限,期间会提示您输入根用户的密码。基于KNOPPIX 3.2的MaxCapture Linux 简体中文版根用户的密码为maxcapture,您也可通过以下方法获取根用户权限:
1、直接使用Root Shell:K菜单 --> KNOPPIX --> Root Shell;
2、修改root密码:在root shell下使用命令passwd,然后键入新密码。
3) 关于在磁盘阵列的设备环境上使用
有损坏磁盘阵列信息的可能性,不建议在这种设备环境下使用。
4) 保留knoppix的系统配置和用户数据
为了避免每次启动都要重新配置网络、Xwindow等,Knoppix提供了数据保存方法:
运行saveconfig,会产生一个knoppix.sh和configs.tbz,并保存到某个分区;启动时添加myconfig=/dev/partition即可读出,也可以用myconfig=scan让Knoppix自己去寻找这两个文件。
用户数据(/home/knoppix)也可被保留到软盘或者USB盘上,启动时添加home=/dev/sda1 (不能是DOS格式的文件系统),也可home=scan让Knoppix自己去寻找。如果想保留在硬盘的DOS分区上,可以创建一个loopback文件(映像文件):
点击菜单K->KNOPPIX->Configure->Create a persistent KNOPPIX home directory或者直接运行/usr/sbin/makepersistenthome。
5) 无法浏览CD上的中文文件名
新版本的MaxCapture Linux已经修正了硬盘、USB设备和软盘内中文文件名显示的问题。但对于CD上的中文文件,必须手动挂载才能正确显示:
简体中文:
#mount -t auto /dev/cdrom /mnt/cdrom -o iocharset=gb2312,codepage=936
繁体中文:
#mount -t auto /dev/cdrom /mnt/cdrom -o iocharset=big5,codepage=950
6) 光盘刚启动时出现:kernel panic:VFS:unable to mount root fs on 01:01
此问题发生机会极少,少数集成显卡的主板会受此影响,解决办法是在"Boot:"提示画面(图一)输入以下命令:knoppix mem=?M ("?"的数值为"总内存数"减去"显卡内存数"。)
7) 如何启动中文输入法
MaxCapture Linux使用的中文输入法软件是fcitx,带有五笔、拼音和区位输入法。启动及使用方式如下:
1、在console下运行/usr/bin/fcitx或fcitx
2、使用Ctrl+Shift开启/切换输入法
如果OpenOffice无法正确显示中文,是由于未曾选择中文字体。
如果您需要最新版本的KNOPPIX光盘影像文件,可到 www.knopper.net/knoppix 下载,您必须使用700M或以上的空白光盘进行刻录。本文中使用的定制后的MaxCapture Linux光盘影像文件暂无法提供下载,但您能在 www.MaxCapture.com 以十分低廉的价格换取该光盘。
定 制 指 南
一、项目分析
下文将以MaxCapture Linux为例,介绍如何从KNOPPIX定制中文版的Linux Live CD。定制的目的是为了在系统中能快速、正确地建立Linux系统环境,主要工作是决定各种软件包的去留。本文适合在包一级(结构部分)和代码一级(行为部分)有一定了解的用户,适合首次尝试修改Linux发行版的用户。
本文包含KNOPPIX简体中文版定制方法。
二、必要条件
1、软件
从www.knopper.net/knoppix 获得最新光盘影像文件,本文使用的是KNOPPIX_V3.2-2003-04-15-EN.iso。
2、硬件
Marco Ghirlanda(www.marcoghirlanda.it)和Sunil Thomas Thonikuzhiyil (http://www.linuxgazette.com/authors/sunil.html)建议预留2GB空间给swap,另外5GB创建ext2格式分区用于制作CD(re-mastering work)。
但我建议的分区如下:
2GB的Linux swap分区(主要用于进行压缩文件系统);
3GB的Linux ext2分区(存放用于定制的文件系统);
2GB的Linux ext2分区(用于存放文件系统压缩影像文件和制作好的光盘影像文件;使用不同的硬盘分区,将能加快文件系统压缩影像文件的制作速度。)。
三、初步设定
建立硬盘分区
打开 Root Shell (K菜单 --> KNOPPIX --> Root Shell),在#号提示符(# prompt)下运行cfdisk命令,创建一个格式为ext2的3GB Linux 分区(Linux native),此例中分区文件系统为/dev/hda1;创建一个格式为swap的2GB分区,为/dev/hda2;和一个格式为ext2的2GB Linux 分区,为/dev/hda5。保存分区信息并退出cfdisk。
由于要建立压缩的文件系统(compressed file system),需要空间较大的交换分区(swap space)(一般情况下,Linux系统的交换分区设为内存的两倍已足够),如交换分区空间不足,后面进行压缩文件系统的步骤将无法正常运作。
运行以下命令以完成分区的建立:
#mkswap /dev/hda2
#swapon /dev/hda2
#mke2fs /dev/hda1
#mke2fs /dev/hda5
并把两个Linux分区分别加载到KNOPPIX的文件系统
#mkdir /mnt/hda1
#mount -rw /dev/hda1 /mnt/hda1
#mkdir /mnt/hda5
#mount -rw /dev/hda5 /mnt/hda5
四、基本定制
在光盘的./KNOPPIX目录下包含一个名为KNOPPIX的684MB的文件,它包含了整个文件系统的压缩影像(compressed image)。下面将介绍如何删除或添加软件包,并重建定制的KNOPPIX压缩影像文件。
1、复制文件到/mnt/hda1
当系统由光盘启动后,压缩影像文件会加载(mount)到系统根分区(/)下的/KNOPPIX目录中,此时/KNOPPIX目录的大小是1837536 K-blocks,约1.8GB。在Root Shell中运行以下命令:
#cp -Rp /KNOPPIX /mnt/hda1
cp是复制命令,参数-R是对目录中的子目录进行递归处理(recursive copy),参数-p 是保留文件的属性。
2、建立临时目录
#mkdir /mnt/hda1/KNOPPIX/selfpkg
拷贝待安装的软件包和字体文件到该目录里。
3、Chroot (Run command on interactive shell with special root directory)
在Root Shell下运行以下命令:
#chroot /mnt/hda1/KNOPPIX
其目的是"change the root of the file system to /mnt/hda1/KNOPPIX"。同时终端提示符将变成 bash-2.05b#,并处于根分区(chrooted from /mnt/hda1/KNOPPIX)。如果终端里出现"/dev/null permission denied",请按control C。
接着加载proc文件系统(不能忽略):
bash-2.05b#mount -t proc /proc proc
4、删除软件包
以下命令删除单个软件包:
bash-2.05b#dpkg -r --force-depends package_name
切底删除该软件:
bash-2.05b#dpkg --purge package_name
5、安装软件包
bash-2.05b#dpkg -i package_name
其中必须安装il8n
6、结束Chroot
删除selfpkg目录:
bash-2.05b #rm -rf /selfpkg
更新软件库:
#updatedb
更新菜单:
#update-menus
删除无用文件:
#rm /etc/*-
#rm /var/mail/*
#rm -rf /tmp/*
#rm -rf /var/cache/apt/archives
删除根目录下的 .bash_history, .viminfo, .rr_moved等文件和目录;
卸载(unmount)proc(不能忽略):
bash-2.05b#umount /proc
按control D离开chrooted environment。
五、高级定制
1、从源代码安装软件
必须在chrooted environment下进行安装,具体安装方法因软件各异,此处不作详细介绍。Sunil Thomas Thonikuzhiyil建议使用checkininstall(http://asic-linux.com.mx/~izto/checkinstall)。
2、更改用户设置
在chrooted environment可修改root及各用户的配置文件,密码等,也可创建新用户,在此不作介绍。所有修改将在定制后的系统中使用。
3、修改桌面背景图
在chrooted environment下修改/usr/local/lib/knoppix.gif即可。对于KNOPPIX v3.1,可直接替换光盘中/KNOPPIX/background.gif,KDE直接使用该文件;对于KNOPPIX v3.2,则需修改/usr/local/lib/knoppix.gif。
4、修改启动画面(boot screen)
由于KNOPPIX是基于Debian Linux的,所以它使用syslinux来启动,我们通过修改光盘中的影像文件 /KNOPPIX/boot.img 来达到修改启动画面和启动信息的目的。在Root Shell中执行:
#cp /mnt/cdrom/KNOPPIX/boot.img /mnt/hda1
#mkdir /mnt/hda1/image
#mount -t msdos -o loop /mnt/hda1/boot.img /mnt/hda1/image
a) 修改/mnt/hda1/image/logo.16
logo.16文件是启动画面的图象文件,它是特殊的编码格式(lss16 format image)。这图象文件必须是16色,小于50K,小于640x480象素(推荐使用640x400象素,以备足够空间显示提示符)。我们需要使用GIMP等图象软件制作16色的png格式图象,再通过以下命令转换成lss16格式:
#pngtopnm <logo.png >logo.pnm
#ppmtolss16 <logo.pnm >logo.16
#cp logo.16 /mnt/hda1/image/logo.16
b) 修改/mnt/hda1/image/boot.msg
boot.msg是ASCII文件,直接使用vi编辑即可,如果您的logo.16是640x400象素,您可在boot.msg中写四行文本信息。
c) 卸载/mnt/hda1/image
#umount /mnt/hda1/image
至此,/mnt/hda1/boot.img为新定制的启动影像文件,可以制作启动软盘去测试效果:
#dd if=boot.img of=/dev/fd0
5、修改KDE的Splash Screen
在chrooted environment下修改或替换 /user/share/apps/ksplash/pics 的4个png文件:
splash_active_bar.png (400x60 pixels)
splash_bottom.png (400x16 pixels)
splash_inactive_bar.png (400x60 pixels)
splash_top.png (400x248 pixels)
6、修改默认图形环境为GNOME
在chrooted environment下修改/etc/init.d/knoppix-autoconfig,查找下面文字并修改"kde"为"gnome"即可:
# Allow only supported windowmanagers
case "$DESKTOP" in gnome|kde|larswm|xfce|windowmaker|wmaker|icewm|fluxbox|twm) ;; *)
DESKTOP="kde"; ;; esac
六、中文化定制
注意:以下所有步骤均在在chrooted environment下进行。
1、安装中文字体
安装simhei.ttf 字体:
bash-2.05b#mkdir /user/X11R6/lib/X11/fonts/ttf
bash-2.05b#cp /selfpkg/simhei.ttf /user/X11R6/lib/X11/fonts/ttf
bash-2.05b#cd /user/X11R6/lib/X11/fonts/ttf
bash-2.05b#ttmkfdir > fonts.dir
bash-2.05b#cp fonts.dir fonts.scale
2、修改XF86Config文件
bash-2.05b#vi /etc/X11/XF86Config-4.in
在Section "Files"段加入:
FontPath "/usr/X11R6/lib/X11/fonts/ttf"
在Section "Module"段加入:
Load "xtt"
加#号注释掉freetype:
#Load "freetype"
3、安装OpenOffice中文支持
bash-2.05b#cd /opt/openoffice/share/fonts/truetype
建立字体文件软链接
bash-2.05b#ln -s /user/X11R6/lib/X11/fonts/ttf/simhei.ttf simhei.ttf
把/opt/openoffice/share/fonts/truetype里的fonts.dir文件改名,并把/user/X11R6/lib/X11/fonts/ttf/fonts.dir拷贝到此目录:
bash-2.05b#mv fonts.dir oofonts.dir
(此文件仅两行,第一行为1,第二行为opens___.ttf -sun-OpenSymbol-medium-r-normal--0-0-0-0-p-0-iso10646-1)
bash-2.05b#cp /usr/X11R6/lib/X11/fonts/ttf/fonts.dir fonts.dir
合并字体文件:
bash-2.05b#cat oofonts.dir >> fonts.dir
修改字体文件,打开fonts.dir,会发现fonts.dir文件变成了两部分,第一部分即原fonts.dir文件的内容,第二部分为原openoffice字体的内容,现删除openoffice字体的内容的数字部分,并在第一行加上删除的数。如删除为1,则将第一行的数字加1。最后制作一个fonts_dir.global文件,并删除原openoffice的字体文件。
#cp fonts.dir fonts_dir.global
#rm -f oofonts.dir
4、设置中文环境变量
修改/etc/bashrc和/etc/profile加入如下几行:
LC_ALL=zh_CN.GB2312
LANG=zh_CN.GB2312
LC_CTYPE=zh_CN.GB2312
export LC_ALL LANG LC_CTYPE
5、配置启动参数
修改/etc/init.d/knoppix-autoconfig文件,找到简体中文所在的段:
#cn) 注释掉此行,改为 *) 即设为默认中文启动
*)
# Simplified Chinese version
COUNTRY="cn"
LANG="zh_CN.GB2312"
#LANGUAGE="gb2312.1980-0"
LANGUAGE="zh_CN.GB2312"
KEYTABLE="us"
XKEYBOARD="us"
KDEKEYBOARD="us"
CHARSET="gb2312.1980-0"
# Additional KDE Keyboards
KDEKEYBOARDS="us,de,fr"
XMODIFIERS="@im=fcitx"
*(fcitx为中文输入法,本文暂未提供安装配置方法,启动输入法请使用/usr/bin/fcitx)
找到美国英语所在的段,将*) 改为 us),即去掉英语的默认启动
把echo "XMODIFIERS=/"$XMODIFIERS/"" >> /etc/sysconfig/i18n所在的行(大概在400行左右)注释掉,改为:
echo "XMODIFIERS="@im=fcitx"" >> /etc/sysconfig/i18n
这是为了在其它语言中也可用fcitx输入汉字(fcitx中文输入法,本文暂未提供安装配置方法)。
6、修改字体显示参数
a) 修改/etc/skel/.kderc文件
将下面的行设定为simhei.ttf字体,建议字体大小为14像素:
[General]
activeFont=simhei,14,-1,5,75,0,0,0,0,0
fixed=simhei,14,-1,5,50,0,0,0,1,0
font=simhei,14,-1,5,50,0,0,0,0,0
menuFont=simhei,14,-1,5,50,0,0,0,0,0
taskbarFont=simhei,13,-1,5,50,0,0,0,0,0
toolBarFont=simhei,14,-1,5,50,0,0,0,0,0
b) 修改/etc/skel/.kde/share/config/kdeglobals文件
[General]
fixed= simhei,14,-1,5,50,0,0,0,1,0
font=simhei,14,-1,5,50,0,0,0,0,0
menuFont=simhei,14,-1,5,50,0,0,0,0,0
taskbarFont=simhei,13,-1,5,50,0,0,0,0,0
toolBarFont=simhei,14,-1,5,50,0,0,0,0,0
[WM]
activeFont= simhei,14,-1,5,75,0,0,0,0,0
[Locale]
Charset=iso8859-15
Country=cn
Language=zh_CN.GB2312
c) 修改/etc/skel/.kde/share/config/kdesktoprc
StandardFont= simhei
d) 修改/etc/skel/.kde/share/config/konsolerc
为保证konsole正确显示英文字体,把Lucidatypewriter字体改成Console字体:
[Desktop Entry]
defaultfont=Console,12,-1,5,50,0,0,0,1,0
font=8
7、添加中文文件名支持
修改/usr/sbin/rebuildfstab,把以下两句:
ntfs) options="${options},ro,uid=knoppix,gid=knoppix" ;;
vfat|msdos) options="${options},umask=000,uid=knoppix,gid=knoppix" ;;
修改为以下三句:
ntfs) options="iocharset=utf8,${options},ro,uid=knoppix,gid=knoppix" ;;
vfat|msdos) options="iocharset=gb2312,codepage=936,${options},umask=000,uid=knoppix,gid=knoppix" ;;
auto) options="iocharset=gb2312,codepage=936,${options},umask=000,uid=knoppix,gid=knoppix" ;;
七、光盘制作
1、建立临时目录
# mkdir /mnt/hda5/NewCd
拷贝CD上除/KNOPPIX/KNOPPIX压缩影像文件外的所有文件到/mnt/hda5/NewCd,可删除boot-en.img、boot-de.img等影像文件,所有html文件,talks和demo文件夹以及autorun.bat等文件,并修改autorun.inf为:
[autorun]
icon=your.ico
用ICON工具制作您的ico文件,具体操作略。
拷贝/mnt/hda1/boot.img取替/mnt/hda5/NewCd/KNOPPIX/boot.img
2、创建文件系统压缩影像文件
建议使用的命令(注意空格,否则将无法制作成功):
#mkisofs -R -l -V "KNOPPIX iso9660 filesystem" -hide-rr-moved /
-v /mnt/hda1/KNOPPIX | create_compressed_fs - 65536 > /
/mnt/hda5/NewCd/KNOPPIX/KNOPPIX
3、制作光盘影像文件
建议使用的命令:
#cd /mnt/hda5/NewCd
#mkisofs -l -r -J -V "KNOPPIX-your_name" -hide-rr-moved -v /
-b KNOPPIX/boot.img -c KNOPPIX/boot.cat /
-o /mnt/hda5/knoppix-cd.iso /mnt/hda5/NewCd
如果您想更方便,或您不习惯使用Linux的命令行,建议使用MS Windows下的第三方工具WinISO,把/mnt/hda5/NewCd中的所有文件创建成新ISO文件,并把boot.img加入到光盘启动区即可。
最后,把您制作好的ISO文件刻成光盘,全部定制工作完成。
八、存在的问题和今后的目标
本文介绍的定制方式,主要是以包为裁剪单元进行的,目前已修正中文文件名的显示问题,更提供全面的中文输入法支持。但我们相信未来的工作还是有许多,我们希望会有更多的程序员和爱好者加入到Linux的应用和开发上去,希望本文能给您一点帮助,也祝愿更多的人能真正了解Linux和喜欢上它。
九、原始资料及参考文献
Linux发行版制作指南 (Coolee)
自制KNOPPIX简要说明(VB1AL)
Nicklaser的HOWTO文档(nicklaser@263.net)
KNOPPIX中文化可行方法(3Anoppix)
Knoppix Linux CD 中文版(imap)
Knoppix中文版制作方法HOWTO(imap)
I Built a Custom Debian CD from Knoppix (Sunil Thomas Thonikuzhiyil)
The Linux Bootdisk HOWTO (Tom Fawcett)
WORKING INSTRUCTIONS (Marco Ghirlanda)
HOWTO: Change the boot logo/screen (eadz from knoppix.net)
Creating the logo.16 file (mozdev.org)
How to install a splash screen (kde-look.org)
感谢所有热爱Linux的人们的努力。
更多推荐
所有评论(0)