2007年8月14日 星期二

ubuntu feisty amd64 安裝筆記 3 - 在 Ubuntu 下設立 IA32 的環境

後來想想, 除了把 kernel compile 成 64 dual-core 外, 還有 library 和 application 也最好要跟著改, 才能發揮它的效用. 後來發現 Ubuntu feisty 有 amd64 的 image, 於是就把它下載燒成光碟, 然後把我的系統重灌!

然而在 64-bit, 還是有一些零星的小問題. 大體上都很順, 連 X windows 都不需要另外安裝 fglrx driver 就可以開了. 比較麻煩是 firefox 無法使用 java plugin. Java 和 firefox 都是 64-bit 而且 OK. freemind 一 apt-get install 完就可以 run 而且中文也 OK.

查 sun 的官方網頁好像目前還無解, 於是就試試 "Ubuntu AMD64 IA32 Howto", 以下是隨手筆記:


# apt-get install debootstrap
# debootstrap --arch i386 feisty /hda3/feisty-i386 http://tw.archive.ubuntu.com/ubuntu
# chroot /chroot/feisty-i386
從以下是進入 IA32 環境下操作:
# vi /etc/apt/sources.list
# apt-get update && apt-get upgrade
# apt-get install libx11-
#共享 64 環境中的 home, tmp, proc 在 /etc/fstab 中加入:
----------------------------
/home /chrrot/feisty-i386/home none bind 0 0
/tmp /chroot/feisty-i386/tmp none bind 0 0 proc
/chroot/feisty-i386/proc proc defaults 0 0
----------------------------
在當下可以運作, 但是重新開機後, tmp 和 proc 好像無法 bind, 可能是因為我的 tmp 也是經過 bind 到 /dev/shm/tmp, fstab 應是比較早執行,
我把它移到自己寫的 bind_dir script 中:
------------------
echo "Start to setup IA32 environment"
mount --bind /dev/shm/tmp /hda3/chroot/feisty-i386/tmp
echo "The IA32 /tmp is mouted to /dev/shm/tmp"
mount -t proc proc /chroot/feisty-i386/proc
echo "The IA32 proc is mouted"
mount --bind /home /chroot/feisty-i386/home
echo "The IA32 home is mounted"
echo "The IA32 environment is OK"
----------------
# cp /etc/passwd /chroot/feisty-i386/etc/
# cp /etc/shadow /chroot/feisty-i386/etc/
# cp /etc/group /chroot/feisty-i386/etc/

# apt-get install language-support-zh
?? 無法設定 locale, 並沒有出現 configuration 的畫面.
# apt-get install gnome-icon-theme gnome-themes ttf-arphic-uming
原來是用 ttf-arphic-newsung, 但是找不到, 我改用 ttf-arphic-uming

在 ia32-chroot 中執行應用程式
# chroot /hda3/chroot/feisty-i386
# su - export DISPLAY=:0 <執行應用程式>
使用 dchroot 執行 32bit 應用程式
$ apt-get install dchroot
# gedit /etc/dchroot.conf 在檔案最後面加上:
# ia32 chroot ia32 /chroot/breezy-i386 以後只要用以下方式即可執行應用程式
# dchroot -c ia32 -d <應用程式>
建立啟動圖示 在安裝完應用程式之後,將 ia32-chroot 中的應用程式啟動圖示複製到 AMD64 系統中。

在 Ubuntu 中應用程式的啟動圖示會被放到 /usr/share/applications 目錄,啟動圖示的 icon 則放在 /usr/share/pixmaps 目錄,
因此只要將 ia32-chroot 中這兩個資料夾的 *.desktop/*.xpm/*.png 項目複製到系統中的相同位置即可:
# cp /chroot/breezy-i386/usr/share/applications/*.desktop /usr/share/applications/
# cp /chroot/breezy-i386/usr/share/pixmaps/*.xpm /usr/share/pixmaps/
# cp /chroot/breezy-i386/usr/share/pixmaps/*.png /usr/share/pixmaps/

其中最後的建立啟動圖式我並沒有試, 單純留個記錄. 基本上我也不會常用 dchroot, 我自己是習慣用一個 workspace, 開一個 IA32
的 terminal, 然後所有 IA32 的行為都在裏面執行就好了!

然後在這個環境中 apt-get install firefox, apt-get install sun-java6-XXXX, 基本上就 OK 了

沒有留言:

佇 Linux 來看GPX 檔案

最近定定有戶外活動。使用𤆬路機 (GPS) 來記錄行過的路線。普通我記錄路線,攏是用手機仔抑是專門个𤆬路機,罕得用電腦來看。 毋過,"仙人拍鼓有時錯,跤步踏差啥人無"。有一擺我無細膩,袂記得共一擺活動的路線收煞起來,閣直接開始記錄下一擺的活動,按呢共幾落...