歡迎您光臨本站 註冊首頁

Slax本地化:一個在移動硬碟上的Linux中文套件

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

Slax是一個基於Slackware而形成的套件,它的主要用途是Linux桌面應用,而且支持LiveCD和LiveUSB.它預裝的是 Kde3.4.1和KWord(KOffice中的字處理器).它的桌面簡潔大方,速度很快.又十分方便.我將用它來實現一個中文化的U盤Linux 套件.

1.U盤啟動的方式選擇

U盤的啟動方式有許多種,其中主要有[USB-HDD], [USB-FD], [USB-CDROM].對於我的IBM 40GB移動硬碟來說, [ USB-HDD]是正確的.大家知道,硬碟有分區表,而軟盤沒有分區表.而[USB-HDD]方式就是從U盤分區表中讀出引導記錄從而完成啟動.,大多數的U盤應選擇[USB-HDD]方式啟動.

2. 如何從U盤啟動

我選擇syslinux而不是lilo或grub.經過我的個人的兼容性測試,lilo不能在相當一部分計算機上成功引導,而grub似乎完全不能從 USB上工作.於是我選擇了syslinux,一個工作在FAT16上的引導器.

注意:syslinux 不能工作在FAT32的分區上,而且分區大小不能超過128M.原因是多數計算機BIOS使用的INT13調用不能處理超過一定大小的分區.於是我的移動硬碟就如此分區:第一個分區(SDA1)只有128M,而且是 FAT16.第二個分區(SDA5)和第三分區(SDA6)就有20G.

這是分區的詳細信息:

代碼:

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

*

安裝方法

在建立文件系統之後, syslinux /dev/sda1(Linux下要求解除掛載)或syslinux iWin98下i盤是第一個分區).

在第一個分區/dev/sda1下建立一個SYSlinux.cfg內容如下:

代碼:

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

內容的意義就是使用vmlinuz和initrd.gz引導.另外你可自定義同目錄下SYSlinux.msg的內容,這個信息將在啟動時被顯示:

Welcome to Slax Chinese Version!

3. 安裝Slax

從http://slax.lin ux-live.org/download.php下載Slax Standard Edition.這個版本里有KDE3.4,kmplayer,一個KDE的音頻播放器和KWord,還有K征服者用來上網.

典型界面

1. 使用指令:"mount -o loop slax-5.0.6.iso /mnt/cdrom",把ISO文件掛載到/mnt/cdrom目錄,進入/mnt/cdrom/boot目錄,複製vmlinuz和 initrd.gz文件到/mnt/sda1(移動硬碟的第一個分區,以後省略說明).

2. 在/mnt/sda5中建立目錄slax,把/mnt/cdrom下所有文件和目錄複製到/mnt/sda5/slax:cp -rf /mnt/cdrom/* /mnt/sda5/slax/

這就完成安裝.

4.

本地化

先介紹下如何在Slax上安裝自定義軟體:

Slax的SQUASHFS

SQUASHFS是一個實行壓縮的文件系統.Slax使用它來安裝根目錄.在base目錄中,slax有一些基本的mo(SQUASHFS映象文件擴展名)文件.如KDE,X,基礎庫等等.如果你要查詢哪個文件或哪個目錄屬於哪個mo文件,請到/mnt/live/memory查找(Slax自帶).

Slax提供了創建,修改和使用SQUASHFS module的方法.

*

創建模塊

*

把Slackware的tgz安裝包轉換成mo:tgz2mo application.tgz application.mo

*

如果要在修改安裝包之後建立模塊:

installpkg -root /tmp/package application.tgz

進入/tmp/package進行修改,完成後製作模塊:

dir2mo /tmp/package module.mo

*

修改模塊

o 將模塊釋放到/tmp/directory

mo2dir module.mo /tmp/directory

o 修改完之後,創建模塊

dir2mo /tmp/directory module.mo

*

使用模塊

o

Slax運行時掛載mo:

uselivemod /path/module.mo

o slax/modules目錄中的mo文件將被自動掛載

注意:SQUASHFS有時不太穩定,要特別注意避免如下幾種情況:

1. 太多層次的重疊.A文件被A.mo所擁有,新來的B.mo也有一個A文件把A.mo所覆蓋.

2. 太少的內存空間,mo掛載時需要內存,模塊太多內存太少時 會導致一系統的問題.

開始工作

請參見Slackware的漢化工作,來做漢化工作,這裡是一些不同點:

Slax-5.0.6的一個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等等,等到萬事具備時:

代碼:

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複製到這裡來

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等等.

一些細節

為了使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"

自動啟動fcitx

在/root/.kde/Autostart/中加入文件fcitx.desktop,文件內容如下:

代碼:

[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

來源:linuxsir 作者:liquid_zigong

版權歸作者所有,如需轉載,請註明出處及作者


[火星人 ] Slax本地化:一個在移動硬碟上的Linux中文套件已經有620次圍觀

http://coctec.com/docs/linux/show-post-57462.html