1999年3月12日金曜日
[機器][PDA] ZaurusOSプログラミング
[機器][PDA] ZaurusOSプログラミング
SL-C3100でやったこと
自分の記憶補助のために書いていますが、もしもリンクしたい方はご自由にどうぞ。
見やすいように適当に並べ替えています。
ZaurusZaurus
http://www.geocities.jp/zauzaurusrus/
本 体への設定とか
・keyhelperを入れる
キーボード配置が どーしても慣れません・・・。emacsはctrlが小指でないと指がつります。 keyhelperというソフトで、キーバインドの変更が 可能らしいので、TabキーとCtrlキーを入れ替えました。
,/を入れ替え、{ }を「」の右に。カナひらはaltキーに。ランチャーキーをAddressに 設定し、アプリ切り替えをShift+Home、アプリ選択をShift+Menuに設定。コンソール時、このアプリ切り替えは感 動的に便利です!タスクバーのアイコンをスタイラスでタップするなんて、もう考えられません。
keyhelper.xmlは、カスタム中ですがここやここなど適当につまみ食いして設定しています。 フタ閉じても電源落ちない設定などなど。
---keyhelper.xmlの内容
<?xml version="1.0"?>
<keyhelper>
<modifiers>
<define key="F26" type="Alt" mapping="True">
<release key="F31"/>
</define>
<define key="F10" type="User1" mapping="True">
</define>
<define key="Tab" type="Control" mapping="True">
</define>
<define key="Control" type="Tab" mapping="True">
</define>
</modifiers>
<mappings>
<define key="F26">
<map key="Alt"/>
<map_modifier Shift="Off"/>
</define>
<define key="Slash">
<map key="Comma"/>
<map_modifier Shift="Off"/>
<map_unicode unicode=","/>
</define>
<define key="Comma">
<map key="Slash"/>
<map_unicode unicode="/"/>
</define>
<define key="Comma">
<modifier Shift="On"/>
<map key="Comma"/>
<map_modifier Shift="Off"/>
<map_unicode char=","/>
</define>
<define key="Tab">
<map key="Control"/>
<map_unicode code="ffff"/>
</define>
<define key="Control">
<map key="Tab"/>
<map_unicode code="ffff"/>
</define>
<define code="2015">
<map key="Less"/>
<map_modifier Shift="On"/>
<map_unicode char="{"/>
</define>
<define code="2016">
<map key="Greater"/>
<map_modifier Shift="On"/>
<map_unicode char="}"/>
</define>
<define code="2009">
<map key=""/>
</define>
</mappings>
<repeater>
<repeat delay="500" period="30"/>
</repeater>
<extensions>
<define key="F11" kind="select">
<modifier Shift="On"/>
</define>
<define key="F12" kind="switch">
<modifier Shift="On"/>
</define>
<define key="All" kind="launch">
<modifier User1="On"/>
</define>
<define key="F21" kind="launch">
</define>
</extensions>
</keyhelper>
--- keyhelper.confの内容。TKVolを インストールすればボリューム調整もできます。 Address+3でvolup,4でvoldownにしています。大変便利です。
tkvolのサイトがなくなってしまったようです。。はけの徒然日記 のzvolにてvol調整できるようです。
tkvol→zvolに変更、QPOBoxの設定を追加しました。(2008.5.11)
ZaurusZaurus
http://www.geocities.jp/zauzaurusrus/
[Global]
UseFilterApps=
XmlFile=
[Launch]
3 = @exec /home/QtPalmtop/bin/zvol -10
4 = @exec /home/QtPalmtop/bin/zvol +10
5 = @exec /home/QtPalmtop/bin/zvol m
6 = @exec /home/QtPalmtop/bin/zvol 0
H = @qcop QPE/InputHelper handle()
K = Applications/embeddedkonsole-ja
T = Applications/zeditor
M = Applications/musicplayer
N = Applications/netfront3
W = @qcop QPE/Network "up()"
Z = Applications/zplayer
F21 = @qcop QPE/QPOBox show()
これらの設定を有効にするには、ターミナルから「khctl reload」を実行します。
・inputhelper
inputhelperをkeyhelperと組み合わせると、マウス・カーソルが出るらしい。
キーボードだけで操作するカーソルです。ランチャーキーでカーソルが表示されたら、カーソルキーで移動、Spaceで右クリック、Fn+Spaceで左ク リックできます(詳細)。 移動はShiftで速く(荒く)なり、 Ctrlで遅く(細かく)なります。自分は何も押さないときに速く動いてほしいので、~/Settings/inputhelper.conf の [Step]の値をnormalとsmallで入れ替えてしまいました。
[Step]
normal = 32
small = 2
large = 8
上のkeyhelper.conf のように設定すれば、Address+Hでポインタが出てきます。
いずれは、USBホストケーブルをつないで、マウスをつなげてみる計画です(ここなどで触発 されました)。
ポインタ
・スペシャルカーネルを入れたい。
ここを参考にしました。
http://tetsu.homelinux.org/zaurus/kernel/
ここに「SL-3100用のソースコードが公開されていないため、元に戻すにはNANDバックアップをリストアする必要があります。この意味を理解でき ないかたは使用しないでください。」とありますが、もちろんNANDバックアップなんて知りません。
・D+Mを押しながら、電池蓋を外してリセットボタンを押す。
・出てきたメニュー (QVGAの横向きですが)で、カーソル上でSERVICEのページ3/3にし、3ページ目の「2. BACKUP RESTORE MENU」の中に「2.NAND Flash BackUp」があります。
・自分はSDカードを使いました(128Mで容量足りん!怒られたので、良い機会と思い1G買いました・・・)。ext2フォーマットとかしてある場合 は、FATフォーマットをしておきます。このとき、SDよりCFカードが優先のようなので、CFカードは抜いておかない(メモリカード以外でも。無線 LANカードとかでも)怒られました。
・このサービスメニュー、LCD診断とか出来て面白いですが、余りいぢりすぎるとおかしなことになります。自分は、BOOTをDIAGモードに変更して しまったらしく、いくらリセットボタンを押してもQtが起動せず、DIAG MENUが出てしまい汗汗(ー□ー);しました。
・バックアップは、結構な時間がかかります。TVを見ながら、30分ほどほおっておきました。"Backup...OK"と表示されれば終了です。
・終了後、リセットボタンを押して電源ONします。SDカードに出来たファイル「SYSTC310.DBK」をwindows機にバックアップしま した。
→次に、上記サイトを参考に手順通りに。
・「updater.sh.c3100」をこ こからDLさせて頂き、ファイル名を「updater.sh」に変更しSDにコピーしました。
・同様に「zImage-v18b-pre3-C3100.bin」をDLし、ファイル名を「zImage」に変更しSDにコピーしました。この2 ファイルしかSDカードにないことを確認。
・こ こを参考に手順(7)-(11)を行います。要は、電池蓋リセット→OK押しながら電源ON→メンテナンスメニューから「4アップデート」「SD カード」。アップデートは思っていたより早く、数秒でした。電池蓋リセットで終了です。
・お!ブート画面でペンギンと、進行が出るようになりました。状況がわかるため「しばらくお待ちください」よりずっと良いです。
・「SL-C3100 kernel modules (v18b-pre3)」をインストールします。
・お手軽GUI変更ツール「qclockchange-for-c3000_0.1_arm.ipk」 をインストール。上記ページを参考 に2002290の0cに変更しました。
# 2000210: CPUクロック416MHz システムバス208MHz LCD104MHz(default)
# 2000290: CPUクロック520MHz システムバス208MHz LCD104MHz
# 2000310: CPUクロック624MHz システムバス208MHz LCD104MHz
# 2000214: CPUクロック520MHz システムバス260MHz LCD 64MHz
# 2000218: CPUクロック624MHz システムバス312MHz LCD 78MHz
# a000214: CPUクロック520MHz システムバス260MHz LCD130MHz
# a000218: CPUクロック624MHz システムバス312MHz LCD156MHz
# 解説: クロックアップ時はコア電圧もセットで変更して下さい。
<コア電圧>
# 00: 0.850V
# 01: 0.900V
# 02: 0.950V
# 03: 1.000V
# 04: 1.050V
# 05: 1.100V
# 06: 1.150V
# 07: 1.200V
# 08: 1.250V
# 09: 1.300V
# 0a: 1.350V (default: 416MHz時の定格)
# 0b: 1.400V
# 0c: 1.450V (520MHz時の定格)
# 0d: 1.500V
# 0e: 1.550V (624MHz時の定格)
# 0f: 1.600V
# 解説: クロックアップ時はコア電圧を上げないと安定しないようです。
とのこと。
ちょこっと早く動いています。なかなか良いです。
→8/22にSL-C3100専用のスペシャルカーネルに更新されていました(SL-C3100 special kernel (v18b))ので、入れてみました。方法は上と同じです。
・「updater.sh.c3100」 をDL、ファイル名を「updater.sh」に変更しSDにコピー。
・同様に「zImage-v18b-C3100.bin」をDLし、ファイル名を「zImage」に変更しSDにコピー。この2ファイルしかSDカー ドにないことを確認。
・電 池蓋リセット→OK押しながら電源ON→メンテナンスメニューから「4アップデート」「SD カード」。completeが表示されたら、電池蓋リセットで終了です。
ZaurusZaurus
http://www.geocities.jp/zauzaurusrus/
・BatteryPlus (2007.5.6)
下のページからBatteryPlusをインストールしました。タスクバーからクロックを簡単に変更できて非常に便利です。
ぴろさんのページ http://piro.sytes.net/~piro/pukiwiki/pukiwiki.php?BatteryPlus
/home/zaurus/Setting/BatteryPlus.conf に設定を保存します。ターミナルより「qcop QPE/TaskBar "reloadApplets()"」実行で、設定を再読込みします。
Battery_Mode
Hi Mode, 02000218, 0f, ,
Mid Mode, 02000214, 0b, , STD
Low Mode, 02000210, 09, ,
AC Mode, 02000218, 0f, -1,
Battery Full, 02000218, 0f, 100,
Battery Low, 02000210, 09, 50,
ZaurusZaurus
http://www.geocities.jp/zauzaurusrus/
・クロックダウン設定で電池長持ち (2008.5.5)
はけの徒然日記 にて、クロックダウンで電池が長持ちするとの記述を発見。真似しました。SLow Modeは、Super Low Modeの略です。
SLモードのときは、CFスロットにメモリー関係のCFカードを入れておかないと、液晶のチラツキが激しいです。CFカード入れると結構マシです。
Hi Mode, 02000218, 0f, ,
Mid Mode, 02000214, 0b, , STD
Low Mode, 02000210, 09, ,
SLow Mode, 0A000208, 09, ,
AC Mode, 02000218, 0f, -1,
それぞれのモードを、ZBench V2.2で測定してみました。単位は秒です。
Integer Floating point Draw Text Draw Graphic
Hi Mode 3.235 1.393 9.072 4.837
Mid Mode 3.886 1.664 10.753 5.766
Low Mode 4.863 2.102 13.097 7.115
SLow Mode 9.884 4.355 25.903 14.287
ZaurusZaurus
http://www.geocities.jp/zauzaurusrus/
・BatteryPlusに日付を表示
タスクバーのBatteryPlusアイコンを押したとき、メニューの一番上に「Settings」と出ますが、ここに日付と曜日が出ると便利だなと思 い、改造しました。ソースの差分です。日付を表示するお手本ソース、ほぼそのまま。。
$ diff battery.cpp_ORIG battery.cpp
40a41
> #include <time.h>
347c348,359
< menu->insertItem(STD_SETTING);
---
> //menu->insertItem(STD_SETTING);
> {
> struct tm *s_time;
> time_t the_time;
> char today[50],week[7][4]={"sun","mon","tue","wed","thu","fri","sat"};
>
> (void) time(&the_time);
> s_time=localtime(&the_time);
>
> sprintf(today,"%4d/%d/%d(%s)",1900+s_time->tm_year,(s_time->tm_mon)+1,s_time->tm_mday, week[s_time->tm_wday]);
> menu->insertItem(today);
> }
batplus
suになって/home/QtPalmtop/plugins/applets/libbatteryapplet.so のリンクを削除し、
このlibbatteryapplet.so.zipを展開 して入れ替え、
「qcop QPE/TaskBar "reloadApplets()"」
でアプレットを再起動します。元へ戻すには、libbatteryapplet.soを消して、 libbatteryapplet.so.1.1.6へリンクを張りなおします(ln -s libbatteryapplet.so.1.1.6 libbatteryapplet.so)。
ZaurusZaurus
http://www.geocities.jp/zauzaurusrus/
・swap領域作成
HDD領域にSWAPを作成しました。色々なところでfat領域に作ると不安定と書いてありますが、今のところ大丈夫です。
ここを参考 にしました。
# dd if=/dev/zero of=/hdd3/.swap bs=512 count=262144
# mkswap /hdd3/.swap
# swapon /hdd3/.swap
freeコマンドでSwap領域できたのを確認できます。
・起動時に自動swapon (2007.1.28)
毎回swaponするのは面倒なので、上記で作った.swapを自動でswaponさせます。
月夜さんとDebian GNU/Linuxを参考にしました。
$ su
# vi /etc/rc.d/init.d/swap
(ファイルの内容)
#!/bin/sh
swapon /hdd3/.swap
# chmod +x swap
# ln -s /etc/rc.d/init.d/swap /etc/rc.d/rc5.d/S50swap
C3100は、swapファイルを抜けるSDカードでなくて、抜かないHDDに作れるので自動認識にするべきです。
便利です。もっと早くやればよかったと後悔しました。
ZaurusZaurus
http://www.geocities.jp/zauzaurusrus/
・無線LANsamba
こ こを参考にsambaを無線LAN経由に変更しました。
/usr/lib/samba/smb.conf を su でrootになって編集。 interfaces = usbd0 に wlan0 を足せばOK。wlan0は、事前にifconfig -aコマンドでわかります。ついでにworkgroupと hosts allow(接続許可IPアドレス)を追加しました。
# workgroup = WORKGROUP
workgroup = TAKOIKA
interfaces = usbd0 wlan0
hosts allow = 192.168.1.1
編集後、/etc/rc.d/init.d/samba start で設定を有効にしました。windowsのファイル名を指定して実行から、\\192.168.1.2(ifconfigで表示されたzaurusの IP。\\zaurusでつながればそちらでOK)でフォルダが出てくれば成功。線無しは、かなり快適便利!
→その後、以下のサイトからsambacontrollerをダウンロードしました。クリックするだけでsambaをスタートできます。
http://gadget.mda.or.jp/zaurus/sambacontroller.html
→smbpasswdもインストールしました。パスワードを設定できます。インストールするべきです。
root権限で実行します。
sudo smbpasswd -a zaurus
ZaurusZaurus
http://www.geocities.jp/zauzaurusrus/
・無線LANをつないだときにsambaをスタートさせる (2007.2.4)
ずっと面倒だと思っていたので設定してしまいます。パスワードを設定すればsamba自動起動しても、まあ大丈夫でしょう。
http://www.doblog.com/weblog/myblog/47592/2612714 を参考にしました。そのままです。
/etc/pcmcia/network をrootで編集します。
'start')
ifup
start_fn $DEVICE
/etc/rc.d/init.d/samba start ←追加します
;;
'stop')
stop_fn $DEVICE
/etc/rc.d/init.d/samba stop ←追加します
ifdown
;;
# 'suspend' | 'resume') ←コメントアウトします
'suspend') ←追加します
/etc/rc.d/init.d/samba stop ←追加します
;;
'resume')
/etc/rc.d/init.d/samba start ←追加します
;;
swapとsambaが自動になり、これで再起動しても何もしなくてOKになりました。快適です。
・telnetからログインできるようにする。
ここを参考にさせて頂きました。
http://www.areanine.gr.jp/~nyano/telnet.html
/etc/inetd.conf の TCP Wrapper(アクセスできるホストの制御らしい)を使わない場合、Without tcpd (TCP Wrapper) 側の telnet stream行の#を消してコメントを外します。
再起動せずにtelnetdを有効にするには、「ps -ef | grep inetd」を実行し、suで「kill -HUP <inetdのPID>」します。
ログインパスワードは、「設定」「シークレット設定」で設定した暗証番号になります。
ZaurusZaurus
http://www.geocities.jp/zauzaurusrus/
・ハードディスクhdd3のext3化 (2006.3.26)
やはり、リンクができないfat32は使いづらいです。windowsからUSB外付けドライブとて使えなくなるデメリットはありますが、sambaでつ なげれば構わないので、hdd3をext3化してみることにしました。
この辺りを参考にさせて頂きました。Kuro-san: 更新日誌、SL -C3000.hdd3のext3化、hdd3の ext3化。
hdd3元にあったファイルは、無線LAN経由のsambaを使ってPC母艦へコピーしておきました(結構かかりました。。一晩放置状態)。
su
mount -o remount,rw /dev/root /
cd /root/etc/rc.d
cp -p rc.rofilesys rc.rofilesys_ORIG
vi rc.rofilesys
以下のように編集しました。
diff rc.rofilesys_ORIG rc.rofilesys
84c84
< mkfs.vfat -F 32 /dev/${IDE1}3 2> /dev/null > /dev/null
---
> mke2fs $MKE2FSOPT /dev/${IDE1}3 2> /dev/null > /dev/null
105c105
< mount -t vfat -o noatime,quiet,umask=000,iocharset=utf8 /dev/${IDE1}3 /hdd3
---
> mount -t $LINUXFMT -o noatime /dev/${IDE1}3 /hdd3
203c203
< mount -t vfat -o noatime,quiet,umask=000,iocharset=utf8 /dev/${IDE1}3 /hdd3
---
> mount -t ext3 -o noatime /dev/${IDE1}3 /hdd3
265c265
< mount -t vfat -o noatime,quiet,umask=000,iocharset=utf8 /dev/${IDE1}3 /hdd3
---
> mount -t ext3 -o noatime /dev/${IDE1}3 /hdd3
ここまでやったら、いよいよext3化します。
umount /hdd3
ここでumountできなかったら、何かのアプリケーションがhdd3を使っている状態です。killする必要があるそうです。自分はumoutできまし た。
fdisk /dev/hda
t,3と入力し、83番(Linux)を選択。wで書き込みます。
mkfsします。
mke2fs -j /dev/hda3
マウントできることを確認。
mount -t ext3 -o noatime /dev/hda3 /hdd3
USBを抜いたときにFAT32でmountさせないように/etc/hotplug/usbdstorage.agentを編集。
cp -p usbdstorage.agent usbdstorage.agent_ORIG
diff usbdstorage.agent_ORIG usbdstorage.agent
94c94
< mount -t vfat -o noatime,quiet,umask=000,iocharset=utf8 /dev/hda3 /hdd3
---
> mount -t ext3 -o noatime /dev/hda3 /hdd3
あとは無線LAN経由のsambaで、コピーしておいたファイルを元に戻しました。再起動して問題なければ終了。
・ぱうフォントをインストール (2007.1.28)
月夜さんとDebian GNU/Linuxを参考にしました。
hddに適当フォルダを作ります。
mkdir /hdd3/Documents/fonts
(ここにアーカイブファイルをもってくる)
$ gzip -dc pawfont104-slzaurus.tgz |tar xvf -
$ su
# ln -s /hdd3/Documents/fonts/pawfont_160_50.qpf /home/QtPalmtop/lib/fonts/
# ln -s /hdd3/Documents/fonts/pawfont_160_50_t10.qpf /home/QtPalmtop/lib/fonts/
またlcfont16dotの詐称もやります。ターミナルでは
「lcfont large」
が16dot、他のソフトは lcfontにしてサイズ:16を選べばOKです。
$ cd /home/QtPalmtop/lib/fonts/
$ su
# mv lcfont_160_50_t10.qpf lcfont_160_50_t10.qpf_ORIG
# ln -s /hdd3/Documents/fonts/pawfont_160_50_t10.qpf lcfont_160_50_t10.qpf
・内蔵HDD4Gを内蔵CF16Gへ換装 (2008.4.1)
まず念のためNANDバックアップを取ります。ここと同じです。次にHDDのバックアップをします。下を参考にしました。
http://digit.que.ne.jp/visit/index.cgi?Linux%A5%B6%A5%A6%A5%EB%A5%B9%B3%AB%C8%AF%A5%E1%A5%E2%2F%A5%CF%A1%BC%A5%C9%A5%A6%A5%A7%A5%A2%2FC3000HDD%B4%B9%C1%F5
http://www.ayati.com/kobako/c31cf16gb.htm
基本的に、新しいCFカードを右側のCFスロットに挿し、内蔵HDDの中身をコピーしていきます。
当たり前ですが、容量使っているほど時間がかかります。クロックあげるとちょっと早いです。
dd if=/dev/hda1 of=/dev/hdc1
dd if=/dev/hda2 of=/dev/hdc2
tar cf /mnt/cf/hdd3.tar /hdd3/*
自分はhdd3の容量が大きく、単純に1つのtarファイルにすると、1ファイルで4G超えてしまいエラーになってしまいました。FATフォーマットの1ファイル4G制限のためのようです。面倒ですがディレクトリごとにtarしました。
tar cf /mnt/cf/hdd3_Documents.tar /hdd3/Documents/*
tar cf /mnt/cf/hdd3_dict1.tar /hdd3/dict1/*
tar cf /mnt/cf/hdd3_dict2.tar /hdd3/dict2/*
:
分 解の手順は、下のサイト通りでうまくいきました。フラットケーブルを外さなくてよいので楽です。ねじはなめやすいの気をつけて回します。内蔵HDDは、固 定されていない(ねじ留めや、テープ留めされていない)のでコネクタからゆっくり引き抜けば抜けます。抜いた内蔵HDDは、衝撃吸収のためのテープをは がし、普通のCFカードとして使えます。
http://www.trial.cc/zaurus/bunkai.html
換 装後、組み立ては分解と逆の手順でねじを締めていきます。分解→換装→組み立ての所要時間は、30分もかからずにできます。リセットして、電源ONで起動 すれば、後はひたすらバックアップを戻すだけです。自分は、分解前の電源OFFでshutdownコマンドを使ったためか、電源ONしなかったため、下の メンテナンス・カーネル起動、
rebootコマンド実行でリブート後に普通に使えるようになりました。
・メンテナンス・カーネルの起動方法
D+Bを押しながらリセットボタンです。ログインは、rootのパスワードなしです。
http://emboss.blog28.fc2.com/blog-entry-40.html
ZaurusZaurus
http://www.geocities.jp/zauzaurusrus/
周辺機器関係
・USBホストケーブルをここから買いました。
http://pocketgames.jp/modules.php?op=modload&name=Shop&file=index&req=viewarticle&artid=298
・無線LAN CFカード
通販で頼んだCF型無線LANが届きました!PLANEXのGW-CF11Xです。で、早速接続。ADSLモデム側にMACフィルタかけていたのをすっ かり忘れてて時間を無駄にしましたが、思い出してモデム側の設定を修正したところ、あっさり接続できました。これで寝ながら web見れます(^-^;。
・USBマウス
マウスつなげました。InputHelperはインストールしてあったので、マウスをつなげて、動かしただけでカーソルが出て使えるようになりました!感 謝。とても快適です。 小さいパソコンとして、より一層使えるようになりました。
右クリックも使えます。
ホイールも普通に使えますし、コンソールやX/Qtなどではホイールボタ ンを中央ボタンとして使えます。
・4ポートUSBハブとBUFFALO LUA-KTXを買いました。
LUA-KTXは、下のページ通りで使えるようになりました。
http://www.neuro.ie.u-ryukyu.ac.jp/~sira/index.php?%A4%AD%A4%DE%A4%B0%A4%EC%C6%FC%B5%AD%2F2005-02-11
パッケージ(C3000用ですがC3100でも問題なく使用できました)をDLしてインストールし、suで
「ifconfig eth0 192.168.150.201 netmask 255.255.255.0 up」
(2つ目の引数のところは、設定したいIPアドレス)で使えるようになりました。
sambaで使うようにするには、無線LANと同様にallow hostを追加、interfaceにeth0を追加しました。
LUA-KTXのDHCPでの使い方です(2005.9.12追加)。
こ こ(http://www.sky.sannet.ne.jp/morostar/diary/zakki-200508-1.html) を参考にしました。まずrootになります。
--(接続)--
ifconfig eth0 0.0.0.0 up
dhcpcd eth0
qcop QPE/Network 'up()' ←このコマンドだけrootではダメ
--(切断)--
dhcpcd -k eth0
ifconfig eth0 down
NetFrontは、あらかじめNetFrontを実行しておいてqcopコマンドを実行しないとダメなような? Operaはqcopコマンド実行しなくても、IPアドレス取得出来ていればOKでした。
http://support.ezaurus.com/developer/source/c3100/kernel_update_c3100.asp
・外付けHDD
NTFSフォーマットの外付けUSB-HDD(120G)をつなげてみました。スペシャルカーネルがNTFSに対応しているとのことなのでやってみまし た。HUBを使ってマウスとHDDを接続。HDDはWindows XPで使用しているものです。
こ こを参考にしました。mountコマンドはここを 参考にしました。
>su
#mkdir /mnt/sda1
#mount -t ntfs -r -o utf8,umask=0222 /dev/sda1 /mnt/sda1
普通にファイルアクセスできます。日本語も大丈夫です。基本的 にRead Onlyみたいです。
/etc/fstabに下の一行を入れて、「mount /dev/sda1」でmount出来るようになりました(suの必要はありますが。sudo入れればもっと楽かも?)。
/dev/sda1 /mnt/sda1 ntfs noauto,utf8,umask=0222 0 0
さらに快適!
FATのHDDも、以下のページを参考にmountできました。
http://blog.goo.ne.jp/mekenyu/e/f4f471ead654edb31d4f46dc08e06ee1
#mount -t vfat -o iocharset=utf8,codepage=932 /dev/sda1 /mnt/sda1
自分のHDDはバス電源がいらないタイプらしく、本体とホストケーブルを使ってハードディスク(40G)直結でも接続出来ました。 ダメな時は、上記ページに書いてあるようにUSBハブを使いましょう。 標準のファイラーから日本語も問題なくファイル見れました。ターミナルのコーディングをutf-8にすれば日本語もきちんと表示できます。
・FOMA携帯電話
USBホストケーブルとFOMA SH900iで64k同期通信。出先の通信手段がないので、WIN用で買った携帯万能のUSBモデムケーブルと、FOMA SH900iを接続してみることにしました。
ここを参考にさせていただきました。
http://digit.que.ne.jp/visit/index.cgi?Linux%a5%b6%a5%a6%a5%eb%a5%b9%b3%ab%c8%af%a5%e1%a5%e2%2fUSB%a5%db%a5%b9%a5%c8%b5%a1%c7%bd%a4%cb%a4%e8%a4%ebFOMA%c3%bc%cb%f6%c0%dc%c2%b3
上のページから モジュール:acm-FOMA.20050729.tar.gz をダウンロード。
・適当な場所で展開すると「acm-FOMA.o」が展開されるので、
「/lib/modules/2.4.20/kernel/drivers/usb」へコピー。
・depmod -a
・modprobe acm-FOMA
ここでシステム情報をみると、ツリーに「FOMA 900i」が、それの詳細のDriver欄には「acm」が表示されました。
・mknod /dev/ttyACM0 c 166 0 (リブートすると消えてしまうので、その都度、作成が必要)
・PPPダイアルアップ接続(赤外線)から、ネットワーク接続をセットアップします。このとき注意点は、初期化コマンドのところを「ATZ」に変更しま す。
・/etc/ppp/peers/IRDA**********(*は数字) 、このファイルの2行目「115200」→「/dev/ttyACM0 115200」に変更。
ネットワークの設定を変えると、このファイルが上書きされてしまうため、編集する必要があります。
・ネットに接続するには、普通に地球アイコンをクリックして、接続先を選べばOKです。
---さらに...
・起動時に全自動で設定するようにするには、ここが参考になりそうです(これもまだ実際にやってはいません)。
http://kimux.org/liza/rex-cfu1.shtml
・なぜか、一度接続を切断すると、USBモデムケーブルを抜き差ししないと再接続できません。
・通信速度が超遅いです。Yahoo!スタートページのタイトルを出すのに5分以上かかっています。そこで、京ポンでの設定をここを参 考に、MTU/MRU値を576→1500に変更してみました!が、自分は接続さえ出来なくなりました・・。今度PPxPに挑戦してみる予定。
(その後)
ちょこっと借りたN900iで同じ設定のままでサクサクつながってしまったため、やる気9割ダウン、ショックです。。。
・SA700iを買い増ししたので対応版 acm-FOMA.20051013.tar.gz をインストールしました。
パケット通信はあっさり快適につながりました!でも同期通信は認証中より進みませんでした。(2005.11.27)
(まだ途中...)
・赤外線ファイル転送 (2006.6.10)
FOMA携帯電話の赤外線ポートから、Zaurusの赤外線ポートへ写真や動画が送れないか試してみました。
ちょっとネットで調べたところ、QT写ビーム(http://www.hadeco.co.jp/r&d/sl/shabeamq/shabeamq.htm) が、とても簡単そう。説明には、「起動して受信状態にし、携帯電話で送りたい画像を選択して赤外線送信を実行するとSL-C1000に送られて画像ファイ ルとして保存できます。」とあります。
→上のソフトで十分なのですが、さらに調べてみると受信したファイル(vNote形式ファイル)は、base64デコードすればよいことがわかりました。ここ(http: //www.wheel.gr.jp/~dai/sl-zaurus/support/#2004-02)にある、 irmc2jpg.sh を使わせてもらおうと思ったのですが、
「要arm-linux版mewencode」
とあり、使用できませんでした。
そこで、こ こ(LinuxZaurus/Download)から mimencode をダウンロードして使わせてもらい、さらにvNoteファイル内のX-DOCOMO-FILENAMEヘッダのファイル名に変換するへぼへぼスクリプトに 改造しました。自分の持っている携帯機種しか試していませんので、他の機種は動かないかもしれません。
・1ファイルのみ変換 irmc1.sh と、 vNoteファイル(*.vnt)を探して一括変換 irmc2.sh の 2つをまとめたもの irmc.tar.gz
使い方は、mimencodeとスクリプトをパスの通ったところにコピーして、実行権限を付けておきます。
(例) $ su
# cp irmc1.sh /home/QtPalmtop/bin
# chmod +x irmc1.sh
後は、赤外線通信で受信した Zaurus本体又はカードメモリの/Documents/application/octet-stream フォルダで、「irmc2.sh」でフォルダ内のvntファイル全部を、「irmc1.sh <なんとか.vnt>」で指定したvntファイルを変換できます。変換後のファイルは、イメージノートやフォトストレージなどで普通の jpegファイルと して表示できます。
動画はmpeg4形式として、阿川さんのmplayerで再生できました。
・容量4GのSDカードを使う (2008.1.21)
ネットで3,500円の非SDHC SDカードを発見。使っている1Gでは足りなくなってきたため、買ってみました。SDHCはムリです。zaurusでは使えません。zaurusでは 1GB超える容量のSDカードを使う場合は、ドライバの入れ替えが必要とのこと。ドライバを入れ替えないで1G超えのSDを入れると、すご----く遅く なりますので、入れないほうがよいです。
1.http://tetsu.homelinux.org/zaurus/kernel/index.html から zaurus_sd_driver_update_cxxxx_1.0+tetsu_arm.zip をダウンロード。
2.適当なディレクトリで、unzip zaurus_sd_driver_update_cxxxx_1.0+tetsu_arm.zip
3.ソフトウェアの追加/削除からインストール。
4.再起動 します。
あとは、おもむろにSDカードを入れれば普通に使えました。感謝感激です。非SDHCで検索すると意外にヒットします。おっ 2,500円てのもありますね。安い...!! もう一枚買おうかな。。容量大きいことはよいことです。
ア プリケーションとか
・ターミナル
unix端末の基本、さっそくターミナルをインストールすることに。CDからも入るみたいですが、「いとしの liza」からワイド版のqpe-embeddedkonsole- ja_1.6.0-wide3_arm.ipkをDLしました。
インストール方法がわからなくて困りましたが、ここで説明書をみることにしました(遅いか)。ipkファイルをザウルスドライブの 「Install_Files」フォルダの中に入れ、zaurusのメニュー「設定」→「
→起動したら縦画面で困りました。解決方法は、アプリケーション・メニューの画面で、端末ウィンドウのアイコンを長押しすると、プロパティ画面になります。「アプリケーションをVGA(480x640)の画面に最適化して実行する」のチェックを外して起動しなおせばOKでした。
→フォントが小さすぎて見えません!!Fn+Qで、FONT メニューが出ますのでフォントを変更できました。「lcfont (18dot)」がお気に入りです。下がスクリーンショットです。画面キャプチャーは、Shift+Fn+Cで本体かSDカードの Screen_Filesフォルダの中にbmpファイルができました。
gamen1
・emacs
emacsをインストールしました。下のところからCVS最新版を頂きました。2番目の「GNU Emacs」(X11じゃないやつ)をダウンロード。バージョンのところからDLできます。
http://www.focv.com/ipkg/
ZIPで展開したファイルを全部インストールしました。
インストール後、ターミナルから早速「emacs」入力して起動。おーsolarisの emacsと変わりない。
すごいすごい。
起動がバカみたいに遅いのでは?とドキドキしてましたが、我慢できるレベル。
編集始めるまでに10秒はかからず、なかなか早い。もちろん vi は一瞬で立ち上がるので それには負けますが。
emacs
・qpdf2をインストール
時刻表とか、データシートとか、最近はPDFファイルが多いので見れると便利です。
qpdf2_render-freetype-2.2.1-20040217ta_arm.ipkをここからダウンロード。
http://co2.s16.xrea.com/hiki2/hiki.cgi?qpdf2
上のをインストール後、http://sourceforge.jp/projects/zaurus-jaか ら、qpdf-japaneseをダウン ロードしてインストール。
パソコンから見るより遅いし、たまに文字(全角スペース?)が豆腐(□)になるときがありますが、かなり便利です。
・NetFrontも結構よい感じですが、Operaもインストールしておくことにしました。NetFront3.1よりページの再現性がよい気がしま す。悪くないです。
http://slzaurus.seesaa.net/article/3246071.html
http://www.zaurususergroup.com/feed/opera_sl-5x00-7.30.9965_arm.ipk
qshdlgを インストール後、http://www014.upp.so-net.ne.jp/boxer-j/か らopera7-jpn-helper Ver 0.0.2a qshdlg版 をインストールしました。
NetFrontのページメモ機能で保存されるファイルって、MHTファイル形式なんですね。windows IEで
「webアーカイブ,単一のファイル」
で保存したファイルがそのまま読めました。逆にzaurusで保存したNetFrontのページメモをIEで も読めます。
これはかなり便利。
・X/Qtをインストールして、sylpeedを使えるようにする。
ここを参考に端からインストール。
http://xqt.sourceforge.jp/index.ja.html
http://www.yo.rim.or.jp/~mono93/mobile/enter.cgi?LinuxZaurus%a4%ce%be%ef%bc%b1%a1%a6%c8%f3%be%ef%bc%b1%2f%a5%bc%a5%ed%a4%ab%a4%e9%a4%ceX%a1%bfQt
StartXを長タップ(または右クリック)、「ルート権限で実行」にチェック、
「アプリケーションをVGAの画面に最適化して実行する」
のチェックを外 しました。
StartXをタップして起動するとrxvtが起動します。感動です!
sylpeedも起動できましたが、画面が狭すぎるのでちょっと常用するには、設定と慣れが必要そうです。
→X/Qtでタスクバーを消すには Menuボタン→出てきたメニューでFullScreenを選択すると消せるようです。
また出すにはもう一度Menuボタンを押します。
dilloもインストールしました。
OpenSSL(libssl)をここからダウンロードしました。
http://club.h14m.org/kenji/diary/?20050423&to=200504232#200504232
zlib1.2.2(libz)をここから辿ってダウンロードしました。
http://d.hatena.ne.jp/mm1978/
Dilloはここから。
http://co2.s16.xrea.com/hiki2/hiki.cgi?DilloOnZaurus
→画面から窓がはみ出してしまい、OKボタンが押せない!そんなときは、MWがBlackBoxなら、ALTキー(に上で変更したカナひらキー)を押しながらマウスドラッグで窓を動かせます。
・tcshをインストール
bashはどうも慣れません・・・。ここからtcsh-arm-linux.tgzをダウンロードしました。
http://hp.vector.co.jp/authors/VA004814/sl-zaurus/zaurus-with-linux.html#2003-08
展開して、/usr/local/binにコピーしました。
ログインシェルは、/home/QtPalmtop/qpe.shと/etc/passwdで変更だそうです。
.profileを.cshrcにコピーして、exportをsetenvにかえて、aliasを設定しました。とても快適です。
・カレンダー
zaurus標準のカレンダ、使い勝手がイマイチです。。そこで、置き換えとしてQualendar と 予定表++ をインストールしました。
Qualendar http://ichitokumei.hp.infoseek.co.jp/qualendar/
予定表++(ver0.9.9a) http://homepage2.nifty.com/ishihata/yoteihyouforslfile/yoteihyou_0.9.9a_arm.ipk
両方使ってみてどちらも使いやすかったですが、自分には予定表++があっていました。Qualendarはインストールすると置き換えられますが、予定表 ++は置き換えられないので、Calendarボタンで起動できるようにリンクをはりました。
(root権限で)
cd /home/QtPalmtop/bin
mv datebook datebook_ORIG (念のためバックアップ)
ln -s yoteihyou datebook
→予定表のデータはこまめにバックアップを取ったほうが安心です。
自分は/home/zaurus/Applications/dtm/以下の SLDATE*/SLTODO* ファイルをたまにSDカードにコピーしています。
・関数電卓slcalc
必要に迫られてインストールしました。ここからダウンロード。
http://homepage3.nifty.com/cam/slcalc.htm
使い方はここを参考にしました。
http://www014.upp.so-net.ne.jp/k9shiba/slcalc/slcalc01.html
・windowsのネットワーク共有フォルダにアクセスする。
ここからsmbmount_0.1_arm.ipkをダウンロードしてインストールしました。
http://www.dasgehtdichnichtsan.de/zaurus/smbmount.html
さらにここから SmbMounterをDLしてインストール。
→どうもSmbMounterは、自分の環境(母艦windows2000を読みにいく)ではうまく動きませんでした。
が、コマンドからはつなげました。事前に sudo mkdir /mnt/test で、適当なマウントポイントを無ければ作成しておきます。
sudo smbmount //192.168.1.100 /mnt/test -o username=hogehoge codepage=cp932 iocharset=utf8
これで母艦windows2000(IPアドレス192.168.1.100)の共有ファイルへアクセスできました。アンマウントは、sudo umount /mnt/test です。
・Vncserverのインストール
vncserrverは「表示されている画面を直接操作する」fbvncserverと、「裏でserverが起動してそいつを操作する」
vncserverの、2種類があるようです。後者の方にしました。ここを参考にしました。
・ここ(http://killefiz.de/zaurus/showdetail.php?app=187) からQtopia-xをダウンロード。
・コンソールから「vncserver」で起動。
・母艦側からvncviwerでアクセスする。デフォルトではディスプレイ番号は0なので、IPアドレスだけで接続できます。
→デフォルトでは画面がQVGAサイズの縦画面になっている。
起動スクリプト「/usr/bin/vncserver」を編集します。
パソコンからデカい画面でX端末を操作したかった 自分はこうしました。
<vncserver>
#!/bin/sh
#Xvnc -geometry 240x320 -fp /usr/lib/vnc/fonts/misc -co /usr/lib/vnc/rgb
Xvnc :1.0 -geometry 1000x550 -depth 24 -fp /usr/lib/vnc/fonts/misc -co /usr/lib/vnc/rgb &
/home/zaurus/.vnc/xstartup
</home/zaurus/.vnc/xstartup>
#!/bin/sh
export DISPLAY=localhost:1.0
xset fp+ /home/QtPalmtop/lib/X11/fonts/misc
xset fp+ /home/QtPalmtop/lib/X11/fonts/75dpi
export LANG=ja_JP.eucJP
export XMODIFIERS=@im=uim-anthy
uim-xim&
rxvt &
blackbox
→vncserverのgeometry,depthの値はお好みで変更してください。
display numberを0から1に変更しています。
→xstartupは実行権限を+したほうがいいです。
起動するアプリはやはりお好みで。
こんな感じです。
vncserver1
→パスワードを設定したい場合は、ここ
(http://onohiroki.cycling.jp/comp-z-x11-vnc.html)
を参照。
母艦(パソコン等)が必要みたいです。
・fbvncserver
画面を直接するfbvncserverも入れました。人柱になります。
http://macaroni.mogya.com/zaurus/index.php?%A5%A2%A5%D7%A5%EA%A5%B1%A1%BC%A5%B7%A5%E7%A5%F3%2Ffbvncserver
インストールでQtopiaが再起動かかったのは驚きました。。
キーボード、マウスもwindows 2000(RealVNC 4.1.1)から動きます。でもちょっと不安定で、ターミナルでコマンドを打っているとキーボード入力を受け付けなくなったり、ちょこちょこと問題ありま す。でもいざというときに便利です。
・Vncviwerをインストール。
VNCサーバーが動いているパソコン(Windowx,Mac,Unixなど)をリモート操作できます。
http://www.koizuka.jp/~koizuka/c700/files/
から、opie-keypebble_0.9.2-20030313a_arm.ipkをダウンロードしました。
RealVNC server4.1.1を動かしているパソコンを操作してみました。我慢できる程度に速いです。使えそうです。
→上で立ち上げた自分のvncserverをviewerで操作することもできます。
Host Nameは「localhost」,Display Numberは「1」。
仮想画面みたいに画面を広く使えます。
vncviwer1
・動画を見れるようにしておく
http://atty.sakura.ne.jp/?Zaurus%2Fmplayer
スペシャルカーネル用の「mplayer-bvdd-iwmmxt_1.1.5-1_arm.ipk」をインストール。コマンドラインから使うのは難しい のでzplayerもインストール。
http://atty.skr.jp/zplayer/
MPEG1, MPEG2, MPEG4, DivX, XviD, WMV, mp3, WMAなどが再生できるそうです。
パソコンで録画したmpeg画像を再生したところ、左下1/4ほどの小さい画面。なぜ?自分だけ??
ここを参考に、ツール →設定→MPlayerタブ「オプションを追加する」にチェック「-fs」とすると、画面中央に表示されるようになりました。画面の大きさは変わりません が・・。
→こ こを参考にフルスクリーン表示が出来るようになりました。
ツール→設定→MPlayer→オプションを追加する、にチェックして「-vo bvdd -vm -autosync 100」を書けばフル画面出ました。感謝です。ちなみに上で書いた「-fs」は必要ありません。
→動画の変換はwindowsを使っています。「携帯動画変換君」はお手軽でよいですが、明るさとかビットレートなどの細かい調整がGUIからできないみ たいなので、自分は「PocketDivXEncoder」を使ってい ます。メニューは英語ですが、使い方はこ こを参考にすれば問題ありませんでした。
zaurusでは暗くなりがちな動画も、明るさ+20%などど細かい調整ができます。
・sudoをインストール (2005.11.9)
ここからsudo_1.6.3p7-2_arm.ipkを ダウンロードしました。
http://www.geocities.co.jp/SiliconValley-Bay/1180/download.html
rootでvisudoコマンドを使って以下のところを修正しました。内容は全然わかりません。 エディタの使い方はviと同じです。
# User privilege specification
#root ALL=(ALL) ALL
root ALL=(ALL) NOPASSWD:ALL
zaurus ALL=(ALL) NOPASSWD:ALL
これで「sudo vi /etc/fstab」という感じで使えました。
・lhaをインストール(2005.11.27)
http://www2.gol.com/users/ikezawa/zaurus/lhaunix.htmlから lha_1.14i-ac20030921_arm.ipk をインストールしました。
コマンドラインから実行したところ以下のエラー。
lha: error while loading shared libraries: libiconv.so.2: cannot load shared object file: No such file or directory
同じページにあるlibiconvいれてOKでした。
「lha x aaa.lzh」で展開できました。
・nkfをインストール (2007.1.29)
ダウンロードしたファイルがsjisコードのとき、euc設定にしているターミナルでは文字が化けます。
Fn+Q→Charsetでsjisにすれば見れ ますが、nkfコマンドを使う手もあります。
nkf -e readme.txt などとやります。
Linux ザウルス/ダウンロードからダウンロードしました。
・Xqt-2で動く minimo,firefoxのインストール (2007.2.10)
pdaXromでなく、OS入れ替えなしのQtで起動できるFirefox とMinimoです。
Hagiwaraさ んのサイトより、minimo-20070202-arm.tar.gz と firefox-2.0.0.1.ja.linux-arm.tar.gz をダウンロードしました。
まず、Xqt-2が動くまでセットアップします。
さきにXqtが入っている場合は全部アンインストールしておきます。
Regさんの我思う故に我ありを 参考にしました。
全部入れてもよいですが、入れなくても良いものもあります。
freetype 2.1.10 xlibs 4.3.0-3 xbase-client 4.3.0-3 zlib 1.2.2-1 xbase-etc 4.3.0-3 xqt-server 1.9.0 xqt-startup-scripts 0.0.3 expat1.95.8-1 fontconfig 2.2.96 glib2 2.4.7 atk 1.6.1 pango 1.4.1 gdk-pixbuf 0.22.0-2 gtk2 2.4.13 glibc-gconv-ja 2.2.2-1 glibc-locale-ja-eucjp 2.2.2-1 glibc-locale-ja-utf8 2.2.2-1 xqt-fonts-ttf 4.3.0-3 xqt-fonts-misc 4.3.0-3 xqt-fonts-type1 4.3.0-3 xqt-fonts-75dpi-iso8859-1 4.3.0-3 xqt-fonts-100dpi-iso8859-1 4.3.0-3 libgcc 3.4.4-1 libstdc++6 3.4.4-1 uim 0.4.3-1
Minimo、問題なく日本語も出ます。縦画面の携帯機器向けの独特のスタイルです。下のスクリーンショットは最大化したものです。
普通に使えます。とても良いです。起動もFirefoxよりはずっと早いです。
Javascriptも対応しているようです。ただ、自分のところではgoogle mapsは地図を動かすところまで行きませんでした。
minimohe sudoers file.
Firefox-2のスクリーンショットです。
起動は遅く、1分ちょっとかかります。
でも仕方が無いですね。
感覚的には、数年前のメモリが少ない Pentium 100MHzくらいで動かしたNetscapeを思い起こさせます。
が、起動してしまえば、反応は若干鈍いですが普通に使えます。なんといってもレンダリングはPCと同じで完璧です。
Javascriptが動きます。google mapsが動くのは感動です。フラッシュはzaurus用バイナリが無いので見れませんが。
firefox
ライブラリのせいなど、起動しないときは何のメッセージも出ないで起動してくれないときがありました。
Firefox+ライブラリ詰め合わせを置いておきます。上記方法でダメな ときは、適当なディレクトリに展開して実行してみてください。リンクでないように作り替えたのでFAT(HDDやSDカード)でも動くはずです。展開したfirefoxの下に install.sh を置いたので、suして実行します。中身は、fc-cacheの実行などです。
邪道ですが、Firefoxのディレクトリで LD_LIBRARY_PATH を設定してしまいます。
以下はcsh系の場合です。
$ tar zxvf firefox-2.0.0.1.tar.gz
$ cd firefox
$ su
# ./install.sh
# exit
$ setenv LD_LIBRARY_PATH ${PWD}:${LD_LIBRARY_PATH}
$ ./firefox
起動するかもしれません。
それでも起動しない場合、
「rm -r $HOME/.mozilla/firefox」
で設定を全部消してみる(必要ならバックアップをして)と動く場合がありました。
一旦動き出してしまえば、非常に安定して使えます。
なんといってもフォントのアンチエイリアスが良いです。
ただ、アンチエイリアスが嫌いだ、という場合は ファイル $HOME/.fonts.conf を以下の内容で置けば無効にできます。
速さは体感できるほど早くはなりません。
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="font">
<edit name="antialias" mode="assign">
<bool>false</bool>
</edit>
</match>
</fontconfig>
使うにあたって swapファイルの作成は必須。画面が狭いので、ツールバーのアイコンは小さくするべきです。
自分はブックマーク・ツールバーも消してしまいました。
・yahoonewsTTRをインストール (2007.4.24)
yahoonewsTTR のやっつけ修正 、通勤 電車で地下探検Reloaded 「Qtアラムーチョでポッドキャストニュースの自動取得」 などを参考に、寝ている間に毎朝YahooNEWSを取得するようにしました。
指定時間になるとQtアラムーチョが電源ONし、
ShellCommanderを起動→ShellCommander
からシェルスクリプトを起動→シェル スクリプトからyahoonewsTTRを起動→yahoonewsTTRがネットワークを自動接続→ニュースを取得→切断→Qtアラムーチョが10分後 に電源OFFする、というプログラム実行順です。
インストールは、このページ(http://zaurus.gozaru.jp/yahoonewsTTR.html) から、yahoonewsTTRをインストールしました。ただ、このページに書いてあるrubyは古いため最新のyahoonewsTTRが起動しないの で ここ(http://www.focv.com/ipkg/)よ り、ruby最新版をインストールしました。また、このyahoonewsTTRは、現在のYahooNewsのページ構造ではうまく取得できないため、 最新のyahoonewsTTRである zauup0281.zip をダウンロード。展開したyahoonewsTTR.rbを /home/QtPalmtop/bin/yahoonewsTTR.rb に上書きコピーしました。
Qtアラムーチョをここ(http://www.hadeco.co.jp/r&d/sl/alamucho/alamucho.htm) から、
ShellCommanderをここ(http://tbox.jpn.org/linuzau/shellcommander/) から、
TTextReaderをここ(http://www2.gol.com/users/ikezawa/zaurus/zaurus.html#TTREADER) からインストールしました。
以下のようなシェルスクリプトを作りました。場所はどこでもよいと思います。chmod u+x yahoo.ch し、実行権限を付けました。
$vi /home/zaurus/Documents/bin/yahoo.sh
#!/bin/ash
yahoonewsTTR.rb run updown
Qtアラムーチョの設定。
qtalm1 qtalm2
ShellCommanderの設定はとくにありません。
shellcom
ネットワークは、あらかじめネットワークの設定で自動接続するように設定しておきます。
自分は、部屋に来ている無線LANに自動接続するようにしました。 設定後、Qtアラムーチョで起動テストしてうまく動くか確認します。うまく動けば、あとは寝て待つだけです。
間にシェルスクリプトが入っているので、曜日を選択して起動することや、接続可能なネットワークを探してから起動することなども出来るかもしれません。
・QPOBox をインストール (2008.5.5)
ずっと使いづらいと思っていた日本語入力、いい加減かえました。
(1)qpobox_0.5.2 と poboxserver_1.25-7 をインストールし、再起動
(2)/home/zaurus/Settings/qpobox.conf
[global]
UseKeyHelper = 1
ShowContext = 1
NumSelect = 1
KeyConfigFilename = /home/zaurus/Settings/qpobox.key
(3)qpobox.key を /home/zaurus/Settings へコピー
(4)keyhelper.conf の[Launch]に以下を追加。@qcopの後ろの空間はtabです。
F21 = @qcop QPE/QPOBox show()
keyhelper.xml の <extensions> に下の2行を追加。
<define key="F21" kind="launch">
</define>
編集後、「khctl reload」で設定をリロードします。
使い方は、ザウルスでメモ (6) POBoxでの入力 その1 から4までを全面的に参考にしました。とてもわかりやすいです。
「全/半」キーでON/OFFでき、最初は結構おバカさんですが使うほどヒットしていきます。使い勝手はなかなかよいです。
ビ ルド環境
・セルフビルドしたい。SDカード編
下を参考に、SDカードをext2フォーマットしてdev_img-1.6をインストールすることにしました。
http://csx.jp/~zaurus/build2.htm
http://park11.wakwak.com/~nkon/homepc/zaurus/config/dev_img.html
dev_img-1.6はここからダ ウンロードしました。
とりあえず/mnt/card/dev_img-1.6に置きました。
ここを 参照したところ、squashfsがないとダメなようなので、下からkern-mod-squashfs_C3000-2.1-2_arm.ipkをダウ ンロードしました。
http://morimasa.net/zaurus/ リンク切れてました。。
自分は使っていませんが、ここ(http://zaurus.seesaa.net/article/10858822.html) でビルド&ipk化されている方がいます。
squashfsをインストール後、su になってinsmodを実行。
# cd /lib/modules/2.4.20/kernel/fs/
# insmod squashfs/squashfs.o
続いて、image_setup.shを実行するのですが、実行の前にDEVELOP変数直しました。
#DEVELOP=/home/zaurus/develop
DEVELOP=/mnt/card/dev
# ./image_setup.sh /mnt/card/dev_img-1.6 /mnt/card/dev
このスクリプト、/etc/fstabの追加や、.profileへの環境変数追加を自動でやってくれるのですが、実行した回数だけどんどん足されていく ので、途中エラーで止まったりして再実行した場合は、/etc/fstabと~zaurusと~rootの.profileはおかしなことになってない か、確認したほうがよいかもしれません。
スクリプトの最後で、$DEVELOP/bin/compiler_setup.shを実行しているのですが、このcompiler_setupスクリ プトの中が、「MOUNT_DIR="$HOME_DIR/develop"」のようになっている上、romで編集できないため、変数できるところにコ ピーし、MOUNT_DIR値を書き換え、実行しました。
マウントします。
# mount /mmt/card/mnt
再起動、またはログインし直し、またはsource .profile(csh系。bashは知りません)して変数を読み直します。
早速コンパイルして実行。
# cat hello.c
#include <stdio.h>
main()
{
printf("hello world!!\n");
}
# gcc hello.c -o hello
# ./hello
hello world!!
おおー。感動。
・セルフビルドしたい。HDD編
SDカードでも良いですが、ミニパソコンらしく HDDにセルフビルド環境を作りたくなりました。
はけの徒然日記 を参考にしました。
dev_img-1.6-2をZaurus 育成日記からダ ウンロードしました。とりあえず/hdd3の下に置きました。
kernel-modules-and-util-squashfs_2.4.20-2.2-r2_arm.ipkを、Zaurus育成日記からダ ウンロードし、インストールし て再起動します。
さきにperlの インストールが必要です。
$ su
# mkdir /mnt/dev
# mount -o loop -t squashfs /hdd3/dev_img-1.6-2 /mnt/dev
# cd /mnt/dev/bin
# ./compiler_setup.sh -r /mnt/dev
簡単にセットアップできました。
が、tmake等で使っているperlのリンクが、
/mnt/card/dev/usr/bin/perl
になっていたため、インストールされているperlにリンクをしなおしました。
$ su
# rm /usr/bin/perl
# ln -s /home/QtPalmtop/bin/perl /usr/bin/perl
また、PATHが通らなかったので、.cshrcに以下の行を追加しました。
set path = ( $path /mnt/dev/bin )
参考ページどおりに、以下のQtチュートリアルをqttest.cpp というファイル名で作り、コンパイルしてみました。
#include <qapplication.h>
#include <qpushbutton.h>
int main( int argc, char **argv )
{
QApplication a( argc, argv );
QPushButton hello( "Hello world!", 0 );
hello.resize( 100, 30 );
a.setMainWidget( &hello );
hello.show();
return a.exec();
}
コンパイル方法です。
ここを 参考にしました。
$ progen -o project
ここで出来たprojectの最後に以下の行を追加します。
INCLUDEPATH += $(QPEDIR)/include \
/mnt/dev/include \
/mnt/dev/include/qt
TARGET = qttest
$ tmake -o Makefile project
$ make
できたファイルを実行してみます。
$ ./qttest
おお!画面の左端にボタンが出ました。素直に感動です。
qttest
→fstab修正
再起動したらマウントしてませんでした。/etc/fstabを編集し、dev関係は削除、最後に以下を追加しました。
/hdd3/dev_img-1.6-2 /mnt/dev squashfs loop 0 0
ZaurusZaurus
http://www.geocities.jp/zauzaurusrus/
・tipmsg (2007.1.24)
セルフビルド環境でなにかビルドしたくなったので、tipmsgをビルドしてみました。テキスト版のIPメッセンジャーです。LANでつながっている windows母艦などとメッセー ジをやりとりできます。
Text IP Messenger Ver0.4 をダウンロード。展開し、おもむろにmake。
$ gzip -dc tipmsg04.tar.gz | tar xvf -
$ cd tipmsg04
$ make
問題なく通りました。出来たtipmsgをpathの通った適当な場所へコピーします。
$ sudo cp tipmsg /home/QtPalmtop/bin
設定ファイルもコピーしました。
$ mkdir $HOME/tipmsg/
$ cp tipmsg.conf $HOME/tipmsg/
設定ファイル変更点です。ユーザ、グループ、ホスト名などはお好みで。エディターもお好みですが、自分のkonsoleでは漢字が入らないので zeditorを起動することにしました。普通に「EDITOR = zeditor」だけの指定でも起動できますが、最初に「ファイルが無いけど作るか?」と訊いてくるのが邪魔だったので、無理矢理ファイルを作ってから起 動しています(スマートでないですが..)。
$ diff tipmsg.conf /home/zaurus/tipmsg/tipmsg.conf
11,13c11,13
< # NAME = あなたの名前
< # GROUP = 所属グループ
< # HOSTNAME = マシンの名前
---
> NAME = zauzaurusrus
> GROUP = 不良グループ
> HOSTNAME = zaurus
27a28
> EDITOR = touch /home/zaurus/tipmsg/sendfile; zeditor
以上で導入は終了です。待ち受け用に起動しておきます。windows母艦のipmsgも起動しておきます。
$ tipmsg -D
windows母艦→zaurusに送信した例です。konsole上に表示されます。
----------------------------------------------
Message from [winボカ-ン] ( 不良グループ/HOGEHOGE )
at Tue Jan 24 00:01:58 2007
----------------------------------------------
windowsからメッセージおくるど~
zaurus→windows母艦に送信します。tipmsg -s <ホスト名>で送信できます。
$ tipmsg -s hogehoge
zeditorが起動するので、メッセージを入力します。表示→オプション→動作で、出力ファイルの文字コードをeucJPにしておかないと文字化けしま す。
メッセージを保存して終了します。Send message for hogehoge [Y/N] と訊いてくるので、Yと入れると送信されます。
windows母艦で、こんな感じの画面が出ます。
windowsipmsg
詳しい使い方は、tipmsg のreadme.txtを参照してください。オリジナル+コンパイルしたtipmsgで す。
Qtで動いて、タスクトレイに入るような ipmsg もあれば欲しいです(残念ながら作るパワーがありません..)。
・クロスコンパイル環境に挑戦 (2006.11.27~2007.3.20まだ構築中)
やはりパソコンでコンパイルしたほうが速いです。windows2000の母艦にcoLinuxをインストールし、クロスコンパイルに挑戦です。
ここからwindowsパソコンでの操作です。coLinuxでdebianを動かし、zaurusで動くオブジェクトを吐き出すのが目標です。
まず、coLinuxインストールです。自分の環境では、ネットワークがAdmin権限でないとつながらなかったので、最初は全てAdmin権限で作業す ることを薦めます。
参考サイトです。
CoLinux インストール導入編 - Silicon Linux Wiki
本家coLinux のサイト からDownloads のリンクをたどり sourceforge.net のダウンロードページへ行き coLinux-stable をdownload。自分がdownloadしたのは、coLinux-0.6.4です。
downloadしたexeを実行し、Next→I Agree。
Choose Componentsは、全選択してNext。インストールしたい好きなディレクトリを選び、Next。
Get WinPCAP(coLinuxからwindowsのネットワークを使うもの、だと思います) で、Next。
Obtain a coLinux root file system imageは、Debianを選択。LocationはAsiaを選びました。自宅はADSLですが、数分でdownload終了しました。
途中のデジタル署名の確認は、続行する 「はい」を選択。無事インストール終了。READMEを読む場合はチェックを入れて Finish。
インストール終わりましたが、まだ使えません。
coLinuxのパーティション・イメージ Debian-3.0r2.ext3-mit-backports.1gb.bz2 を展開します。窓 の杜で紹介されているLhaPlusを使いました。
1Gbytesのファイルがドーンと展開されます。Debian-3.0r2.ext3-mit-backports.1gb → root_fs と簡単な名前に変更して、coLinuxインストール・フォルダにコピーします。(後日談:1G後ではすぐに足りなくなりました。一気に4Gくらい作るべ きでした)
仮想swapパーティションを作成します。windows Xpなら、「fsutil file createnew swap_device 268435456」 (256Mbytes = 256×1024×1024 = 268435456 )。しかし、使っている母艦はwindows2000のため、ここから256Mをダウンロードしました。 展開したものを swap_device へ名前を変更し、
coLinuxインストール・フォルダにコピーしました。
coLinuxインストールフォルダに入っている default.colinux.xml を参考にcolinx.xmlを作ります。
自分のcolinux.xmlです。
<?xml version="1.0" encoding="UTF-8"?>
<colinux>
<block_device index="0" path="\DosDevices\c:\Program Files\coLinux\debian_root" enabled="true" />
<block_device index="1" path="\DosDevices\c:\Program Files\coLinux\swap_device" enabled="true" />
<bootparams>root=/dev/cobd0</bootparams>
<initrd path="initrd.gz" />
<image path="vmlinux" />
<memory size="256" />
<network index="0" type="tap" />
</colinux>
コマンドプロンプトを起動し、以下のようにしてcoLinuxを起動します。自分の環境では、コマンドプロンプトはAdmin権限でないと、ネットワーク がつながりませんでした。
>cd "C:\Program Files\coLinux"
>colinux-daemon.exe -c colinux.xml
「colinux login:」と出たら、ユーザ「root」 パスワード「root」 でログインできます。
app-getするにはネットワークに接続する必要があります。
ネットワークの設定です。ネットワークのプロパティ(ネットワークとダイアルアップ接続)で、coLinuxをインストールしたときにできたネットワーク 接続の名前を「TAP」に変更します。windowsでインターネットに接続されているネットワークのプロパティから「共有」→「この接続でインターネッ ト接続の共有を可能にする」にチェックを付け、ローカルネットワーク欄から「TAP」を選択します。
設定を有効にするため、coLinuxをshutdown -h now し、再び起動します。
----おまけのはじまり
gccなどを入れていくと1Gでは足りなくなります。容量の増やし方です。自分は途中でHDD がいっぱいになりました。この方法は、内容がなくなるわけではないですが、最初から4Gで始めたほうが無難でしょう。
coLinux Debian Linux image のサイズを変更する方法
まず、debian_root を debian_root2 という名前にコピーします(実質同じもの)。
ここから fs_4095Mb.bz2 をダウンロードし展開し、coLinuxインストールフォルダに newdebian_fs という名前で移します。
coLinuxを終了しておき、colinux.xmlを以下のように編集しておきます。
<?xml version="1.0" encoding="UTF-8"?>
<colinux>
<block_device index="0" path="\DosDevices\c:\Program Files\coLinux\debian_root" enabled="true" />
<block_device index="1" path="\DosDevices\c:\Program Files\coLinux\swap_device" enabled="true" />
<block_device index="2" path="\DosDevices\c:\Program Files\coLinux\debian_root2" enabled="true" /> ←追加
<block_device index="3" path="\DosDevices\c:\Program Files\coLinux\newdebian_fs" enabled="true" /> ←追加
<bootparams>root=/dev/cobd0</bootparams>
<initrd path="initrd.gz" />
<image path="vmlinux" />
<memory size="256" />
<network index="0" type="tap" />
</colinux>
coLinuxを起動しmount。
mkdir /mnt/src
mount /dev/cobd2 /mnt/src
mkdir /mnt/dst
mount /dev/cobd3 /mnt/dst
中身を全コピーします。
cp -Rap /mnt/src/* /mnt/dst/
init 0でcoLinux を終了します。
init 0
colinux.xmlを以下のように編集します。
<?xml version="1.0" encoding="UTF-8"?>
<colinux>
<block_device index="0" path="\DosDevices\c:\Program Files\coLinux\newdebian_fs" enabled="true" />
<block_device index="1" path="\DosDevices\c:\Program Files\coLinux\swap_device" enabled="true" />
<bootparams>root=/dev/cobd0</bootparams>
<initrd path="initrd.gz" />
<image path="vmlinux" />
<memory size="256" />
<network index="0" type="tap" />
</colinux>
coLinuxを起動すれば、容量増えているはずです。
----おまけ終わり
ネットワークにつながっているか確認します。うまくつながっていればpingの結果が返ってくるはずです。
colinux:~# ping www.yahoo.co.jp
PING www.yahoo.co.jp (xxx.xx.xxx.xxx): 56 data bytes
:
無事つながれば、後はdebianそのものです。参 考サイトをもとに、「apt-get update」や「apt-get dist-upgrade」して、どんどん設定していきましょう。
nvi, telnetd,sambaのインストールは、この先必要になると思い、apt-get install しました。
不要とも思いましたが、X window system、vncserverもインストールしました。コマンドプロンプト or teratermしか使わなそうですが。。
apt-get install x-window-system xfonts-a12k12 kterm
apt-get install fvwm fvwm-icons
apt-get install vncserver
「vncserver :1」でサーバが起動できます。windowsからはvncviwerを実行してGUI操作可能です。
初期状態ではキーボードの認識がUS配列のままなので、日本語キーボードを使用している場合は、
「dpkg- reconfigure console-data」を実行→ok→「Select keymap from arch list」→「qwerty」→「Japanese」→「Standard」を選択。
swapの設定
設定ファイルで指定したswapは/dev/cobd1になっています。
mkswap /dev/cobd1
し、/etc/fstabに下の行を追加して再起動します。
/dev/cobd1 none swap sw 0 0
いよいよzaurus用の環境にします。
gcc-2.95で良いのなら、超簡単です。以下のページを参考にしました。
Debian GNU/Linux etch にクロスコンパイル環境を構築する
「クロスコンパイル環境の構築 (コンソールベース」の項目より下をシコシコと実行すると、Qtアプリをコンパイルする環境ができます。超簡単でした。
ZaurusZaurus
http://www.geocities.jp/zauzaurusrus/
*Qtopia
qtopia-free-1.5.0-1.i386.rpm をダウンロードし、以下の手順です。
alien qtopia-free-1.5.0-1.i386.rpm
dpkg -i qtopia-free_1.5.0-2_i386.deb
/opt/Qtopia以下にインストールされます。
dev-arm.qpe.shを編集します。
(dev-arm-qpe.shの内容)
#!/bin/bash
#CROSSCOMPILE=/opt/Embedix/tools
CROSSCOMPILE=/zaurus/local
QPEDIR=/opt/Qtopia/sharp
QTDIR=/opt/Qtopia/sharp
PATH=$QTDIR/bin:$QPEDIR/bin:$CROSSCOMPILE/bin:$PATH
TMAKEPATH=/opt/Qtopia/tmake/lib/qws/linux-sharp-g++/
#LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=$QTDIR/lib:/zaurus/local/lib
export QPEDIR QTDIR PATH LD_LIBRARY_PATH TMAKEPATH
echo "Altered environment for sharp Zaurus Development
以降、zaurus実機向けのコンパイルは、source dev-arm-qpe.sh しておきます。
*zlib-1.2.3
./configure --prefix=/zaurus/local --shared
出来たMakefileの2箇所を修正。
19c19
< CC=gcc
---
> CC=arm-linux-gcc
28c28
< LDSHARED=gcc -shared -Wl,-soname,libz.so.1
---
> LDSHARED=arm-linux-gcc -shared -Wl,-soname,libz.so.1
ZaurusZaurus
http://www.geocities.jp/zauzaurusrus/
make
make install
*SDL-1.2.5
http://atty.skr.jp/sdl.html 通りに。
mkdir build-arm-linux
cd build-arm-linux
CC=arm-linux-gcc CXX=arm-linux-c++ CFLAGS="-O2" ../configure --build=i686-pc-linux --host=arm-linux --enable-video-qtopia --disable-video-x11 --disable-video-dummy --disable-video-dga --disable-arts --disable-esd --disable-alsa --disable-cdrom --disable-video-x11 --disable-video-fbcon --disable-nasm --prefix=/zaurus/local --disable-pthreads --without-x
make
make install
自分はgcc-3以上を構築しようとしています。
参考サイトです。
ザウルス用クロスコンパイラの作成(gcc-4.0.0)
ぴ ろのページ - クロスコンパイル編
Belphegor の巣窟 - 物凄い遅い勢いでARM-based Linux Zaurusを今更サポートするページ
クロスコンパイラを作るコンパイラをインストールしておきます。
apt-get install build-essential
apt-get install gcc
apt-get install flex
apt-get install alien
apt-get install bzip2
ぴろさんのページ通り、binutils,gcc の順で作成することにします。
ここからはビ ルド作業です。基本的にぴろさんのページを参考にしました。
*binutils-2.15
coLinux上で。
apt-get source binutils
cd binutils-2.15
tar xvfz binutils-2.15.oriz.tar.gz
cd binutils-2.15
mkdir build-arm-linux
cd build-arm-linux
../configure --prefix=/zaurus/local --enable-shared --target=arm-linux --enable-targets=xscale-linux-elf
make all
make install
ZaurusZaurus
http://www.geocities.jp/zauzaurusrus/
*gcc-3.3
いろいろと準備があります。
シャー プ より、linux-c3100-20050602-rom1_01.tar.bz2 をダウンロードしLhaPlusで展開(約160Mあります)。linux\includeフォルダを、/zaurus/local/arm-linux へコピーしました。
#デカイので全部展開せず、coLinux上から「tar xvfj linux-c3100-20050602-rom1_01.tar.bz2 linux/include」にすればよかったのかも。
cp -r include /zaurus/local/arm-linux
またシャープより glibc をダウンロードします。
coLinux上でalienコマンドで展開します。
alien --to-tgz glibc-arm-2.2.2-0.i386.rpm
tar xvfz glibc-arm-2.2.2.tgz
以下のようにコピーしました。
cp -r /opt/Embedix/tools/arm-linux/lib /zaurus/local/arm-linux/
cp -r /opt/Embedix/tools/arm-linux/include /zaurus/local/arm-linux/
cp -r opt/Embedix/tools/arm-linux/lib /zaurus/local/arm-linux/
cp -r opt/Embedix/tools/arm-linux/include /zaurus/local/arm-linux/
さっきコンパイルしたbinutilsにpathを通します。
export PATH=/zaurus/local/bin:$PATH
ぴ ろさんのページを参考に以下の2ソースを編集します。
__threadの箇所を__threadpに変更するだけです(全部で3箇所)。
viで行 番号を表示するには「:set number」です。
/zaurus/local/arm-linux/include/pthread.h
/zaurus/local/arm-linux/include/bits/sigthread.h
以下を実行しました。
apt-get source gcc-3.3
cd gcc-3.3-3.3.5
tar xvfj gcc-3.3.5.tar.bz2
cd gcc-3.3.5
mkdir build-arm-linux
cd build-arm-linux
ln -s /zaurus/local/arm-linux/include/asm-arm /zaurus/local/arm-linux/include/asm
../configure --prefix=/zaurus/local --target=arm-linux --with-cpu=xscale --enable-shared --enable-languages=c,c++
make CC=gcc CFLAGS="-O2" CFLAGS_FOR_TARGET="-O3 -mcpu=xscale -Wa,-mfpu=fpa"
make install
ではコンパイルできるか試してみます。
以下のファイルをhello.cでという名前で作りました。
#include <stdio.h>
int main()
{
printf("hello zaurus\n");
}
コンパイル。
arm-linux-gcc hello.c -o hello
sambaでzaurusにコピーし、実行しました。
[zaurus]./hello
hello zaurus
表示されました!
いずれ、もう少し複雑なコンパイルに挑戦したいです。
*gcc-3.4
/zaurus/local以下をやり直しました。手順はgcc-3.3とほぼ同じです。
一応バックアップ。local_BAKは後で消しました。
mv /zaurus/local /zaurus/local_BAK
tar xvfj linux-c3100-20050602-rom1_01.tar.bz2 linux/include
cp -r linux/include /zaurus/local/arm-linux
展開してあったoptをコピー。
cp -r opt/Embedix/tools/arm-linux/lib /zaurus/local/arm-linux/
cp -r opt/Embedix/tools/arm-linux/include /zaurus/local/arm-linux/
上と同じように_thread→_threadp。
/zaurus/local/arm-linux/include/pthread.h
/zaurus/local/arm-linux/include/bits/sigthread.h
export PATH=/zaurus/local/bin:$PATH
apt-get source gcc-3.4
cd gcc-3.4-3.4.3
tar xvfj gcc-3.4.3.tar.bz2
cd gcc-3.4.3
mkdir build-arm-linux
cd build-arm-linux
ln -s /zaurus/local/arm-linux/include/asm-arm /zaurus/local/arm-linux/include/asm
../configure --prefix=/zaurus/local --target=arm-linux --with-cpu=xscale --enable-shared --enable-languages=c,c++ --disable-libstdcxx-pch (←重要です)
make CC=gcc CFLAGS="-O2" CFLAGS_FOR_TARGET="-O3 -mcpu=xscale -Wa,-mfpu=fpa"
make install
エ ミュなど
Zaurusは持ち運べるエミュレータ・マシンとして最高です。小さい し、HDDついていますし。
ゲームのエミュレータ関係です。以下のページを参考にしました。
http://www.cam.hi-ho.ne.jp/hirohata/ZAURUS/ZAURUS.htm
http://www.areanine.gr.jp/%7Enyano/#soft
http://www.piro.hopto.org/~piro/pukiwiki/pukiwiki.php?%5B%5Bzaurus%CD%D1%A5%A8%A5%DF%A5%E5%5D%5D
機械小箱各種覚え書き
(http://goraku.jp/kikai/slc3100.html)
のページも詳しいです。
ZaurusZaurus
http://www.geocities.jp/zauzaurusrus/
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿