SynCEとFUR
Un*x上で動くActiveSync(RNDIS)互換プログラムであるSynCEを入れてみた。
導入についてはW-ZERO3はWindows Mobile 2005なので、http://www.synce.org/index.php/Windows_Mobile_2005_Supportを参照した。Kernelパッチが必要なところと、0.10.0以上はまだPortageに入ってないという2点によりemergeですぐ使えるようにはならない。とは言っても、特別難しいことは無いだろう。
root権限でodccmを起動したあとはUSBで接続すれば
$ pls --D------T 1998-01-01 21:00:00 miniSDカード/ Archive 32768 2006-08-30 16:01:20 imjp31u.dic Directory 2006-12-04 15:18:28 UpdateBin/ Archive 7313 2006-01-01 03:04:16 Microsoft .NET CF 2.0.LOG.TXT Archive 921654 2007-04-29 12:19:42 SCRN0001.BMP Directory 2006-01-01 00:00:00 Documents and Settings/ --D-----S- 2006-01-01 00:00:00 Windows/ --D-----S- 2006-01-01 00:00:00 Temp/ Directory 2006-01-01 00:00:10 My Documents/ Directory 2006-01-01 00:00:10 Program Files/ Directory 2006-01-01 00:00:12 Storage/ Directory 2006-01-01 00:00:14 Application Data/ A-------S- 53248 2007-05-31 01:15:44 mxip_notify.vol A-------S- 28672 2007-05-31 03:02:10 mxip_lang.vol Directory 2006-01-01 00:00:28 ConnMgr/ Archive 299008 2007-05-31 01:20:02 pim.vol Archive 21 2007-05-31 02:24:34 hoge Directory 2007-05-31 02:54:30 cegcc/ Directory 2007-05-31 02:54:12 mingw32ce/
と言う風に基本的なファイル操作(pls, pcp, pmv, prm, pmkdir, prmdir)やWinCE上のパッケージ管理(synce-list-programs, synce-install-cab, synce-remove-program)、psettime(時刻同期)、prun(プログラムの起動)などのツールが使用できる。
しかし、pcpでディレクトリの再帰的なコピーが出来ないなど非力すぎるので、librapi2をFUSEを使って抽象化してアクセス出来るようにするFURも入れてみた。使い方は簡単。
$ mkdir furtest $ fur furtest # 注:FURに含まれるコマンドはFurだけど好みでfurにリネームした $ ls -la furtest dr-x------ 2 gama users 0 1970-01-01 09:00 . drwx------ 184 gama users 17224 2007-05-31 05:08 .. drwx------ 2 gama users 0 1970-01-01 09:00 Application Data drwx------ 2 gama users 0 1970-01-01 09:00 ConnMgr drwx------ 2 gama users 0 1970-01-01 09:00 Documents and Settings -rwx------ 1 gama users 7313 1970-01-01 09:00 Microsoft .NET CF 2.0.LOG.TXT drwx------ 2 gama users 0 1970-01-01 09:00 My Documents drwx------ 2 gama users 0 1970-01-01 09:00 Program Files -rwx------ 1 gama users 921654 1970-01-01 09:00 SCRN0001.BMP drwx------ 2 gama users 0 1970-01-01 09:00 Storage drwx------ 2 gama users 0 1970-01-01 09:00 Temp drwx------ 2 gama users 0 1970-01-01 09:00 UpdateBin drwx------ 2 gama users 0 1970-01-01 09:00 Windows drwx------ 2 gama users 0 1970-01-01 09:00 cegcc -rwx------ 1 gama users 172032 1970-01-01 09:00 cemail.vol -rwx------ 1 gama users 21 1970-01-01 09:00 hoge -rwx------ 1 gama users 32768 1970-01-01 09:00 imjp31u.dic drwx------ 2 gama users 0 1970-01-01 09:00 mingw32ce drwx------ 2 gama users 0 1970-01-01 09:00 miniSDカード -rwx------ 1 gama users 32768 1970-01-01 09:00 mxip_initdb.vol -rwx------ 1 gama users 28672 1970-01-01 09:00 mxip_lang.vol -rwx------ 1 gama users 53248 1970-01-01 09:00 mxip_notify.vol -rwx------ 1 gama users 143360 1970-01-01 09:00 mxip_system.vol -rwx------ 1 gama users 299008 1970-01-01 09:00 pim.vol dr-x------ 2 gama users 0 1970-01-01 09:00 proc
見てのとおり、タイムスタンプ回りは実装されていないが、SynCEのツールと同時に使えるのでMiniSDに対する排他的なアクセスしか出来ないZERO3標準のマスストレージ機能より遥かに実用的。
ただ、proc/regkeys内にアクセスすると接続が切れてしまうので注意である。
せっかく5つくらいebuildでっちあげたのでこの先に置いときます。/etc/init.d/odccm stopが効かなかったのでちょろんと修正
#!/bin/sh base64 -d <<EOF | tar xvz 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 EOF