Slax本土化:行動硬碟上的Linux中文套件(轉)

BSDLite發表於2007-08-11
Slax本土化:行動硬碟上的Linux中文套件(轉)[@more@]  Slax是一個基於Slackware而形成的套件,它的主要用途是Linux桌面應用,而且支援LiveCD和LiveUSB.它預裝的是 Kde3.4.1和KWord(KOffice中的字處理器).它的桌面簡潔大方,速度很快.又十分方便.所以我將用它來實現一箇中文化的隨身碟Linux 套件.
  
  1.隨身碟啟動的方式選擇
  
  隨身碟的啟動方式有許多種,其中主要有[USB-HDD], [USB-FD], [USB-CDROM].對於我的IBM 40GB行動硬碟來說, [ USB-HDD]是正確的.大家知道,硬碟有分割槽表,而軟盤沒有分割槽表.而[USB-HDD]方式就是從隨身碟分割槽表中讀出引導記錄從而完成啟動.所以,大多數的隨身碟應選擇[USB-HDD]方式啟動.
  
  2. 如何從隨身碟啟動
  
  我選擇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
  
  從 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
  
  *使用模組
  
  oSlax執行時掛載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字型( 後,安裝它,生成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版本(下載地址:
  
  程式碼:
  
  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中文化)
  
  
  
  tgz2mo kde-i18n-zh_CN-3.4.1-noarch-1.tgz /mnt/sda5/slax/modules/kde.mo
  
  同樣的方法,可以下載並安裝XMMS,firefox,thunderbird等等.
  
  一些細節
  
  為了使KMplayer能播放RMVB,下載
  
  程式碼:
  
  
  
  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

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-946198/,如需轉載,請註明出處,否則將追究法律責任。

相關文章