Slax是一個(gè)基于Slackware而形成的套件,它的主要用途是Linux桌面應(yīng)用,而且支持LiveCD和LiveUSB.它預(yù)裝的是 Kde3.4.1和KWord(KOffice中的字處理器).它的桌面簡潔大方,速度很快.又十分方便.所以我將用它來實(shí)現(xiàn)一個(gè)中文化的U盤Linux 套件.
1.U盤啟動(dòng)的方式選擇
U盤的啟動(dòng)方式有許多種,其中主要有[USB-HDD], [USB-FD], [USB-CDROM].對(duì)于我的IBM 40GB移動(dòng)硬盤來說, [ USB-HDD]是正確的.大家知道,硬盤有分區(qū)表,而軟盤沒有分區(qū)表.而[USB-HDD]方式就是從U盤分區(qū)表中讀出引導(dǎo)記錄從而完成啟動(dòng).所以,大多數(shù)的U盤應(yīng)選擇[USB-HDD]方式啟動(dòng).
2. 如何從U盤啟動(dòng)
我選擇syslinux而不是lilo或grub.經(jīng)過我的個(gè)人的兼容性測試,lilo不能在相當(dāng)一部分計(jì)算機(jī)上成功引導(dǎo),而grub似乎完全不能從 USB上工作.于是我選擇了syslinux,一個(gè)工作在FAT16上的引導(dǎo)器.
注意:syslinux 不能工作在FAT32的分區(qū)上,而且分區(qū)大小不能超過128M.原因是多數(shù)計(jì)算機(jī)BIOS使用的INT13調(diào)用不能處理超過一定大小的分區(qū).于是我的移動(dòng)硬盤就如此分區(qū):第一個(gè)分區(qū)(SDA1)只有128M,而且是 FAT16.第二個(gè)分區(qū)(SDA5)和第三分區(qū)(SDA6)就有20G.
這是分區(qū)的詳細(xì)信息:
代碼:
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 6 FAT16
/dev/sda2 14 4863 38957625 f W95 Ext'd (LBA)
/dev/sda5 14 2435 19454683+ b W95 FAT32
/dev/sda6 2436 4863 19502878+ b W95 FAT3
*安裝方法
在建立文件系統(tǒng)之后, syslinux /dev/sda1(Linux下要求解除掛載)或syslinux iWin98下i盤是第一個(gè)分區(qū)).
在第一個(gè)分區(qū)/dev/sda1下建立一個(gè)SYSlinux.cfg內(nèi)容如下:
代碼:
prompt 1
timeout 300 d
isplay SYSlinux.msg
default slax
label slax
kernel vmlinuz
append root=/dev/ram0 rw initrd=initrd.gz init=linuxrc load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=4444 max_loop=255 nocd
內(nèi)容的意義就是使用vmlinuz和initrd.gz引導(dǎo).另外你可自定義同目錄下SYSlinux.msg的內(nèi)容,這個(gè)信息將在啟動(dòng)時(shí)被顯示:
Welcome to Slax Chinese Version!
3. 安裝Slax
從http://slax.lin ux-live.org/download.php下載Slax Standard Edition.這個(gè)版本里有KDE3.4,kmplayer,一個(gè)KDE的音頻播放器和KWord,還有K征服者用來上網(wǎng).
典型界面
1. 使用指令:"mount -o loop slax-5.0.6.iso /mnt/cdrom",把ISO文件掛載到/mnt/cdrom目錄,進(jìn)入/mnt/cdrom/boot目錄,復(fù)制vmlinuz和 initrd.gz文件到/mnt/sda1(移動(dòng)硬盤的第一個(gè)分區(qū),以后省略說明).
2. 在/mnt/sda5中建立目錄slax,把/mnt/cdrom下所有文件和目錄復(fù)制到/mnt/sda5/slax:cp -rf /mnt/cdrom/* /mnt/sda5/slax/
這就完成安裝.
4.本地化
先介紹下如何在Slax上安裝自定義軟件:
Slax的SQUASHFS
SQUASHFS是一個(gè)實(shí)行壓縮的文件系統(tǒng).Slax使用它來安裝根目錄.在base目錄中,slax有一些基本的mo(SQUASHFS映象文件擴(kuò)展名)文件.如KDE,X,基礎(chǔ)庫等等.如果你要查詢哪個(gè)文件或哪個(gè)目錄屬于哪個(gè)mo文件,請(qǐng)到/mnt/live/memory查找(Slax自帶).
Slax提供了創(chuàng)建,修改和使用SQUASHFS module的方法.
*創(chuàng)建模塊
*把Slackware的tgz安裝包轉(zhuǎn)換成mo:tgz2mo application.tgz application.mo
*如果要在修改安裝包之后建立模塊:
installpkg -root /tmp/package application.tgz
進(jìn)入/tmp/package進(jìn)行修改,完成后制作模塊:
dir2mo /tmp/package module.mo
*修改模塊
o 將模塊釋放到/tmp/directory
mo2dir module.mo /tmp/directory
o 修改完之后,創(chuàng)建模塊
dir2mo /tmp/directory module.mo
*使用模塊
oSlax運(yùn)行時(shí)掛載mo:
uselivemod /path/module.mo
o slax/modules目錄中的mo文件將被自動(dòng)掛載
注意:SQUASHFS有時(shí)不太穩(wěn)定,要特別注意避免如下幾種情況:
1. 太多層次的重疊.A文件被A.mo所擁有,新來的B.mo也有一個(gè)A文件把A.mo所覆蓋.
2. 太少的內(nèi)存空間,mo掛載時(shí)需要內(nèi)存,模塊太多內(nèi)存太少時(shí) 會(huì)導(dǎo)致一系統(tǒng)的問題.
開始工作
請(qǐng)參見Slackware的漢化工作,來做漢化工作,這里是一些不同點(diǎn):
Slax-5.0.6的一個(gè)BUG:/etc/profile.d/slax.sh自作聰明的加入export LC_ALL=c,刪除它.
下載firefly字體(http://cle.linux.org.tw/Slackware/s...11-noarch-1.tgz) 后,安裝它,生成fc.cache和fonts.dir等等,等到萬事具備時(shí):
代碼:
mkdir -p /tmp/package/usr/local/font
cp -rf /usr/local/font/* /tmp/package/usr/local/font
mo2dir /tmp/package /mnt/sda5/slax/modules/fonts.mo
安裝Xorg.6.8.2-firefly版本(下載地址:http://cle.linux.org.tw/Slackware/s...1.Firefly.tgz):
代碼:
installpkg --root /tmp/package x11-6.8.2-i486-1.Firefly.tgz
cd /tmp/package/etc/X11/
cp /etc/X11/xorg.conf . # 把符合你顯卡配置的xorg.conf復(fù)制到這里來
cd /tmp/package
mo2dir /tmp/package /mnt/sda5/slax/modules/xorg682.mo
安裝fcitx:
tgz2mo fcitx.tgz /mnt/sda5/slax/modules/fcitx.mo
安裝kde-i18n-zh_CN-3.4.1-noarch-1.tgz(KDE中文化)
http://ftp.cgu.edu.tw/Linux/Slackwa....1-noarch-1.tgz
tgz2mo kde-i18n-zh_CN-3.4.1-noarch-1.tgz /mnt/sda5/slax/modules/kde.mo
同樣的方法,可以下載并安裝XMMS,firefox,thunderbird等等.
一些細(xì)節(jié)
為了使KMplayer能播放RMVB,下載
代碼:
http://www1.mplayerhq.hu/MPlayer/re...0050412.tar.bz2
tar -jxvf essential-20050412.tar.bz2
mv essential-20050412 /usr/lib/win32
rm -rf /tmp/package
mkdir -p /tmp/package/usr/lib/win32
cp -rf /usr/lib/win32/* /tmp/package/usr/lib/win32
dir2mo /tmp/package/usr/lib/win32 /mnt/sda5/slax/modules/codecs.mo
這樣KMPlayer就能完美播放各種各樣的視頻文件
我的/etc/gtk/gtkrc.zh_CN文件:
代碼:
style "gtk-default-zh-cn" {
fontset = "-adobe-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-1,
-*-*-medium-r-normal--12-*-*-*-*-*-gbk-0,*-r-*"
}
class "GtkWidget" style "gtk-default-zh-cn"
我的profile.d/lang.sh
代碼:
export LC_ALL=zh_CN.gbk
export G_BROKEN_FILENAMES=1
export XMODIFIERS="@im=fcitx"
自動(dòng)啟動(dòng)fcitx
在/root/.kde/Autostart/中加入文件fcitx.desktop,文件內(nèi)容如下:
代碼:
[Desktop Entry]
Encoding=UTF-8
Name=fcitx
Name[zh_CN]=fcitx
GenericName=輸入法
Exec=fcitx
Icon=fcitx
Type=Application
Terminal=0
X-KDE-StartupNotify=false
X-KDE-AuthorizeAction=shell_access