需要的東西:
M704
隨身碟(>1G)

輔助的環境:

Ubuntu 9.04
Virtualbox 3 (guest is windows)

參考文章:

http://www.dup2.org/node/1139
http://en.opensuse.org/Live_USB_stick
http://wiki.linuxquestions.org/wiki/EGalax_Touchscreen
http://en.opensuse.org/HP_Pavilion_dv6855el#0c45:62c0_Microdia
http://www.linuxquestions.org/questions/linux-software-2/how-set-egalax-touchscreen-to-single-click-727561/
http://samiux.wordpress.com/2009/05/15/howto-via-s3-unichrome-pro-problems-fixed-on-ubuntu-9-04/

rtl8187
http://smalldd.pixnet.net/blog/post/18217358

最佳化參考
http://www.linuxsir.com/bbs/thread353552.html


過程:

利用抓下來的ISO,放到USB隨身碟上做開機碟,並安裝
$ wget http://download.opensuse.org/repositories/GNOME:/Medias/images/iso/openSUSE-11.1-GNOME-Reloaded-LiveCD.i686-0.1.0-Build4.2.iso

把隨身碟格式化成FAT(16)格式的
預設隨身碟只有一個分割區,及它的名稱sdb
(用windows格式化或許會比較快)
$ sudo fdisk -l
$ sudo umount /dev/sdb1
$ sudo fdisk /dev/sdb
p(顯示目前隨身碟上面的分割區資訊)
d(刪除指定的分割區)
n(建立分割區)
p(建立主分割區) 加上兩次Enter(分配所有的容量)
a(設定開機檔所在的分割區)
1(在剛剛所建立分割區)
t(設定分割區格式)
6(設定為fat16)
w(把剛才的設定寫入)

格式化
$ sudo mkfs.vfat -F 16 /dev/sdb1

利用syslinux製作開機碟(會使用syslinux是因為它能夠支援fat16)
$ sudo syslinux /dev/sdb1

* ubuntu 9.04會自動mount隨身碟,我隨身碟被mount的名稱是/media/disk

把映像檔當做實體光碟片掛載進來
$ sudo mkdir /mnt/suseiso
$ sudo mount openSUSE-11.1-GNOME-Reloaded-LiveCD.i686-0.1.0-Build4.2.iso /mnt/suseiso -o loop

把ISO檔裡面的東西都copy到隨身碟裡面
$ sudo cp -R /mnt/suseiso/* /media/disk

把loader底下的所有文件,都搬到隨身碟的最上層
$ sudo cp -R /mnt/suseiso/boot/i386/loader/* /media/disk

解壓縮initrd
# mkdir opensuse
# cd opensuse
# gzip -dc /mnt/suseiso/boot/i386/loader/initrd | cpio -i

修改讓它直接去 /dev/sdb1 上找 Live OS
# sed -i -e "s/\$cddev;do/\"\/dev\/sdb1\";do/" include

產生新的 initrd 檔案,更名為 initrdud,放在隨身碟的最上層
# find . | cpio -o -H newc | gzip -9 > /media/disk/initrdud

將isolinux.cfg更改名稱(聽說這個是11.2之前才要做的動作)
$ sudo mv /media/disk/isolinux.cfg /media/disk/syslinux.cfg

修改syslinux.cfg,把initrd的文字,更改成initrdud

設定好正確的mbr
$ sudo install-mbr /dev/sdb

把隨身碟插到M704上面,用隨身碟開機,執行LiveCD,
然後在開完機後,選擇Install(在桌面上)

安裝好了以後,將防火牆永久停用,並透過遠端電腦連線ssh進來
增加以下的repo
$ sudo zypper ar ftp://ftp.twaren.net/Linux/OpenSuSE/distribution/11.1/repo/oss/ my_oss_taiwan
$ sudo zypper ar ftp://ftp.twaren.net/Linux/OpenSuSE/distribution/11.1/repo/non-oss/ my_non-os_taiwan
$  sudo zypper ar ftp://ftp.twaren.net/Linux/OpenSuSE/update/11.1/ my_update_Taiwan

設定好repo後,透過YAST更新系統

修改開機選單中的參數,讓解析度固定為800x600(因為沒有Driver的關係)
在kernel /vmlinuz.....的後面,加上vga=0x315,存檔後重開

$ sudo vi /boot/grub/menu.lst

安裝CX700(VIA)驅動程式(待確認)
$ sudo zypper in subversion automake gcc xorg-x11-devel libdrm-devel xorg-x11-server-sdk libtool
$ svn co http://svn.openchrome.org/svn/trunk openchrome
$ cd openchrome
$ ./autogen.sh --prefix=/usr && make && sudo make install

修改xorg.conf(待確認)
執行sax2發現可以將解析度更改為為1024x600
可能要測試一下,是否本來就可以把解析度更改成1024x600
不過我想,應該是裝了openchrome的驅動程式以後才有的結果
因為本來是要靠vga=0x315才能使用800x600的解析度
不管如何,之前vga=0x315的地方別忘了拿掉
而這不是代表我可以更換ubuntu9.04了呢?

安裝VIA原廠的驅動程式(待確認)這時我的核心版本是(2.6.27.29-0.1-default)
$ sudo zypper in kernel-source
$ wget http://linux.via.com.tw/support/beginDownload.action?eleid=303&fid=598
$ tar xvf via-xserver-86a-50283_src.tgz
$ cd via-xserver-86a-50283_src/DRM/H2DRM_Independent_2.6.27
$ mkdir /lib/modules/`uname -r`/build/include/drm
$ sudo cp via_drm.h /lib/modules/`uname -r`/build/include/drm/
$ make && sudo make install
$ sudo depmod -a (接下來就是restart x)
$ cd ../../XServer
$ chmod +x autogen.sh
$ ./autogen.sh && make && make install

安裝觸控螢幕的驅動程式
請從以下的網站去尋找
http://home.eeti.com.tw/web20/eGalaxTouchDriver/linuxDriver.htm
(2.6.x 32Bit)
$ wget http://home.eeti.com.tw/web20/drivers/touch_driver/Linux/2062905/eGalaxTouch-2.06.2905-32b-k26.tar.gz
$ tar zxf eGalaxTouch-2.06.2905-32b-k26.tar.gz
$ cd eGalaxTouch32
$ sudo ./setup.sh    (請選擇USB)

修改xorg,把單按左鍵等於雙按左鍵的效果改成只有單按左鍵
(這個部份ubuntu 9.04是不需要做的)
加上這一行進去到touchscreen input device section:
Option "SkipClick" "1"
$ sudo vi /etc/X11/xorg.conf

重開機後,執行以下指令,然後選擇Tool頁籤裡面的4Pts Call做螢幕的定位
$ eGalaxTouch

停掉不需要用的服務
$ sudo chkconfig sshd off

Opensuse 11.1其它會出現的問題(期待11.2),但我這版是使用reloaded的版本,非官方的,可能還要測試一下11.1的官方版本
1. 當機(orz...例如隨身碟插進去就會發生了,或者啟動yast當機)
2. 網路收訊不太好(跟ubuntu 8.04比起來,至少wep和none encryption的都是可以用,而且不會卡住)
3./media/掛載後的資料夾會留下來(disk-1,disk2......+++++)

安裝flash-plugin(這個是11.1的官方版本)
先看是否有安裝舊的flash-plugin
$ rpm -qa|grep flash
下載官方的rpm並且安裝它
然後把libflashplayer.so 連結到 browser-plugins 的目錄中,再重新開啟 firefox 即可
$ sudo ln -s /usr/lib/browser-plugins/flash-plugin/libflashplayer.so /usr/lib/browser-plugins/libflashplayer.so
$ sudo mv /etc/fonts/conf.d/49-sansserif.conf /etc/fonts/conf.d/kill-49-sansserif.conf
重新啟動browser

安裝其它unix-like的os,需要處理的狀況都不一樣
1. Ubuntu 7 (己沒有更新,基本上是不用考慮的)
2. Ubuntu 8.04 (網路是使用ndiswrapper + win98 rtl8187 driver,但無法使用wep)
3. Ubuntu 9.04 (己成功並穩定使用中)  (螢幕的部份會超出顯示範圍,不過可以在xorg.conf的Device加上Option "PanelSize" "1024x600")
    或者可以參考這個 => http://github.com/gisanfu/multi-xorg-by-m704
4. Ubuntu 9.10 (螢幕的部份還是有問題,不過我想使用panelsize也可以解決,不過我不想用ibus和新版的xorg)

創作者介紹

創造心理的感動

gisanfu 發表在 痞客邦 PIXNET 留言(0) 人氣()