• R/O
  • HTTP
  • SSH
  • HTTPS

Repository summary

Tags
No Tags

Frequently used words (click to add to your profile)

javaandroidc++linuxc#objective-c誰得cocoaqtpythonrubywindowsphpgameguibathyscaphec翻訳omegat計画中(planning stage)frameworktwitterdombtronvb.nettestarduinodirectxpreviewerゲームエンジン

fakesh-kobo 本体からのセレクション(と sample の fakesh logo)


Recent Commits RSS

Rev. Time Author Message
e3111ed 2013-12-12 18:58:37 fakesh master やっぱり, やめて copy してくることにした.
33b4d51 2013-12-12 18:41:13 fakesh links.html をつけてみた
d1661a0 2013-12-11 22:21:40 fakesh extra/busyboxRelink.sh 仕様変更
fd4ea42 2013-12-09 23:48:49 fakesh debExtract.sh
0130156 2013-12-08 17:29:52 fakesh version 4 starts
549c0e8 2013-12-08 11:50:18 fakesh 日付をわすれた
cad4a45 2013-12-08 11:47:47 fakesh extra/ldd.sh extra/busyboxRelink.sh を追加, koboBackup.sh...
0c17db6 2013-02-22 20:46:54 fakesh wrapping-mount-dosfsck.sh
08c7a56 2013-02-12 17:58:09 fakesh StopNickel.sh を本体にいふくめた
e688577 2013-02-11 20:46:55 fakesh と, いってるそばから

Branches

Name Rev. Time Author Message
master e3111ed 2013-12-12 18:58:37 fakesh ??äѤ?, ???? copy ???Ƥ??뤳?Ȥ...

README

fakesh-omocha version 4

koboのおもちゃ

Copyright (C) 2013 fakesh. http://sourceforge.jp/users/fakesh/
MIT/X Consortium License  http://www.opensource.org/licenses/mit-license.php

* WhatIsThis
  
  kobo に login してつかうものですので, telnet や ssh で login
  できる環境ができていないと基本的にはつかえません.
  ただし, screenShot-jpeg.sh は fbset が install されていて
  /dev/fb0 が読めるような unix-like 環境でもつかえるはずです.

  fakesh 本体(整備中) のなかで, 単独でつかっても役にたちそうな sh scripts と
  fakesh 本体 にはないけれど便利な sh scripts (extra) などを集めたものです.
  install path は, とくにきまってませんが, よくつかうようであれば,
  $PATH のかよったところがいいでしょう.

+ whinker.sh
  LED を点滅させる. パターンは動的にかえられる.
  使いかたは, help
  PROMPT# ./whinker.sh
  を参照.
  fakesh 本体 では /etc/fakesh/tools/ に配置. ($PATH には入っていない)

+ screenShot-*.sh
  スクリーンショットを撮る, .raw.gz からの変換.
  fakesh 本体 では /root/bin/ に配置. (fakesh の$PATH には入ってる)

  screenShot-*.sh の * は出力フォーマットで,
  数字 1,2,3,4 は各色のbit数, jpeg は 3x8bit color または 8bit grayscale,
  単独 ppm は binary 3x7bit color + gzip,
  単独 pgm は binary 7bit grayscale + gzip,
  単独 raw は "そのまま" + gzip , raw[1-4] は grayscale + gzip,
  L つきと raw は landscape, それ以外は portrait, r は reverse video.
  raw1 は reverse video 付き.

  つかいたは help で

  PROMPT# screenShot-jpeg.sh help
  Usage: screenShot-jpeg.sh [pathto/pict] [1-999] [cmd] [cjpeg_opts]
    pathto/pict : path to output file. (/mnt/onboard/screenShots/001.jpg)
    1-999 : shutter timer sec. (none)
    cmd : help , conv , wait, showfb , fb:_params_ ,
          fmt:_output_format_ (jpeg).
  
  options は dash(-) ではじまる option 以降が cjpeg の option になる
  (jpeg のとき). それより左の option が screenShot-*.sh の option で
  slash(/) が含まれるときは出力ファイルの指定(無条件置き換え(上書き)),
  1から999までの十進表記はシャッターのタイマー秒数,
  conv は画面からの代わりにstdinから .raw.gz を読み込む,
  wait は現像仕上りまで待つ,
  showfb があるときは framebuffer(fb) の parameter を表示して終了(撮らない,変換しない),
  fb:_params_ は fb の parameter を上書き設定, conv といっしょにつかえば
  他機種の .raw.gz も変換できる, (環境変数 SCREENSHOT_FB_PARAMS も利用可能)
  fmt:_output_format_ は出力フォーマット,
  help で (/mnt/onboard/screenShots/001.jpg) のように設定値を確認することが
  できる.

  以下, 利用例:

  撮るのは一瞬.

  PROMPT# time screenShot-jpeg.sh
  real    0m 0.71s
  user    0m 0.02s
  sys     0m 0.21s

  現像(変換)にスゴク時間がかかる.

  PROMPT# time screenShot-jpeg.sh wait
  output: /mnt/onboard/screenShots/002.jpg
  real    1m 28.35s
  user    1m 13.52s
  sys     0m 14.21s

  でも gzip だけならまあまあ速い.

  PROMPT# cd /mnt/onboard/screenShots
  PROMPT# time screenShot-raw.sh ./thePict wait
  output: /mnt/onboard/thePict.raw.gz
  real    0m 2.00s
  user    0m 1.28s
  sys     0m 0.20s

  raw1(raw BW and its reverse video) でも変換に結構時間がかかる.

  PROMPT# time screenShot-raw1.sh conv ./thePict wait < thePict.raw.gz
  output: /mnt/onboard/screenShots/thePict.BW.raw.gz
  output: /mnt/onboard/screenShots/thePict.WB.raw.gz
  real    2m 52.79s
  user    1m 20.05s
  sys     1m 32.45s

  E-ink の残像軽減になるかな?

  PROMPT# dispPics.sh ./thePict.BW.raw.gz 500 ./thePict.WB.raw.gz ./thePict.raw.gz

  framebuffer の parameters の表示 (on glo)

  PROMPT# screenShot-jpeg.sh showfb
  w=1024;h=758;rB=5;rP=11;gB=6;gP=5;bB=5;bP=0;

  他機種の .raw.gz を変換

  PROMPT# cd /etc/images
  PROMPT# screenShot-ppm.sh 'fb:w=800;h=600;' conv showfb
  w=800;h=600;rB=5;rP=11;gB=6;gP=5;bB=5;bP=0;
  PROMPT# screenShot-ppm.sh 'fb:w=800;h=600;' conv showfb help
  Usage: screenShot-ppm.sh [pathto/pict] [1-999] [cmd]
    pathto/pict : path to output file. (/mnt/onboard/screenShots/003.ppm.gz)
    1-999 : shutter timer sec. (none)
    cmd : help , conv , wait, showfb , fb:_params_ ,
          fmt:_output_format_ (ppm).
  PROMPT# screenShot-ppm.sh 'fb:w=800;h=600;' conv < initializing_usb_partition.raw.gz
  PROMPT# cd /mnt/onboard/screenShots
  PROMPT# ls
  001.jpg       002.jpg       003.ppm.gz.wait
  PROMPT# sleep 180; ls
  001.jpg       002.jpg       003.ppm.gz
  PROMPT# zcat 003.ppm.gz | cjpeg > initializing_usb_partition.jpg

  ?? usb 端子が下にあるから ?? (やってみて!)
  以上は, fakesh 所有の glo での結果. touch は処理能力が低いけど,
  画素が少ないので速くなるか遅くなるかは不明.
  ぎゃくに, Touch で glo用の画面の jpeg をつくるのには:

  PROMPT# screenShot-jpeg.sh /mnt/onboard/glo-on-3 'fb:w=1024;h=758;' conv < /etc/images/kraken-on-3.raw.gz

  timer が必要な用途の一つは, /mnt/onboard が umount されているときの
  screen shot を撮ることで (wifi経由loginして, usbnet ではムリかも)

  PROMPT# cd /; screenShot-jpeg.sh 30 &

  と唱えてすぐに, usb 接続, [接続] をタッチして, さらに,
  画面を撫でていれば(koboを居眠りさせないため),
  30秒後くらいの "PC に接続されています。" の画像が撮れる.
  現像が終っても, /mnt/onboard が mount されるまでは /tmp から mv
  しないので安心.
  usb 接続解除後すぐに見たいときは(見ている画面だけど), シャッター後
  さらに2分ほど撫でまわしてから接続解除して, /mnt/onboard の mount と
  ほぼ同時に現像済 jpeg を /tmp から mv させるようにすればよい.

  / partition の /mnt/onboard が汚れていないことを確認.

  PROMPT# cd /tmp ; mkdir -m 000 root-bind-$$ ; stat -c %a root-bind-$$
  0
  PROMPT# mount --bind / root-bind-$$ ; stat -c %a root-bind-$$
  755
  PROMPT# ls -a root-bind-$$/mnt/onboard
  .   ..
  PROMPT# umount root-bind-$$; stat -c %a root-bind-$$
  0
  PROMPT# chmod 700 root-bind-$$; rmdir root-bind-$$

  root-bind-$$/mnt/onboard に . .. 以外の何かがあったら消しときましょう.

  kobo ウェブブラウザでは, jpeg, png画像が grayscale になっている?
  svg でもグラデーションなどは grayscale になるようだ.  (FW 2.2.1)
  http://upload.wikimedia.org/wikipedia/commons/0/02/CIExy1931.svg

+ extra/fakesh-logo.jpg
  screenShot-jpeg.sh で撮ったショットサンプル.
  元の png を /mnt/onboard にコピーして撮った. (jpegtran 不使用版)
  version 1 のものは jpegtran の BUG のせいでおかしい. 今度はダイジョブ
  fakesh 本体 には含めない

+ extra/conv-etc-images.sh
  screenShot-jpeg.sh をつかった sample script.
  /etc/images の画像を ppm に変換して
  /mnt/onboard/etc_images に保存する.
  background で走りつづけるが, 2時間以上かかる.
  umount されようが nickel が死のうが走りつづける.
  電池はかなりへる.
  UNIX-like であれば, kobo 以外でも, つかえる.
  screenShot-jpeg.sh を同じディレクトリに配置して,
  ディレクトリ images で実行.
  fakesh 本体 には含めない, $PATH にも入っていない.

+ addVerCheck.sh
  KoboRoot.tgz を version check つきにする.
  script を実行させる KoboRoot.tgz を生成する.
  distributer むけの sh script なので詳しい説明は省略.
  cwd に versions.lst がないときは, versions.lst の例を生成して終了.
  もう一度実行すると KoboRoot.tgz がなければ sample の KoboRoot.tgz
  を生成し, version check つき KoboRoot.tgz に変身させる.
  詳しくは script addVerCheck.sh 自身を参照.
  fakesh 本体 では /etc/fakesh/tools/ に配置, $PATH には入っていない.

- koboBackup.sh
  簡単koboバックアップ
  http://sourceforge.jp/users/fakesh/pf/easyKoboBackup/
  または, 最新版
  http://sourceforge.jp/projects/fakesh-kobo/scm/git/fakesh_kobo/tree/master/etc/fakesh/tools/
  からどうぞ.
  KoboRoot.tgz を展開したなかの tmp/*/koboBackup-oneShot.sh と同一です.
  koboBackup.sh と rename してつかってください.
  画像 *.raw.gz は /mnt/onboard/.fakesh/images に install してください.

- outputEKBuu.sh
  最新版
  http://sourceforge.jp/projects/fakesh-kobo/scm/git/fakesh_kobo/tree/master/etc/fakesh/tools/
  からどうぞ.
  koboBackup.sh に addVerCheck.sh をつかって別パッケージ "簡単koboバックアップ"
  をつくる script. koboBackup.sh と addVerCheck.sh は同じ directory に配置されて
  いなければならない. ssh でつかいやすいように base64 で KoboRoot.tgz を stdout
  に出力.
  fakesh 本体 では /etc/fakesh/tools/ に配置. ($PATH には入っていない)

+ dispPics.sh
  kobo 画面に 画像を表示, 引数なしで help
  fakesh 本体 では /root/bin/ に配置, $PATH にはいってる.

+ extra/pstree.sh
  debian squeeze あたりから psmisc を導入すればいいのだけれど,
  面倒だから書いてしまった.
  と思ってたら. FW2.6.0 以降の busybox に含まれるようになった.
  でも, こちらは, STAT や 引数の表示があるぶん便利.
  適当な引数をつけると help.
  fakesh 本体にはないが $PATH 入ってる

+ {Stop,Cont,Ping}Nickel.sh 
  pipeclear 付きだから, STOP してるときの影響が CONT したときにでない.
  ./StopNickel.sh した回数だけ ./ContNickel.sh しないと nickel は動き出さない.
  5回 ./StopNickel.sh したら, 5回 ./ContNickel.sh しないと nickel は動き出さない.
  状態は ./PingNickel.sh で確認できる.
  fakesh 本体 では /root/bin/ に配置, $PATH にはいってる.

+ extra/batteryStat.sh
  ときどき電池が気になります...
  fakesh 本体にはないが $PATH 入ってる

+ extra/hwtime.sh
  fork せずにいける. 日付けはいらない. JST(+09:00)でないときは,
  環境変数 TZMIN で調整. サマータイムとかは当然無視.
  fakesh 本体にそのものはないが, ひな型がある. $PATH に入ってる

- wrapping-mount-dosfsck.sh
  簡単koboバックアップ
  http://sourceforge.jp/users/fakesh/pf/easyKoboBackup/
  または, 最新版
  http://sourceforge.jp/projects/fakesh-kobo/scm/git/fakesh_kobo/tree/master/etc/fakesh/tools/
  からどうぞ.
  koboBackup.sh の付随script
  rootfs と recoveryfs の /bin/{mount,umount,dosfsck} を
  KOBOeReader が ext4 でつかえるように  wrap, restore する.
  wrap は,
  PROMPT# ./wrapping-mount-dosfsck.sh /mount_point_to_fs
  で, restore は,
  PROMPT# ./wrapping-mount-dosfsck.sh /mount_point_to_fs restore
  とする.
  '-Message' という option を第1引数にすると饒舌になる.
  引数なしで, test code の実行.
  また, koboBackup.sh により recoveryfs の /etc/fakesh/tools にも install され,
  factory reset しても, ext4 がつかえている状態にする.
  fakesh 本体 では /etc/fakesh/tools/ に配置, $PATH には入っていない.

+ extra/ldd.sh
  オプション -l /path_to/ld-linuxXXXXX でリンカを指定できる.
  引数なしで, help
  fakesh 本体にはないが $PATH 入ってる

+ extra/busyboxRelink.sh
  FW2.6.0 の busybox が大変更よる applet を整理する.
  ./busyboxRelink.sh /bin/busybox と唱えれば, /bin/busybox に
  symlink されてるのに なくなった, applet を消して,
  /bin/busybox が想定している場所に applet を install する.
  すでにある command は /bin/busybox からの symlink でないかぎり消さない.
  /bin/busybox への symlink でも想定している場所でなければ消さない.
  以上のように, 安全に /bin/busybox の applets を整える.
  ./busyboxRelink.sh /bin/busybox と唱えたあとで,
  旧 busybox を /bin/busybox_2.1.5 のように install して,
  ./busyboxRelink.sh /bin/busybox_2.1.5 と唱えれば,
  再び mkswap や crond , dos2unix がつかえるようになる.
  busybox --install というのもあるけれど, 挙動がよくわからないので不安だから書いた.
  wrapper とか上書きされるといやだし, 孤児 applet は消してくれないだろうから.
  fakesh 本体にはない, $PATH にも入っていない.

+ ar.sh , debExtract.sh
  ar, .deb のリスティングと展開だけ.
  引数なしで, help
  wget で .deb を download したあと展開するのにつかう.
  debExtract.sh は ar.sh の symlink.
  fakesh 本体 では /root/bin/ に配置, $PATH に入ってる.

################################################################

* Install
  fakesh-omocha?.{tgz,tar.bz2,tar.xz} をお好みの場所で展開(ただし symlink
  がはいっているので unix な filesystem上 で[含むMacOSX]).
  directory fakesh-omocha? (?はversion番号) 以外に展開物はなし. バラケない.
  あとは, 上記 WhatIsThis を参考にするなどして, (kobo内外に)配置.
  sh script ですので...
  tgz,tar.bz2,tar.xz のどれになるかは, 一番小さくなるものにするので
  varsion によりかわるかも.

* ChangeLog

+ 2013-12-08

  + extra/busyboxRelink.sh 仕様変更

+ 2013-12-08

  + ar.sh , debExtract.sh (version 4)

  version 3

  - outputEKBuu.sh

  - koboBackup.sh

  - wrapping-mount-dosfsck.sh

  + extra/ldd.sh

  + extra/busyboxRelink.sh

+ 2013-02-22

  + wrapping-mount-dosfsck.sh

+ 2013-02-11

  + screenShot-*.sh  reverse video の強化

  + whinker.sh  $(./whinker.sh 2>/dev/null) がダメなので修正

+ 2013-02-10

  + extra/hwtime.sh

  + extra/batteryStat.sh

  + extra/{Stop,Cont,Ping}Nickel.sh

  + extra/pstree.sh

  + extra/conv-etc-images.sh を本体からはずす.

  + 本体にないものを extra に移動

  + dispPics.sh

+ 2013-02-05

  version 2 

  + README.html

  + outputEKBuu.sh

+ 2013-02-04
  
  + addVerCheck.sh

    BUG 取り [ ! -f ../KoboRoot.tgz ] のときの cd $wd

  + whinker.sh

    help の値を 30 から 99 に変更.

  + screenShot-*.sh

    jpegtran -rotate 90 に BUG があるので jpegtran をつかわずに,
    回転するようにした.

    さまざまな format の画像出力に対応.

    default の画像出力先を /mnt/onboard/screenShots/ に変更.
    画像出力先を option 指定可能.

    .raw.gz からの変換.

    kobo でなくても(たぶん)つかえるようにした.

    次の options を追加
    pathto/pict , 1-999 , help , conv , wait ,
    fb:show , fb:_params_ , fmt:_output_format_ .

  + fakesh-logo.jpg

    jpegtran の BUG のため jpegtran未使用版に変更.

  + conv-etc-images.sh

  + addVerCheck.sh

  + koboBackup.sh

+ 2013-01-27

  version 1 

  + whinker.sh

  + screenShot-jpeg.sh

  + fakesh-logo.jpg

* TODO
  
  + screenShot-*.sh

    kobo の E-ink では, rgb to grayscale が ppmtopgm の
    .299 r + .587 g + .114 b でないようなので, その対策.

  + README

    もっと, ちゃんと詳しく書く. でもつかれた....
    wiki に移動...
  
  binary <--> text に od と awk の printf "%c" のほかに uu{en,de}code
  base64 をつかうという手もあるか... 処理は面倒たけど, uudecode -m を
  tr の代わりにつかえば 3x8bit color bin ppm, 8bit grayscale pgm をつくれる.
  しかも, base64 は 3bytes binary <-|-> 4bytes text だから rgb にピッタリ.
  - base64 じゃない uuencode の方が awk での encode が楽そう.
  - printf "%c", g%64 + 32; g=int(g/64); でいける!
  だけど, 当分後回し. - やってみたくなってきた...ガマン

* FAQ

* 最新版

http://sourceforge.jp/projects/fakesh-kobo/scm/git/fakesh_kobo/tree/master
から
root/bin/screenShot-jpeg.sh
root/bin/dispPics.sh
etc/fakesh/tools/whinker.sh
etc/fakesh/tools/addVerCheck.sh
etc/fakesh/tools/koboBackup.sh
etc/fakesh/tools/outputEKBuu.sh
root/bin/{Stop,Cont,Ping}Nickel.sh 
root/bin/ar.sh
と extra は
http://sourceforge.jp/users/fakesh/pf/fakesh_omocha/scm/tree/master/extra/
にあります.

================

Copyright (C) 2013 fakesh. http://sourceforge.jp/users/fakesh/
MIT/X Consortium License  http://www.opensource.org/licenses/mit-license.php