OpenMoko 與linux主機連線

手機安裝完之後,接下來可以更新手機裡linux系統的kernel module好支援各種咚咚.

不過在那之前,透過那個小小的手機螢幕,要在手機畫面上的小terminal,按到小小的英文螢幕鍵盤來下linux指令實在是一件痛苦的事情.

所以在玩裡面的系統之前,得先把openmoko與linux主機的usb網路連線先搞定會比較方便.

usb連線的教學在http://wiki.openmoko.org/wiki/USB_Networking網頁上有.

不過由於透過usb連線跑tcpip之前沒碰過,所以在gentoo的環境下自己得先摸索一下.

從 http://www.linux-usb.org/usbnet/ 看了一下.要在usb上跑tcpip,需要kernel的支援,

這台gentoo的kernel之前並沒有把這部份功能掛進來,所以就得從kernel那邊開始.

先去/usr/src/linux下make menuconfig找找看跟usbnet相關的選項.

<M> Simple USB Network Links (CDC Ethernet subset)

找到上面的選項之後,選M 用module的方式來掛進kernel.

執行 make modules;make modules_install把module compile出來與安裝.

執行modprobe usbnet把module掛進kernel.

再來就可以開始進行連線的設定了.

http://wiki.openmoko.org/wiki/USB_Networking剛好有Gentoo的設定方式,

所以就照著作:

先設定Openmoko上面的網路<—-這段還是得痛苦的用手機畫面慢慢點.

在openmoko上打開terminal

然後要編輯/etc/resolv.conf

輸入 nameserver xxx.xxx.xxx.xxx

e.g. nameserver 192.168.1.1

而目前呢,手機上果然只有vi可以用來編輯這個檔案. 這下小小的英文鍵盤還要切來切去才能下vi的指令了哼!懶得理你.

在gentoo上面的設定 就照著網頁上的方式來作

  • Open /etc/conf.d/net and add:
# for Neo1973
config_usb0=( "192.168.0.200 netmask 255.255.255.0" )
routes_usb0=( "192.168.0.202/32 via 192.168.0.200" )
  • Create a new init script:
cd /etc/init.d
ln -s net.lo net.usb0
 設定完usb的網路設定,就可以執行
/etc/init.d/net.usb0 start 把網路跑起來.
由於我們的gentoo上有使用iptables的防火牆,所以接下來的設定也是需要跟著作,網路才會通. 
  • Put iptables into use:
iptables -I INPUT 1 -s 192.168.0.202 -j ACCEPT
iptables -I OUTPUT 1 -s 192.168.0.200 -j ACCEPT
iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24
  • Store them
/etc/init.d/iptables save

最後就開始嘗試連線了.

執行ssh 192.168.0.202 -l root

然後default 手機上面的root沒設密碼直接就可以進去了.

這樣就可以透過linux上的連線盡量作設定ex.其他的kernel module的install等,而不需要用那個小小的螢幕了.

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *