タグ別アーカイブ: Kindle3

[UPDATE2]多看 (Duokan) が Kindle3に魔法をかける

多看といわれるKindle2/3で動作する中国語OSを試してみました。名前だけは以前から知っていたのですが単純にKindle3を中国語化するハックという程度の認識しかありませんでしたが、実際使用してみるととにかくすごい機能が盛りだくさんでした。チャイナパワーはスゴイですね。

多看(Duokan) for Kindle3 のホーム画面

読み方はわかりませんが、英語では”Duokan”なので、「ドゥオカン」と発音するのでしょうか。サイトが中国語のために機能や不具合、アップデート内容、豊富な機能を理解するのなかなか難しいですが、英語に翻訳してくれているサイトもあるのでそちらを参考にできます。インストールは簡単にできますがアップデータを使ったハックのため、不具合が生じて文鎮化する可能性もありますので興味のある方は下記のサイトを参考にして自己責任で試してみてください。

このハックはNiLuJe氏らの実績あるハックと異なり環境構築や文鎮化防止対策の程度がはっきりしません。いまのところアンインストーラーも実装されていないようでリスクは高いです(起動ログの下に追記)。シリアル接続環境がない方、あるいはusbNetworkハックでコマンドラインから修正することができない方は自重された方がよいと思います。

オフィシャルサイト:http://www.duokan.com
英語の翻訳サイト:Duokan is now available with an english GUI
英語のFAQ:Duokan FAQ

メニューは英語表記に変更が可能ですから、英語に変更します。驚いた機能は表示可能なフォーマットにEPUB、DOC形式が追加されていたこと。実際に試してみましたが、画像データがややポジションがズレる場所もありますが、内容を確認する程度なら全く問題ありませんでした。フォントサイズはもちろん、濃さも調節可能です。中国語なら読み上げも可能です。日本語TTSを入れてしまえば日本語での読み上げも可能なのかもしれません。

もうひとつ。PDFファイルの余白トリミングが可能なことです。電子書籍への関心の高まりから、書籍を裁断してスキャンして電子ブックリーダーに取り込む、いわゆる「自炊」する方が増えているようですが、Kindle3で表示させる場合は、原稿の余白のトリミングが課題だったりします。

キーボードの”Aa”を押した際のメニュー

ターゲットマークを左上→右下の順番で決定してトリミングできる

インストールするとノーマルのKindleとのデュアルブートが可能になります。中国語でとっつきにくいのですがこれはアツイですね。スクリーンセーバーやフォントの変更も可能なようですし、いろいろといじりがいありそうです。参考までに本体をリブートしてから多看を起動した際のログは以下のとおりです。

—-begin—-
Welcome to Kindle!
kindle login: root
Password:
#################################################
# N O T I C E * N O T I C E * N O T I C E #
#################################################
Rootfs is mounted read-only. Invoke mntroot rw to
switch back to a writable rootfs.
#################################################
[root@kindle root]# reboot
WARNING: could not determine runlevel – doing soft reboot
(it’s better to use shutdown instead of reboot from the command line)
Broadcast message from root (ttymxc/0) (Wed Nov 10 10:54:17 2010):
The system is going down for reboot NOW!
Broadcast message from root (ttymxc/0) (Wed Nov 10 10:54:17 2010):
The system is going down for reboot NOW!
INIT: Switching to runlevel: 6
INIT: Sending processes the TERM signal
INIT: Sending processes the KILL signasystem: I K04framework:def:stopping booklet framework
system: I start.sh:stop:signal=15,exitval=143:CVM stopped using SIGTERM
system: I K06browserd:def:Stopping Browser Daemon
system: I K10cron:def:stopping crond
start-stop-daemon: lseek: Invalid argument
Stopping lipc-daemon: system: I K10tmd:def:Stopping Transfer Manager Daemon
system: I K15audio:def:stopping audio server
system: I K17ttsd:def:stopping TTS daemon
system: I K19userstore:def:Found BOOTUP flag file
system: I K20volumd:def:stopping Volume daemon
system: I K25phd:def:Stopping Phone-Home Daemon
system: I K30cmd:def:stopping CMD daemon
system: I K30wifid:def:stopping wifid
Stopping Power Management Daemon: stopped /usr/bin/wpa_supplicant (pid 10926)
system: W wpa_supplicant:def:wpa supplicant stopped
system: I wifi:def:WiFi Device mac = 28:EF:01:44:C9:C4
Platform set to SHASTA_NATIVEMMC-SDIO
Platform Setup Script is: /opt/ar6k/host/support/platformscripts/plat_SHASTA_NATIVEMMC-SDIO.sh
Image path: /sbin
..unloading all
system: I wifi:def:loadAR6000 finished, args=(unloadall)
system: I K76mcsd:def:stopping MCS server
Stopping Process Monitoring Daemon: system: I K85dbus:def:stopping system message bus
system: I K90video:def:stopping eInk HAL lifeguard
system: I K98sdtime_stop:sdtime:time=6970:shutdown time in milliseconds
system: I K99syslog-ng:def:stopping syslog-ng
system: I mntroot:def:Making root filesystem read-only
system: I tinyrot:def::Rotating file /var/log/messages with max size 256
system: I loginfo:devhw:boardID=SP1B:Shasta PVT device – rev 1
system: I loginfo:devhwphy::USB PHY built by unknown
system: I loginfo:devsworig::Original System Software Version: 111-shasta0.7-053672
Sun Oct 10 13:48:23 PDT 2010
system: I loginfo:devswota::OTA Kindle 3.0.3 (~~otaVersion~~)
lipc-get-prop[12130]: E lipc:con::Connection error(Failed to connect to socket /var/run/dbus/system_bus_socket: Co)
lipc-get-prop[12130]: C def:dbusi::Failed to init dbus
lipc-get-prop[12130]: E def:open::Failed to open LIPC
com.lab126.wan failed to open lipc for localTimeOffset event
system: E loginfo:ltofailunknowerror:cannot retrieve local time offset – unknown error
/usr/sbin/tinyrot : Signaling syslog
killall: syslog-ng: no process killed
system: W tinyrot:def:Failed to HUP syslog
killall: syslog-ng: no process killed
/usr/sbin/tinyrot : Calculating total size /var/local/log/messages_*.gz
/usr/sbin/tinyrot : Total size of /var/local/log/messages_*.gz is 148kb
Rebooting in 1 second…
Restarting system.
EXT3-fs error (device mmcblk0p1): ext3_find_entry: reading directory #12184 offset 0
EXT3-fs error (device mmcblk0p1): ext3_find_entry: reading directory #12184 offset 1
U-Boot 1.3.0-rc3-lab126 (Jul 31 2010 – 01:08:40)
CPU: Freescale i.MX35 at 532 MHz
Board: MX35 Luigi [ POR]
WDOG_WCR = 0xff31
WDOG_WMCR = 0x0
Board Id: SP1B000000000000
S/N: B008XXXXXXXXXXXX
DRAM: 256 MB
Using default environment
In: serial
Out: serial
Err: serial
No ethernet found.
i.MX35 CPU board version 2.0
Net: No ethernet found.
Hit any key to stop autoboot: 0
## Booting image at 87f40400 …
Image Name: Linux-2.6.26-rt-lab126
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2150840 Bytes = 2.1 MB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum … OK
Loading Kernel Image … OK
Starting kernel …
Uncompressing Linux……………………………………………………………………………………
boot: W def:rbt:reset=watchdog:
2.6.26-rt-lab126 #5 Sun Oct 10 13:46:42 PDT 2010 armv6l
INFO:Using default keypad setting. (not passing “kb_rev” to module)
INFO:Loaded module /lib/modules/mxc_keyb.ko (22508 bytes)
Press [ENTER] for recovery menu… 0 /INFO:Partition table verified for /dev/mmcblk0
INFO:Checking for updates… (auto-pilot mode)
/dev/mmcblk0p4:
CHS=4/16/101575 size=3328409600 bytes
flag type first last lba first lba size
Partition p1:
0x00 0x0b 16 16 6500784
CHS: 0/1/1 –

Partition p2:
Partition p3:
Partition p4:
INFO:Setup loop device /dev/loop0 for /dev/mmcblk0p4 + 8192
INFO:No update*.bin found; no update needed.
INFO:no updates found.
BOOTING DEFAULT.
argc == 9
argv[0]: “kinit”
argv[1]: “console=ttymxc0,115200”
argv[2]: “mem=256M”
argv[3]: “panic=10”
argv[4]: “root=/dev/mmcblk0p1”
argv[5]: “ro”
argv[6]: “ip=none”
argv[7]: “quiet”
argv[8]: “lpj=2555904”
Running ipconfig
argc == 4
argv[0]: “IP-Config”
argv[1]: “-i”
argv[2]: “Linux kinit”
argv[3]: “ip=none”
IP-Config: no devices to configure
kinit: do_mounts
kinit: name_to_dev_t(/dev/mmcblk0p1) = dev(179,1)
kinit: root_dev = dev(179,1)
kinit: /dev/root appears to be a ext3 filesystem
kinit: trying to mount /dev/root on /root with type ext3
kinit: Mounted root (ext3 filesystem) readonly.
Checking for init: /sbin/init
Checking for init: /bin/init
Checking for init: /etc/init
Checking for init: /sbin/init.sysvinit
INIT: version 2.86 booting
system: I rcS:def:starting /etc/rcS.d/S02kdb
system: I S02kdb:def:Setting boot device to mmcblk0
kdb set: ‘system/driver/filesystem/DEV_ROOT’
system: I rcS:def:starting /etc/rcS.d/S03udev
system: I S03udev:def:setting up virtual fs for hotplug event handling
system: I S03udev:def:starting the hotplug events dispatcher
system: I S03udev:def:synthesizing initial hotplug events
lipc-send-event[380]: E lipc:con::Connection error(Failed to connect to socket /var/run/dbus/system_bus_socket: No)
lipc-send-event[380]: C def:dbusi::Failed to init dbus
lipc-send-event[380]: E def:open::Failed to open LIPC
lipc-send-event[380]: E def:fail:source=com.lab126.hal, event=usbPlugIn:Sending event failed
lipc-send-event[481]: E lipc:con::Connection error(Failed to connect to socket /var/run/dbus/system_bus_socket: No)
lipc-send-event[481]: C def:dbusi::Failed to init dbus
lipc-send-event[481]: E def:open::Failed to open LIPC
lipc-send-event[481]: E def:fail:source=com.lab126.hal, event=audioHS:Sending event failed
system: I rcS:def:starting /etc/rcS.d/S04rootfsresize
system: I S04rootfsresize:def:No rootfs on /dev/mmcblk0p1 resizing needed
system: I rcS:def:starting /etc/rcS.d/S10filesystems
system: I rcS:def:starting /etc/rcS.d/S10hostname
system: I rcS:def:starting /etc/rcS.d/S10network
system: I S10hostname:def:setting device hostname
system: I S10filesystems:def:mounting filesystems
system: I S10network:def:initializing network configuration
system: I S10network:def:Installed Firewall
system: I rcS:def:starting /etc/rcS.d/S11chpriority
system: I rcS:def:starting /etc/rcS.d/S11video
Unknown HZ value! (76) Assume 100.
system: W S11chpriority:def:Cannot set priority for IRQ-7
system: I S11video:def:initializing eInk HAL for system use
system: I S11video:def:eink_debug=0
system: I S11video:def:Controller set to broads
system: I rcS:def:starting /etc/rcS.d/S20syslog-ng
system: I S20syslog-ng:def:starting syslog-ng
system: I rcS:def:starting /etc/rcS.d/S21init_time
system: I S21init_time:initboot:time=17220:boot time after init in milliseconds
system: I rcS:def:starting /etc/rcS.d/S45modules
system: I S45modules:def:loading module mwan
system: I S45modules:def:loading module g_file_storage
system: I S45modules:def:loading module fuse
system: I S45modules:def:loading module uinput
system: I S45modules:def:loading module mxc_keyb
system: I S45modules:def:loading module fiveway
system: I S45modules:def:loading module volume
system: I rcS:def:starting /etc/rcS.d/S50system
mount: mount point /proc/bus/usb does not exist
system: I rcS:def:starting /etc/rcS.d/S55scroll
system: I S55scroll:def:skipping; no luigi-based work to do here
system: I rcS:def:starting /etc/rcS.d/S70ethernet
system: I rcS:def:starting /etc/rcS.d/S70userstore
system: I S70ethernet:def:not enet
system: I S70ethernet:def:not usbnet
system: I S70userstore:def:Found SHUTDOWN flag file
system: I rcS:def:starting /etc/rcS.d/S79switch
Show menu
2
Run Kindle System
system: I mntroot:def:Making root filesystem writeable
mv: cannot rename ‘/etc/rc5.d/S96rundk’: No such file or directory
system: I mntroot:def:Making root filesystem read-only
Run Prog
Press a Key . Key Code : 16 .
Run DK program
system: I mntroot:def:Making root filesystem writeable
system: I mntroot:def:Making root filesystem read-only
system: I rcS:def:starting /etc/rcS.d/S90video
system: I S90video:def:initializing eInk HAL for rootfs use
INIT: Entering runlevel: 2
system: I lifeguard:def:starting eInk HAL lifeguard
system: I S40diags:def:not starting Diagnostic Services
system: I S40diags:def:/mnt/base-us/ENABLE_DIAGS does not exist, forcing diagnostic disable
system: I S50battcheck:def:running
Wed Nov 10 10:55:48 2010 INFO:battery voltage: 4127 mV
Wed Nov 10 10:55:48 2010 INFO:battery charge: 97%
system: I S50battcheck:def:current voltage = 4127mV
Wed Nov 10 10:55:48 2010 INFO:battery charge: 97%
Wed Nov 10 10:55:48 2010 INFO:battery voltage: 4127 mV
Wed Nov 10 10:55:48 2010 INFO:battery current: -113 mA
system: I S50battcheck:def:gasgauge capacity=97% volts=4127 mV current=-113 mA
system: I S50battcheck:def:Waiting for 3460mV or 4%
system: I S50battcheck:def:battery sufficient, booting to normal runlevel
INIT: Switching to runlevel: 5
INIT: Sending processes the TERM signal
system: I wifi:def:WiFi Device mac = 28:EF:01:44:C9:C4
Platform set to SHASTA_NATIVEMMC-SDIO
Platform Setup Script is: /opt/ar6k/host/support/platformscripts/plat_SHASTA_NATIVEMMC-SDIO.sh
Image path: /sbin
No debug record limit set
Load Board Data from /opt/ar6k/target/AR6002/hw2.0/bin/lab126_15dBm_nodiv_WWR_CTL.bin
Updating MAC address
BMI Set App Start (address: 0x913950)
BMI Bit-Wise (OR) modify Register (address: 0x500410, orig:0x8, new: 0x9, mask:0x1)
BMI Write compressed Memory (address: 0x502070, filename: /opt/ar6k/target/AR6002/hw2.0/bin/athwlan.bin.z77)
BMI Write Memory (address: 0x52d6d0, filename: /opt/ar6k/target/AR6002/hw2.0/bin/data.patch.hw2_0.bin)
BMI Write Memory (address: 0x500418, value: 0x52d6d0)
BMI Done
system: I wifi:def:loadAR6000 finished, args=()
system: I wpa_supplicant:def:wpa supplicant started
system: I S30network:def:initializing network configuration
system: I S30network:def:Installed Firewall
system: I S60dbus:def:starting system message bus
Starting Process Monitoring Daemon: Retrieved 127 keys for system/daemon/pmond/
Starting Power Management Daemon: system: I S70cmd:def:starting CMD daemon
system: I S70wifid:def:starting wifid
system: I S75phd:def:Starting Phone-Home Daemon
system: I S76mcsd:def:starting MCS server
system: I S80volumd:def:starting Volume daemon
system: I S85audio:def:initializing audio driver defaults
No state is present for card mx35luigi
system: I S85audio:def:starting audio server
system: I S87ttsd:def:starting TTS daemon
Battery Level: 97%
Wed Nov 10 10:55:59 2010 INFO:battery charge: 97%
system: I S90tmd:def:Starting Transfer Manager Daemon
system: I S90cron:def:starting crond
Starting lipc-daemon: wlan0 (WE) : Wireless Event too big (33)
system: I S94browserd:def:Starting Browser Daemon
system: I S95framework:def:starting booklet framework
Update DK
cp: cannot remove ‘/etc/init.d/usb_switch’: Read-only file system
system: I S95framework:def:logging reset type: soft
Run DK
Run DK
rm: cannot remove ‘/dev/viewinfodat1.txt’: No such file or directory
rm: cannot remove ‘/dev/viewinfodat.txt’: No such file or directory
do while /DK_System/ebook
killall: ebook: no process killed
start.sh: starting framework
1
system: I S96boot_finished:def:Boot finished script running
system: I S96boot_finished:symboot:time=46620:boot time before framework starts, in milliseconds
system: I mntroot:def:Making root filesystem writeable
system: I S99usbnet:def:usbnet is disabled
system: I mntroot:def:Making root filesystem read-only
DebugOff
switch usb state
use usb as storage
system: I mntroot:def:Making root filesystem read-only
sh: 0: unknown operand
Welcome to Kindle!
kindle login: system: I framework:def:stopping booklet framework
system: I start.sh:stop:signal=15,exitval=143:CVM stopped using SIGTERM
/mnt/base-us/DK_System/system/key/keymap.k
rm: cannot remove ‘/mnt/base-us/DK_Mbp/download.dat’: No such file or directory
REGISTER ????ニエ??
REGISTER ???????
Play thread running…
he chen prepare to out
Synth thread begin wait…
sh: syntax error: “(” unexpected
program: No such file or directory
program: No such file or directory
rm: cannot remove ‘/dev/activeevent’: No such file or directory
rm: cannot remove ‘/dev/usbevent’: No such file or directory
—-end—-

アンインストール方法について
中国語サイトが理解出来ないため、英語FAQでアンインストール方法を確認しますと、USBストレージにある”DK_System”、”DK_Documents”、”DK_Pictures”を削除してKindleをリブートするだけとあります。しかし、インストーラーを見ると、”/etc/rcS.d”、”/etc/rc5.d/”以下に起動スクリプトを追加していますので、クリーン・アンインストールするには、これらのディレクトリにある”S79switch”、”s96rundk”、”rundk.sh”、”S95dkupdate”も削除しなければなりません。これはシリアル接続環境、またはJailBreakしてusbNetworkハックを使うしかありません。

これらの起動スクリプトの中身をすべて確認したわけではありませんが、USBストレージにあるDuokan関連ディレクトリ以下のファイルだけを参照しているようですから、実質的にはこれらのスクリプトが残ってしまっても、関連ファイルが削除されていますのでKindle起動時には呼ばれても空回りするだけのため、問題が起こることはまずないと思います。もちろん、Kindle Software Versionのアップデート等で構成が変更になると影響が出る可能性は十分考えられますが。

動作環境
Kindle3 WIFI Software Version 3.0.3
Jailbreak Version 0.4 by NiLuJe
Duokan for Kindle3 Version 0.5.13.6613 (2010/11/06)

続きを読む [UPDATE2]多看 (Duokan) が Kindle3に魔法をかける

Kindle3 WIFI版を3.0.3にアップデート

Kindle3のソフトウエア・アップデートのプレビュー版が公開されていましたので適用しました。バージョンは3.0.3に上がります。バージョン3.0.2からの改善点は”general performance improvements”としか書かれていませんので具体的にどのような変更点があるのかは、私自身はまだ把握していません。


DSC00033

Kindle (Latest Generation) Software Update – Early Preview of Next Version 3.0.3 から自分のKindle3に必要なアップデータをダウンロードします。バージョン3.0.2と同様に”early preview”版のためOTA配信はせずに次のメジャーアップデートに向けてアーリーアダプターのフィードバックを集める狙いがあると思われます。

アップデートはダウンロードしたbinファイルをKindle3のUSBストレージに置いて、USB接続を解除後にHOME>Menu>Settings>Update Your Kindleを実行します。およそ10分くらいで終了します。完了してから設定画面を開くと右下には新しいバージョンであることを示す”3.0.3(536720111)”が表示されているはずです。

今回は既にJailBreakされている環境のKindle3 WIFIにそのまま3.0.3公式アップデータをそのまま適用してみましたので内容についてご紹介します。

KindleのJailBreakについて
システムの脆弱性を利用したexploitによりKindleに施されているセキュアな環境を破壊する可能性があります。またメーカー保証対象外となることも想定されますのでリスクを承知した上で自己責任で実施する必要があります。当該リスクの私見については「Kindle Jailbreak(Hack)の注意点に関する個人的メモ(未定稿)」をご一読ください。

バージョン3.0.3を適用する前のKindle3 WIFIの状態
Kindle3 WIFIのSoftware Versionは3.0.2の状態であり、Fonts & ScreenSavers hacks for Kindle 2.x & 3.x のkindle-jailbreak-0.3.N.zipにてJailBreak済みでした。その他、同サイトのkindle-usbnetwork-0.24.N.zipを適用したり、またマニュアル操作でスクリーンセーバーの画像ファイルを自分の画像に入れ替える程度です。

ハッカーによる新たな脆弱性を利用したexploitの発見
JailBreakツールを作ったハッカー(NiLuJe)は今回のアップデートが従来のシステムの脆弱性を塞ぐことを確認し、Kindle JBerに対して注意を呼びかけました。同時に、既に新たな脆弱性を発見してJailBreakが可能であることも公表しました。ただ、別のハッカーが異なる脆弱性を発見し、公表の準備をしている可能性もあることからすぐには公開していませんでした。それぞれが異なる脆弱性公表してしまうと、米Amazonが次回アップデートで両方塞いでしまう可能性が高く、次回以降に温存しておくという思惑がありました。

アップデート作業
3.0.3に上げてしまうと、usbnetworkハックで設定したシンボリックリンクが削除されてしまいます。スクリーンセーバーの画像を差し替えていましたが、そこはそのまま残っていました。USBストレージはそのままでも問題ありませんが、不安な方はUSBストレージ(/mnt/us/)の内容を母艦側にバックアップすることをお勧めします。

次にJailBreakします。先程のサイトからkindle-jailbreak-0.4.N.zipをダウンロードして解凍すると機種ごとにアップデータが分かれていますので必要なファイルをUSBストレージに格納、適用します。さらに、同サイトからkindle-usbnetwork-0.27.N.zipを入手し、当該機種に必要なアップデータを適用します。結果、全く問題なく動作しました。

今回の作業で驚いたのは、アンインストールしなくても問題ないことです。適用していたハックがUSBNetworkなので文鎮化するようなリスクが高いものではないのですが、何も気にせずにインストールしていくだけという手軽さに驚きました。そこまでハッカーが熟成させてくれたということに感謝です。

ログについて
アップデータを3回実施しています。参考までにログを公開いたします。興味のある方はどうぞ。
オフィシャル・アップデータの適用:http://www.mediafire.com/?3ld02ucuy5toda3
JailBreak-0.4の適用:http://www.mediafire.com/?akvto7yi7ybpbr5
usbnetwork-0.27の適用:http://www.mediafire.com/?cz7tc37e2e8smm3

[UPDATE3]【Kindle3要JB】USB/WIFI接続からrootでログインするハック

USB接続からKindle3のシステム内にrootでログインするハックです。おそらく、ほとんどの方には興味がない内容かもしれませんが、これを利用するとフォントやスクリーンセーバー変更以外もいろいろとシステム内部を変更することが可能になります。手元にはKindle3 WIFI版(シリアル番号B008)のため、Kindle3 WIFI+3GのUS版またはUK版については実機での確認が出来ていません。

JailBreakが必要になりますので、当該リスクについては「Kindle Jailbreak(Hack)の注意点に関する個人的メモ(未定稿)」をご一読ください。このハックは重複インストールしても文鎮化しないように工夫されておりますが、このハックを利用するとシステム内部を変更することができてしまいますので、その意味ではあまり知識のない方がシステム関係ファイルを操作してしまうと文鎮化するリスクが一気に高まります。

なお、このエントリが当該ハックのすべてを網羅しているわけではありません。またハックファイルの内容が日々アップデートされていますので随時更新を予定しています。

iPhoneからでもWIFI経由でKindle3にログインが可能
IMG_0330

インストール手順
1. Fonts & ScreenSavers hacks for Kindle 2.5からkindle-jailbreak-0.3.N.zipをダウンロードします。解凍するとインストーラー、アンインストーラーが解凍されますので、機種に応じたインストーラーをKindle3のマス・ストレージに置いてSettings>Update Your Kinldeで適用します。Kindle3 WIFI版は”k3w”のものを使用。適合しないインストーラーは、「Update Your Kindle」が非活性状態のため選択できないはずです。そうなった場合は違う機種のものを入れてしまっている可能性がありますので確認してください。

2. 同じサイトからkindle-usbnetwork-0.23.N.zipをダウンロード、解凍、適用してください。

3. これでインストールが完了し、マス・ストレージには”usbnet”のディレクトリが出来ています。必要なファイルは全てこの中に格納され、必要に応じてシステム内部にシンボリックリンクが設定されています。

アンインストール手順
同梱されているアンインストーラーをKinlde3のマス・ストレージに置いて「Update Your Kindle」するだけです。完全に消去する場合は、マス・ストレージの”usbnet”ディレクトリを削除します。

何ができるのか?
Kindle3のシステム内部にrootでログインするためには、シリアルコンバーターやリード線でドングルを自作してシリアル接続する必要がありましたが、このハックによりUSB接続またはWIFI接続から簡単にrootでログインすることが可能になります。このハックはKindle3に対応した他、周辺機能に改善が加えられています。次のような特長があります。

  • USB/WIFI接続でtelnet、sshの利用が可能
  • SFTP接続がサポートされているのでCyberduckやWinSCPも利用可能
  • usbNetworkモードのオン、オフが可能
  • rsycn、htopがバンドル
  • 公開鍵認証が可能
  • usbNetworkモードの優先設定

バンドルされたhtopを実行してみたところ(iPad上で)
IMG_0147

利用方法
USB接続すると”USB Drive Mode”になりますので、解除してHOME画面にします。DELキーを押すと画面下には検索バーがでますので、Symキーで特殊文字を組み合わせて”;debugON“と入力し、つづけて”~usbNetwork“と入力します。これでUSB接続モードに入りました。あとはtelnet、sshなどでターミナルソフトから接続するだけです。

初めて利用する場合には、まずrootのパスワードを変更します。Kindle3は購入時の状態でrootパスワードが設定されていますが、デフォルトのパスワードはハッシュのためそのままでは役に立ちません(詳しいひとであれば解析が可能なのでしょうか?)ので、自分のパスワードに変更しておく必要があります。これをサポートするため、USBNetハックのtelnetはパスワード認証をバイパスしてrootでログインできるようになっています。

[root@kindle root]# mntroot rw
[root@kindle root]# passwd

これでパスワードを変更しておきます。telnetは初回だけのログインに使用したほうが良いと思います。USBケーブル接続時であれば、外部からの侵入の心配は殆どありませんが、公衆無線LAN等のように不特定多数のユーザがアクセスするネットワークでは、IPアドレスだけでrootでのログインを許してしまいますのでWIFI接続時にtelnetを利用出来る状態は非常に危険です。詳しくは後述いたします。

USB接続の場合
ターミナルソフトからtelnetやsshコマンドでIPアドレス192.168.2.2に接続します。このとき、USB接続元の母艦側は192.168.2.1に設定されている必要があります。Windowsマシンの場合、RNDISのネットワークドライバのインストールが必要かもしれません(Kindle2iでは必要だったようです)。

WIFI接続の場合
ターミナルソフトからtelnet、sshコマンドで母艦側と同一ネットワーク内にあるKindle3に割り当てられているIPアドレスに接続します。Kindle3側のIPアドレスを確認するには、Settings画面で711コマンドを使用します。Settings画面でSymキーが利用できませんので直接数字を入力することができません。Alt+U、Alt+Q、Alt+Qで入力すると、WIFI接続情報が確認できます。

SFTP接続する場合
USB経由、WIFI経由のいずれでも母艦からKindle3にSFTP接続が可能です。IPアドレスはUSB経由か、WIFI経由かで異なります。

Cybderduckで接続したところ
mac-kindle3-cyberduck

usbNetwork接続の優先設定
通常、Kindle3を母艦とUSB接続するとUSB Drive Modeに切り替わり、母艦の外部ストレージとしてマウントされますが、USBNet接続を優先させることができます。こうすることで起動時から”;debugOn”と”~usbNetwork”のコマンドを入力することなくWIFI経由で接続が可能になります。またUSB経由Ethernet接続であればUSBケーブルで接続したときに、ドライブモードに入らずに直ちにtelnet/sshできるようになります。

設定方法は予め用意されている”DISABLED_auto”というファイルを”auto”にファイル名を変更して再起動するだけです。もとに戻すときには”auto”以外のファイル名に変更して再起動で通常のドライブモード優先に戻すことができます。USBNetモードの優先状態でドライブモードに入れる場合は、検索バーに”;debugOn”、”~usbNetwork”を入力します。またUSBNetモードに切り替えるには”~usbNetwork”を入力するだけです。

注意事項
WIFI経由での接続は非常に便利ですが、公衆無線LANを利用する場合はセキュリティに気を配ってください。設定次第では容易にログインを許す可能性があります。不特定多数が接続できるような場所では以下のような予防措置をお勧めします。

telnetの利用を制限する
このハックはtelnet接続する場合、認証がなくroot権限、かつmntroot rwの状態でログインしてしまいます(←Ver0.24で改善されました)。telnetは暗号化なしに通信するためセキュリティの面で不安が残りますので、初回ログインしてrootパスワードを変更を済ませた後はWIFI経由によるtelnetを不許可にしておくべきです。このような制限を施すには、このハックで用意されている”/mnt/us/usbnet/etc/config”という設定ファイルに K3_WIFI=”true” を設定します(デフォルトはfalse)。母艦側のエディタで編集するのもよいのですが、文字エンコードや改行コードの問題が生じぬよう、ターミナルソフト上でそのままviエディタを使って編集する方が良いと思います。

使用後はusbNetworkモードをオフにする
検索バーに再び”~usbNetwork“と入力することでusbNetworkモードを解除できます。または、ターミナルソフト上から”/mnt/us/usbnet/bin/usbnetwork”と入力してもusbNetworkモードのオン・オフの切替が可能です(オンにするにはシリアル接続経由のみ可能)。USBケーブルを接続している場合は、USB Drive Modeに切り替わりますので、USBケーブルを抜き差しすることなく母艦側で外部ストレージとして認識させることが可能です。

念のため、”;debugOff“としておくとよいと思います。。以前はusbNetworkモードをオフにする場合はリブートするしかありませんでしたが、大変便利になりました。

シリアル接続との違い
USBNetハックはWIFI接続が可能という点ではシリアル接続よりも便利です。しかしながら接続の確実性という点ではシリアル接続が有線のため安心ですし、このハックではリカバリーモード、ubootモードに入ることができませんのでシリアル接続が必要になります。また、リブート時にはKindle側で電源を完全にオフにしますのでWIFI接続が解除されてしまいますから、再接続するまでのログを確認することが出来ません。

また、シリアル接続は文鎮化したKindle3をリカバリーできますが、このハックは正常に起動したKindle3の状態で初めて利用可能になりますので、上記の点を含めシリアル接続を代替するものではないことに注意してください。

変更履歴—
[2010年10月1日]初回利用時にはtelnetでパスワード認証をバイバスしてログインのうえパスワードを変更することを追記
[2010年10月3日]
・Ver0.23になってUSBNetモード優先が正常動作するようになったので追記
・htopコマンドのカラー対応の画像差し替え
[2010年10月17日]
・Ver0.24の修正
・telnetでもread-only状態でログインするよう修正されたので追記

Kindle3 WIFI版を3.0.2にアップデート

Kindle3の次期ソフトウエアのアップデートの提供が開始されていましたのでダウンロードして適用してみました。バージョンは3.0.2に上がります。


IMG_0967

Kindle (Latest Generation) Software Update – Early Preview of Next Version 3.0.2 から自分のKindle3に必要なアップデータをダウンロードします。

次に、母艦と接続しアップデータをKindle USB Storageにコピーして、USB接続を解除します。KindleのHOME>Menu>Settings>Menu>Update Your Kindleを実行します。10分程度で完了します。Settings画面の右下にはバージョンが3.0.2(529960105)へと更新されています。

Webブラウザと全般的なパフォーマンスの改善が図られているようです。”early preview”版のためOTA配信はせずに次のメジャーアップデートに向けてアーリーアダプターのフィードバックを集める狙いがあると思われます。

アップデートのログは以下のとおりです。シリアル番号だけダミーにしてあります。

system: I start.sh:stop:signal=15,exitval=143:CVM stopped using SIGTERM
INIT: Switching to runlevel: 3
system: I K05framework:def:stopping booklet framework
com.lab126.powerd failed to access property state (0x3 lipcErrNoSuchSource)
system: I K06browserd:def:Stopping Browser Daemon
system: I K10cron:def:stopping crond
start-stop-daemon: lseek: Invalid argument
Stopping lipc-daemon: system: I K10tmd:def:Stopping Transfer Manager Daemon
system: I K15audio:def:stopping audio server
system: I K17ttsd:def:stopping TTS daemon
system: I K20volumd:def:stopping Volume daemon
system: I K25phd:def:Stopping Phone-Home Daemon
system: I K30cmd:def:stopping CMD daemon
system: I K30wifid:def:stopping wifid
Stopping Power Management Daemon: stopped /usr/bin/wpa_supplicant (pid 28666)
system: W wpa_supplicant:def:wpa supplicant stopped
system: I wifi:def:WiFi Device mac = 28:EF:01:44:C9:C4
Platform set to SHASTA_NATIVEMMC-SDIO
Platform Setup Script is: /opt/ar6k/host/support/platformscripts/plat_SHASTA_NATIVEMMC-SDIO.sh
Image path: /sbin
..unloading all
system: I wifi:def:loadAR6000 finished, args=(unloadall)
system: I K76mcsd:def:stopping MCS server
Stopping Process Monitoring Daemon: system: I K85dbus:def:stopping system message bus
system: I mntroot:def:Making root filesystem read-only
system: I S50updater:def:updater started
system: I S50updater:def:Waiting for wand to shutdown
system: I S50updater:def:wand shutdown complete
system: I S50updater:def:read bundle line [/mnt/us/Update_kindle_3.0.2_B008.bin]
system: I S50updater:def:Applying update /mnt/us/Update_kindle_3.0.2_B008.bin
system: I S50updater:def:Size of update: 5145180 bytes
system: I S50updater:def:Version before update: 101-shasta0.5-052512
system: I mntroot:def:Making root filesystem writeable
system: I _otaupexec:def:processing update /mnt/us/Update_kindle_3.0.2_B008.bin
4+0 records in
4+0 records out
system: I _otaupexec:def:version is “FC02”
32+0 records in
32+0 records out
80392+1 records in
80392+1 records out
system: I _otaupexec:def:update image checksum OK
update-Update_515460094-529960105.dat
111111111-k3.ffs
111111111-k3.ffs.sig
Update_515460094-529960105.bin
80392+1 records in
80392+1 records out
Update_515460094-529960105.bin.sig
update-Update_515460094-529960105.dat.sig
ota_install: I def:cotu::copy OTA to userstore
ota_install: I def:lis::load init script
system: I mntroot:def:Making root filesystem writeable
system: I mntroot:def:Making root filesystem read-only
ota_install: I def:rebooting::rebooting device
Broadcast message from root (Sun Sep 19 09:52:46 2010):
The system is going down for reboot NOW!
INIT: Switching to runlevel: 6
INIT: Sending processes the TERM signal
INIT: Sending processes the KILL signasystem: I K04framework:def:stopping booklet framework
com.lab126.powerd failed to open lipc for state event
system: I K06browserd:def:Stopping Browser Daemon
com.lab126.pmond failed to open lipc for stop event
killall: browserd: no process killed
system: I K10cron:def:stopping crond
start-stop-daemon: lseek: Invalid argument
Stopping lipc-daemon: system: I K10tmd:def:Stopping Transfer Manager Daemon
com.lab126.pmond failed to open lipc for stop event
system: I K15audio:def:stopping audio server
com.lab126.pmond failed to open lipc for stop event
system: I K17ttsd:def:stopping TTS daemon
com.lab126.pmond failed to open lipc for stop event
Failed to open LIPC
com.lab126.hal failed to send event usbUnconfigured
com.lab126.volumd failed to open lipc for driveModeState event
sh: 0: unknown operand
system: I K19userstore:def:Found BOOTUP flag file
system: I K20volumd:def:stopping Volume daemon
com.lab126.pmond failed to open lipc for stop event
system: I K25phd:def:Stopping Phone-Home Daemon
com.lab126.pmond failed to open lipc for stop event
Stopping Power Management Daemon: com.lab126.pmond failed to open lipc for stop event
no /usr/bin/wpa_supplicant found; none killed
system: W wpa_supplicant:def:wpa supplicant stopped
system: I wifi:def:WiFi Device mac = 28:EF:01:44:C9:C4
Platform set to SHASTA_NATIVEMMC-SDIO
Platform Setup Script is: /opt/ar6k/host/support/platformscripts/plat_SHASTA_NATIVEMMC-SDIO.sh
Image path: /sbin
..unloading all
ERROR: Removing ‘ar6000’: No such file or directory
killall: recEvent: no process killed
system: I wifi:def:loadAR6000 finished, args=(unloadall)
system: I K76mcsd:def:stopping MCS server
com.lab126.pmond failed to open lipc for stop event
Stopping Process Monitoring Daemon: system: I K85dbus:def:stopping system message bus
system: I K90video:def:stopping eInk HAL lifeguard
system: I K98sdtime_stop:sdtime:time=5340:shutdown time in milliseconds
system: I K99syslog-ng:def:stopping syslog-ng
system: I tinyrot:def::Rotating file /var/log/messages with max size 256
/usr/sbin/tinyrot : Signaling syslog
killall: syslog-ng: no process killed
system: W tinyrot:def:Failed to HUP syslog
killall: syslog-ng: no process killed
/usr/sbin/tinyrot : Calculating total size /var/local/log/messages_*.gz
/usr/sbin/tinyrot : Total size of /var/local/log/messages_*.gz is 225kb
Rebooting in 1 second…
MMC: killing requests for dead queue
end_request: I/O error, dev mmcblk0, sector 900722
EXT3-fs error (device mmcblk0p1): ext3_find_entry: reading directory #12184 offset 0
MMC: killing requests for dead queue
end_request: I/O error, dev mmcblk0, sector 901782
EXT3-fs error (device mmcblk0p1): ext3_find_entry: reading directory #12184 offset 1
Restarting system.
Unhandled fault: external abort on non-linefetch (0x008) at 0x00020178
U-Boot 1.3.0-rc3-lab126 (Jul 31 2010 – 01:08:40)
CPU: Freescale i.MX35 at 532 MHz
Board: MX35 Luigi [ POR]
WDOG_WCR = 0xff31
WDOG_WMCR = 0x0
Board Id: SP1B000000000000
S/N: B008A0A_________
DRAM: 256 MB
Using default environment
In: serial
Out: serial
Err: serial
No ethernet found.
i.MX35 CPU board version 2.0
Net: No ethernet found.
Hit any key to stop autoboot: 0
## Booting image at 87f40400 …
Image Name: Linux-2.6.26-rt-lab126
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2147012 Bytes = 2 MB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum … OK
Loading Kernel Image … OK
Starting kernel …
Uncompressing Linux…………………………………………………………………………………………………………. done, bo.
boot: I def:rbt:Device Reboot Encountered:
2.6.26-rt-lab126 #5 Sun Aug 29 19:01:34 PDT 2010 armv6l
INFO:Using default keypad setting. (not passing “kb_rev” to module)
INFO:Loaded module /lib/modules/mxc_keyb.ko (22508 bytes)
Press [ENTER] for recovery menu… 0 /INFO:Partition table verified for /dev/mmcblk0
INFO:Checking for updates… (auto-pilot mode)
/dev/mmcblk0p4:
CHS=4/16/101575 size=3328409600 bytes
flag type first last lba first lba size
Partition p1:
0x00 0x0b 16 16 6500784
CHS: 0/1/1 –
Partition p2:
Partition p3:
Partition p4:
INFO:Setup loop device /dev/loop0 for /dev/mmcblk0p4 + 8192
INFO:No update*.bin found; no update needed.
INFO:no updates found.
BOOTING DEFAULT.
argc == 9
argv[0]: “kinit”
argv[1]: “console=ttymxc0,115200”
argv[2]: “mem=256M”
argv[3]: “panic=10”
argv[4]: “root=/dev/mmcblk0p1”
argv[5]: “ro”
argv[6]: “ip=none”
argv[7]: “quiet”
argv[8]: “lpj=2555904”
Running ipconfig
argc == 4
argv[0]: “IP-Config”
argv[1]: “-i”
argv[2]: “Linux kinit”
argv[3]: “ip=none”
IP-Config: no devices to configure
kinit: do_mounts
kinit: name_to_dev_t(/dev/mmcblk0p1) = dev(179,1)
kinit: root_dev = dev(179,1)
kinit: /dev/root appears to be a ext3 filesystem
kinit: trying to mount /dev/root on /root with type ext3
kinit: Mounted root (ext3 filesystem) readonly.
Checking for init: /sbin/init
Checking for init: /bin/init
Checking for init: /etc/init
Checking for init: /sbin/init.sysvinit
INIT: version 2.86 booting
system: I rcS:def:starting /etc/rcS.d/S02kdb
system: I S02kdb:def:Setting boot device to mmcblk0
kdb set: ‘system/driver/filesystem/DEV_ROOT’
system: I rcS:def:starting /etc/rcS.d/S03udev
system: I S03udev:def:setting up virtual fs for hotplug event handling
system: I S03udev:def:starting the hotplug events dispatcher
system: I S03udev:def:synthesizing initial hotplug events
lipc-send-event[379]: E lipc:con::Connection error(Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory)
lipc-send-event[379]: C def:dbusi::Failed to init dbus
lipc-send-event[379]: E def:open::Failed to open LIPC
lipc-send-event[379]: E def:fail:source=com.lab126.hal, event=usbPlugIn:Sending event failed
lipc-send-event[473]: E lipc:con::Connection error(Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory)
lipc-send-event[473]: C def:dbusi::Failed to init dbus
lipc-send-event[473]: E def:open::Failed to open LIPC
lipc-send-event[473]: E def:fail:source=com.lab126.hal, event=audioHS:Sending event failed
system: I rcS:def:starting /etc/rcS.d/S04rootfsresize
system: I S04rootfsresize:def:No rootfs on /dev/mmcblk0p1 resizing needed
system: I rcS:def:starting /etc/rcS.d/S10filesystems
system: I rcS:def:starting /etc/rcS.d/S10hostname
system: I rcS:def:starting /etc/rcS.d/S10network
system: I S10hostname:def:setting device hostname
system: I S10filesystems:def:mounting filesystems
system: I S10network:def:initializing network configuration
system: I S10network:def:Installed Firewall
system: I rcS:def:starting /etc/rcS.d/S11chpriority
system: I rcS:def:starting /etc/rcS.d/S11video
Unknown HZ value! (91) Assume 100.
system: W S11chpriority:def:Cannot set priority for IRQ-7
system: I S11video:def:initializing eInk HAL for system use
system: I S11video:def:eink_debug=0
system: I S11video:def:Controller set to broads
system: I rcS:def:starting /etc/rcS.d/S20syslog-ng
system: I S20syslog-ng:def:starting syslog-ng
system: I rcS:def:starting /etc/rcS.d/S21init_time
system: I S21init_time:initboot:time=17640:boot time after init in milliseconds
system: I rcS:def:starting /etc/rcS.d/S45modules
system: I S45modules:def:loading module mwan
system: I S45modules:def:loading module g_file_storage
system: I S45modules:def:loading module fuse
system: I S45modules:def:loading module uinput
system: I S45modules:def:loading module mxc_keyb
system: I S45modules:def:loading module fiveway
system: I S45modules:def:loading module volume
system: I rcS:def:starting /etc/rcS.d/S50system
mount: mount point /proc/bus/usb does not exist
system: I rcS:def:starting /etc/rcS.d/S55scroll
system: I S55scroll:def:skipping; no luigi-based work to do here
system: I rcS:def:starting /etc/rcS.d/S70ethernet
system: I rcS:def:starting /etc/rcS.d/S70userstore
system: I S70ethernet:def:not enet
system: I S70ethernet:def:not usbnet
system: I S70userstore:def:Found SHUTDOWN flag file
system: I rcS:def:starting /etc/rcS.d/S90video
system: I S90video:def:initializing eInk HAL for rootfs use
INIT: Entering runlevel: 2
system: I lifeguard:def:starting eInk HAL lifeguard
system: I S40diags:def:not starting Diagnostic Services
system: I S40diags:def:/mnt/base-us/ENABLE_DIAGS does not exist, forcing diagnostic disable
system: I S50battcheck:def:running
Sun Sep 19 09:54:07 2010 INFO:battery voltage: 4148 mV
Sun Sep 19 09:54:07 2010 INFO:battery charge: 96%
system: I S50battcheck:def:current voltage = 4151mV
Sun Sep 19 09:54:07 2010 INFO:battery charge: 96%
Sun Sep 19 09:54:07 2010 INFO:battery voltage: 4148 mV
Sun Sep 19 09:54:07 2010 INFO:battery current: -159 mA
system: I S50battcheck:def:gasgauge capacity=96% volts=4148 mV current=-159 mA
system: I S50battcheck:def:Waiting for 3460mV or 4%
system: I S50battcheck:def:battery sufficient, booting to normal runlevel
INIT: Switching to runlevel: 5
INIT: Sending processes the TERM signal
system: I wifi:def:WiFi Device mac = 28:EF:01:44:C9:C4
Platform set to SHASTA_NATIVEMMC-SDIO
Platform Setup Script is: /opt/ar6k/host/support/platformscripts/plat_SHASTA_NATIVEMMC-SDIO.sh
Image path: /sbin
No debug record limit set
Load Board Data from /opt/ar6k/target/AR6002/hw2.0/bin/lab126_15dBm_nodiv_WWR_CTL.bin
Updating MAC address
BMI Set App Start (address: 0x913950)
BMI Bit-Wise (OR) modify Register (address: 0x500410, orig:0x8, new: 0x9, mask:0x1)
BMI Write compressed Memory (address: 0x502070, filename: /opt/ar6k/target/AR6002/hw2.0/bin/athwlan.bin.z77)
BMI Write Memory (address: 0x52d6d0, filename: /opt/ar6k/target/AR6002/hw2.0/bin/data.patch.hw2_0.bin)
BMI Write Memory (address: 0x500418, value: 0x52d6d0)
BMI Done
system: I wifi:def:loadAR6000 finished, args=()
system: I wpa_supplicant:def:wpa supplicant started
system: I mntroot:def:Making root filesystem writeable
system: I otaup:def:processing update /mnt/base-us/Update_515460094-529960105.bin
4+0 records in
4+0 records out
system: I otaup:def:version is “FC02”
32+0 records in
32+0 records out
80343+1 records in
80343+1 records out
system: I otaup:def:update image checksum OK
update-06-515460094-529960105.dat
515460094-529960105.ffs
06/update-06-515460094-525120101.bin
06/update-06-515460094-525120101.bin.sig
06/update-06-525120101-529960105.bin
06/update-06-525120101-529960105.bin.sig
515460094-529960105.ffs.sig
kernels/525120101-kernel.tar.gz
kernels/525120101-kernel.tar.gz.sig
kernels/529960105-kernel.tar.gz
80343+1 records in
80343+1 records out
kernels/529960105-kernel.tar.gz.sig
support.tar.gz
support.tar.gz.sig
update-06-515460094-529960105.dat.sig
support/
support/functions
support/kernel-flash
kernels/
kernels/kernels.dat
otaup
webupdate: I def:webupdate::hop path: update-06-525120101-529960105.bin 529960105-kernel.tar.gz
webupdate: I def:webupdate::removing bundles from userstore
webupdate: I def:webupdate::removing un-necessary device updates
webupdate: I def:webupdate::removing directory 515460094-529960105.ffs
webupdate: I def:webupdate::removing directory 515460094-529960105.ffs.sig
webupdate: I def:webupdate::removing file 06/update-06-515460094-525120101.bin
webupdate: I def:webupdate::removing file 06/update-06-515460094-525120101.bin.sig
webupdate: I def:webupdate::removing file 06/update-06-525120101-529960105.bin.sig
webupdate: I def:webupdate::removing file kernels/525120101-kernel.tar.gz
webupdate: I def:webupdate::removing file kernels/525120101-kernel.tar.gz.sig
webupdate: I def:webupdate::removing file kernels/529960105-kernel.tar.gz.sig
mv: cannot preserve ownership of ‘/mnt/base-us/system/update.2205/kernels/kernels.dat’: Operation not permitted
mv: cannot preserve ownership of ‘/mnt/base-us/system/update.2205/kernels/529960105-kernel.tar.gz’: Operation not permitted
mv: cannot preserve ownership of ‘/mnt/base-us/system/update.2205/kernels’: Operation not permitted
mv: cannot preserve ownership of ‘/mnt/base-us/system/update.2205/06/update-06-525120101-529960105.bin’: Operation not permitted
webupdate: I def:webupdate::stage 1 of 2 : update-06-525120101-529960105.bin
system: I 515460094-529960105.ffs:def:drawing: eips 36 38 “stage 1 of 2”
system: I mntroot:def:Making root filesystem writeable
system: I otaup:def:processing update /mnt/base-us/system/update.2205/06/update-06-525120101-529960105.bin
4+0 records in
4+0 records out
system: I otaup:def:version is “FC02”
32+0 records in
32+0 records out
3513+1 records in
3513+1 records out
system: I otaup:def:update image checksum OK
system: I otaup:def:drawing: eips 36 38 “stage 1 of 2″
update-06-525120101-529960105.dat
525120101-529960105.ffs
777777777-log.ffs
rootfs_md5_list.tar.gz
rootfs_md5_list.tar.gz.sig
525120101-529960105.ffs.sig
777777777-log.ffs.sig
update-06-525120101-529960105.dat.sig
update-adds.tar.gz
update-adds.tar.gz.sig
update-patches.tar.gz
3513+1 records in
3513+1 records out
update-patches.tar.gz.sig
cat: can’t open ‘/tmp/lastsentfile’: No such file or directory
rm: cannot remove ‘/tmp/lastsentfile’: No such file or directory
000.busybox.patch
001.prettyversion.txt.patch
002.version.txt.patch
003.ar6000.ko.patch
004.eink_fb_hal_broads.ko.patch
005.AudiblePlayer.jar.patch
006.AudioPlayer.jar.patch
007.Browser.jar.patch
008.Home.jar.patch
009.Journal-update.jar.patch
010.KindletBooklet-1.1.jar.patch
011.MobiReader.jar.patch
012.msp.jar.patch
013.PictureViewer.jar.patch
014.Search.jar.patch
015.XymlBooklet.jar.patch
016.backport-util-concurrent-3.1.jar.patch
017.booklet.jar.patch
018.framework-api.jar.patch
019.framework-impl.jar.patch
020.jdbm.jar.patch
021.json.jar.patch
022.KindleDeviceServicesAbstraction-1.0.jar.patch
023.KindleDeviceServicesShasta-1.0.jar.patch
024.KindleGUIAbstraction-1.0.jar.patch
025.KindleGUIShasta-1.0.jar.patch
026.Kindlet-1.1.jar.patch
027.KindletImplementation-1.1.jar.patch
028.kxml2.jar.patch
029.MobiCore-impl.jar.patch
030.MobipocketCoreReader.jar.patch
031.PDFReader-impl.jar.patch
032.portability-impl.jar.patch
033.portability.jar.patch
034.ReaderSDK.jar.patch
035.SearchSDK.jar.patch
036.utilities.jar.patch
037.xyml.jar.patch
038.browserd.patch
039.curl.patch
040.curl-config.patch
041.fc-cache.patch
042.fc-cat.patch
043.fc-list.patch
044.fc-match.patch
045.kdb_static.patch
046.ntpdate.patch
047.pango-querymodules.patch
048.preload_static.patch
049.xd.patch
050.xslt-config.patch
051.xsltproc.patch
052.cvm.patch
053.basis.jar.patch
054.charsets.jar.patch
055.jaas.jar.patch
056.libdbusjni.so.patch
057.libjniaudible.so.patch
058.libTopaz.so.patch
059.localedata.jar.patch
060.libasound_module_pcm_retune.so.0.0.0.patch
061.libdirectfb_linux_input.so.patch
062.libidirectfbfont_default.so.patch
063.libidirectfbfont_dgiff.so.patch
064.libidirectfbfont_ft2.so.patch
065.libidirectfbimageprovider_dfiff.so.patch
066.libidirectfbimageprovider_gif.so.patch
067.libidirectfbimageprovider_jpeg.so.patch
068.libidirectfbimageprovider_png.so.patch
069.libidirectfbvideoprovider_gif.so.patch
070.libdirectfb_devmem.so.patch
071.libdirectfb_fbdev.so.patch
072.libdirectfbwm_default.so.patch
073.libenchant_ispell.so.patch
074.libenchant_myspell.so.patch
075.libpixmap.so.patch
076.im-am-et.so.patch
077.im-cedilla.so.patch
078.im-cyrillic-translit.so.patch
079.im-inuktitut.so.patch
080.im-ipa.so.patch
081.im-multipress.so.patch
082.im-thai.so.patch
083.im-ti-er.so.patch
084.im-ti-et.so.patch
085.im-viqr.so.patch
086.libpixbufloader-ani.so.patch
087.libpixbufloader-icns.so.patch
088.libpixbufloader-ico.so.patch
089.libpixbufloader-pcx.so.patch
090.libpixbufloader-pnm.so.patch
091.libpixbufloader-ras.so.patch
092.libpixbufloader-tga.so.patch
093.libpixbufloader-wbmp.so.patch
094.libpixbufloader-xbm.so.patch
095.libprintbackend-file.so.patch
096.libprintbackend-lpr.so.patch
097.libferret.so.patch
098.libgail.so.patch
099.libatk-1.0.so.0.2609.1.patch
100.libcairo.so.2.10800.6.patch
101.libcurl.so.5.1.1.patch
102.libdirect-1.2.so.0.0.0.patch
103.libdirectfb-1.2.so.0.0.0.patch
104.libelektra-cpp.so.0.0.0.patch
105.libenchant.so.1.4.2.patch
106.libexslt.so.0.8.13.patch
107.libfontconfig.so.1.3.0.patch
108.libfreetype.so.6.3.20.patch
109.libfusion-1.2.so.0.0.0.patch
110.libgailutil.so.18.0.1.patch
111.libgcrypt.so.11.5.2.patch
112.libgdk-directfb-2.0.so.0.1600.5.patch
113.libgdk_pixbuf-2.0.so.0.1600.5.patch
114.libgnutls-extra.so.26.14.11.patch
115.libgnutls-openssl.so.26.14.11.patch
116.libgnutls.so.26.14.11.patch
117.libgnutlsxx.so.26.14.11.patch
118.libgtk-directfb-2.0.so.0.1600.5.patch
119.libpango-1.0.so.0.2400.5.patch
120.libpangocairo-1.0.so.0.2400.5.patch
121.libpangoft2-1.0.so.0.2400.5.patch
122.libsoup-2.4.so.1.3.0.patch
123.libtag_c.so.0.0.0.patch
124.libtag.so.1.5.0.patch
125.libwebkit-1.0.so.2.5.0.patch
126.libxslt.so.1.1.17.patch
127.pango-arabic-fc.so.patch
128.pango-arabic-lang.so.patch
129.pango-basic-fc.so.patch
130.pango-hangul-fc.so.patch
131.pango-hebrew-fc.so.patch
132.pango-indic-fc.so.patch
133.pango-indic-lang.so.patch
134.pango-khmer-fc.so.patch
135.pango-syriac-fc.so.patch
136.pango-thai-fc.so.patch
137.pango-tibetan-fc.so.patch
138.pppd.patch
139.tmd.patch
140.updatetime.patch
base2/etc/sysconfig/ALLOW_CVM_RESET
ota_install: I def:patch:patchinfo=”/bin/busybox”:patching file
ota_install: I def:patch:patchinfo=”/etc/prettyversion.txt”:patching file
ota_install: I def:patch:patchinfo=”/etc/version.txt”:patching file
ota_install: I def:patch:patchinfo=”/lib/modules/2.6.26-rt-lab126/kernel/drivers/net/wireless/ath6k22.133/ar6000.ko”:patching file
ota_install: I def:patch:patchinfo=”/lib/modules/2.6.26-rt-lab126/kernel/drivers/video/eink/hal/eink_fb_hal_broads.ko”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/booklet/AudiblePlayer.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/booklet/AudioPlayer.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/booklet/Browser.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/booklet/Home.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/booklet/Journal-update.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/booklet/KindletBooklet-1.1.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/booklet/MobiReader.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/booklet/msp.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/booklet/PictureViewer.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/booklet/Search.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/booklet/XymlBooklet.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/lib/backport-util-concurrent-3.1.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/lib/booklet.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/lib/framework-api.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/lib/framework-impl.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/lib/jdbm.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/lib/json.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/lib/KindleDeviceServicesAbstraction-1.0.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/lib/KindleDeviceServicesShasta-1.0.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/lib/KindleGUIAbstraction-1.0.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/lib/KindleGUIShasta-1.0.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/lib/Kindlet-1.1.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/lib/KindletImplementation-1.1.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/lib/kxml2.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/lib/MobiCore-impl.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/lib/MobipocketCoreReader.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/lib/PDFReader-impl.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/lib/portability-impl.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/lib/portability.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/lib/ReaderSDK.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/lib/SearchSDK.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/lib/utilities.jar”:patching file
ota_install: I def:patch:patchinfo=”/opt/amazon/ebook/lib/xyml.jar”:patching file
ota_install: I def:patch:patchinfo=”/usr/bin/browserd”:patching file
ota_install: I def:patch:patchinfo=”/usr/bin/curl”:patching file
ota_install: I def:patch:patchinfo=”/usr/bin/curl-config”:patching file
ota_install: I def:patch:patchinfo=”/usr/bin/fc-cache”:patching file
ota_install: I def:patch:patchinfo=”/usr/bin/fc-cat”:patching file
ota_install: I def:patch:patchinfo=”/usr/bin/fc-list”:patching file
ota_install: I def:patch:patchinfo=”/usr/bin/fc-match”:patching file
ota_install: I def:patch:patchinfo=”/usr/bin/kdb_static”:patching file
ota_install: I def:patch:patchinfo=”/usr/bin/ntpdate”:patching file
ota_install: I def:patch:patchinfo=”/usr/bin/pango-querymodules”:patching file
ota_install: I def:patch:patchinfo=”/usr/bin/preload_static”:patching file
ota_install: I def:patch:patchinfo=”/usr/bin/xd”:patching file
ota_install: I def:patch:patchinfo=”/usr/bin/xslt-config”:patching file
ota_install: I def:patch:patchinfo=”/usr/bin/xsltproc”:patching file
ota_install: I def:patch:patchinfo=”/usr/java/bin/cvm”:patching file
ota_install: I def:patch:patchinfo=”/usr/java/lib/basis.jar”:patching file
ota_install: I def:patch:patchinfo=”/usr/java/lib/charsets.jar”:patching file
ota_install: I def:patch:patchinfo=”/usr/java/lib/jaas.jar”:patching file
ota_install: I def:patch:patchinfo=”/usr/java/lib/libdbusjni.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/java/lib/libjniaudible.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/java/lib/libTopaz.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/java/lib/localedata.jar”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/alsa-lib/libasound_module_pcm_retune.so.0.0.0″:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/directfb-1.2-0/inputdrivers/libdirectfb_linux_input.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/directfb-1.2-0/interfaces/IDirectFBFont/libidirectfbfont_default.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/directfb-1.2-0/interfaces/IDirectFBFont/libidirectfbfont_dgiff.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/directfb-1.2-0/interfaces/IDirectFBFont/libidirectfbfont_ft2.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/directfb-1.2-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_dfiff.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/directfb-1.2-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_gif.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/directfb-1.2-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_jpeg.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/directfb-1.2-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_png.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/directfb-1.2-0/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_gif.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/directfb-1.2-0/systems/libdirectfb_devmem.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/directfb-1.2-0/systems/libdirectfb_fbdev.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/directfb-1.2-0/wm/libdirectfbwm_default.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/enchant/libenchant_ispell.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/enchant/libenchant_myspell.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/gtk-2.0/2.10.0/immodules/im-am-et.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/gtk-2.0/2.10.0/immodules/im-cedilla.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/gtk-2.0/2.10.0/immodules/im-cyrillic-translit.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/gtk-2.0/2.10.0/immodules/im-inuktitut.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/gtk-2.0/2.10.0/immodules/im-ipa.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/gtk-2.0/2.10.0/immodules/im-multipress.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/gtk-2.0/2.10.0/immodules/im-thai.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/gtk-2.0/2.10.0/immodules/im-ti-er.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/gtk-2.0/2.10.0/immodules/im-ti-et.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/gtk-2.0/2.10.0/immodules/im-viqr.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-ani.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-icns.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-ico.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-pcx.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-pnm.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-ras.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-tga.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-wbmp.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-xbm.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/gtk-2.0/2.10.0/printbackends/libprintbackend-file.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/gtk-2.0/2.10.0/printbackends/libprintbackend-lpr.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/gtk-2.0/modules/libferret.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/gtk-2.0/modules/libgail.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/libatk-1.0.so.0.2609.1″:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/libcairo.so.2.10800.6″:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/libcurl.so.5.1.1″:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/libdirect-1.2.so.0.0.0″:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/libdirectfb-1.2.so.0.0.0″:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/libelektra-cpp.so.0.0.0″:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/libenchant.so.1.4.2″:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/libexslt.so.0.8.13″:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/libfontconfig.so.1.3.0″:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/libfreetype.so.6.3.20″:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/libfusion-1.2.so.0.0.0″:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/libgailutil.so.18.0.1″:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/libgcrypt.so.11.5.2″:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/libgdk-directfb-2.0.so.0.1600.5″:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/libgdk_pixbuf-2.0.so.0.1600.5″:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/libgnutls-extra.so.26.14.11″:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/libgnutls-openssl.so.26.14.11″:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/libgnutls.so.26.14.11″:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/libgnutlsxx.so.26.14.11″:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/libgtk-directfb-2.0.so.0.1600.5″:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/libpango-1.0.so.0.2400.5″:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/libpangocairo-1.0.so.0.2400.5″:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/libpangoft2-1.0.so.0.2400.5″:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/libsoup-2.4.so.1.3.0″:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/libtag_c.so.0.0.0″:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/libtag.so.1.5.0″:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/libwebkit-1.0.so.2.5.0″:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/libxslt.so.1.1.17″:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/pango/1.6.0/modules/pango-arabic-fc.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/pango/1.6.0/modules/pango-arabic-lang.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/pango/1.6.0/modules/pango-basic-fc.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/pango/1.6.0/modules/pango-hangul-fc.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/pango/1.6.0/modules/pango-hebrew-fc.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/pango/1.6.0/modules/pango-indic-fc.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/pango/1.6.0/modules/pango-indic-lang.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/pango/1.6.0/modules/pango-khmer-fc.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/pango/1.6.0/modules/pango-syriac-fc.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/pango/1.6.0/modules/pango-thai-fc.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/lib/pango/1.6.0/modules/pango-tibetan-fc.so”:patching file
ota_install: I def:patch:patchinfo=”/usr/sbin/pppd”:patching file
ota_install: I def:patch:patchinfo=”/usr/sbin/tmd”:patching file
ota_install: I def:patch:patchinfo=”/usr/sbin/updatetime”:patching file
ota_install: I def:update::updating device with patches
./
./usr/
./usr/sbin/
./usr/sbin/updatetime
./usr/sbin/tmd
./usr/sbin/pppd
./usr/lib/
./usr/lib/pango/
./usr/lib/pango/1.6.0/
./usr/lib/pango/1.6.0/modules/
./usr/lib/pango/1.6.0/modules/pango-tibetan-fc.so
./usr/lib/pango/1.6.0/modules/pango-thai-fc.so
./usr/lib/pango/1.6.0/modules/pango-syriac-fc.so
./usr/lib/pango/1.6.0/modules/pango-khmer-fc.so
./usr/lib/pango/1.6.0/modules/pango-indic-lang.so
./usr/lib/pango/1.6.0/modules/pango-indic-fc.so
./usr/lib/pango/1.6.0/modules/pango-hebrew-fc.so
./usr/lib/pango/1.6.0/modules/pango-hangul-fc.so
./usr/lib/pango/1.6.0/modules/pango-basic-fc.so
./usr/lib/pango/1.6.0/modules/pango-arabic-lang.so
./usr/lib/pango/1.6.0/modules/pango-arabic-fc.so
./usr/lib/libxslt.so.1.1.17
./usr/lib/libwebkit-1.0.so.2.5.0
./usr/lib/libtag.so.1.5.0
./usr/lib/libtag_c.so.0.0.0
./usr/lib/libsoup-2.4.so.1.3.0
./usr/lib/libpangoft2-1.0.so.0.2400.5
./usr/lib/libpangocairo-1.0.so.0.2400.5
./usr/lib/libpango-1.0.so.0.2400.5
./usr/lib/libgtk-directfb-2.0.so.0.1600.5
./usr/lib/libgnutlsxx.so.26.14.11
./usr/lib/libgnutls.so.26.14.11
./usr/lib/libgnutls-openssl.so.26.14.11
./usr/lib/libgnutls-extra.so.26.14.11
./usr/lib/libgdk_pixbuf-2.0.so.0.1600.5
./usr/lib/libgdk-directfb-2.0.so.0.1600.5
./usr/lib/libgcrypt.so.11.5.2
./usr/lib/libgailutil.so.18.0.1
./usr/lib/libfusion-1.2.so.0.0.0
./usr/lib/libfreetype.so.6.3.20
./usr/lib/libfontconfig.so.1.3.0
./usr/lib/libexslt.so.0.8.13
./usr/lib/libenchant.so.1.4.2
./usr/lib/libelektra-cpp.so.0.0.0
./usr/lib/libdirectfb-1.2.so.0.0.0
./usr/lib/libdirect-1.2.so.0.0.0
./usr/lib/libcurl.so.5.1.1
./usr/lib/libcairo.so.2.10800.6
./usr/lib/libatk-1.0.so.0.2609.1
./usr/lib/gtk-2.0/
./usr/lib/gtk-2.0/modules/
./usr/lib/gtk-2.0/modules/libgail.so
./usr/lib/gtk-2.0/modules/libferret.so
./usr/lib/gtk-2.0/2.10.0/
./usr/lib/gtk-2.0/2.10.0/printbackends/
./usr/lib/gtk-2.0/2.10.0/printbackends/libprintbackend-lpr.so
./usr/lib/gtk-2.0/2.10.0/printbackends/libprintbackend-file.so
./usr/lib/gtk-2.0/2.10.0/loaders/
./usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-xbm.so
./usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-wbmp.so
./usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-tga.so
./usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-ras.so
./usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-pnm.so
./usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-pcx.so
./usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-ico.so
./usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-icns.so
./usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-ani.so
./usr/lib/gtk-2.0/2.10.0/immodules/
./usr/lib/gtk-2.0/2.10.0/immodules/im-viqr.so
./usr/lib/gtk-2.0/2.10.0/immodules/im-ti-et.so
./usr/lib/gtk-2.0/2.10.0/immodules/im-ti-er.so
./usr/lib/gtk-2.0/2.10.0/immodules/im-thai.so
./usr/lib/gtk-2.0/2.10.0/immodules/im-multipress.so
./usr/lib/gtk-2.0/2.10.0/immodules/im-ipa.so
./usr/lib/gtk-2.0/2.10.0/immodules/im-inuktitut.so
./usr/lib/gtk-2.0/2.10.0/immodules/im-cyrillic-translit.so
./usr/lib/gtk-2.0/2.10.0/immodules/im-cedilla.so
./usr/lib/gtk-2.0/2.10.0/immodules/im-am-et.so
./usr/lib/gtk-2.0/2.10.0/engines/
./usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so
./usr/lib/enchant/
./usr/lib/enchant/libenchant_myspell.so
./usr/lib/enchant/libenchant_ispell.so
./usr/lib/directfb-1.2-0/
./usr/lib/directfb-1.2-0/wm/
./usr/lib/directfb-1.2-0/wm/libdirectfbwm_default.so
./usr/lib/directfb-1.2-0/systems/
./usr/lib/directfb-1.2-0/systems/libdirectfb_fbdev.so
./usr/lib/directfb-1.2-0/systems/libdirectfb_devmem.so
./usr/lib/directfb-1.2-0/interfaces/
./usr/lib/directfb-1.2-0/interfaces/IDirectFBVideoProvider/
./usr/lib/directfb-1.2-0/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_gif.so
./usr/lib/directfb-1.2-0/interfaces/IDirectFBImageProvider/
./usr/lib/directfb-1.2-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_png.so
./usr/lib/directfb-1.2-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_jpeg.so
./usr/lib/directfb-1.2-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_gif.so
./usr/lib/directfb-1.2-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_dfiff.so
./usr/lib/directfb-1.2-0/interfaces/IDirectFBFont/
./usr/lib/directfb-1.2-0/interfaces/IDirectFBFont/libidirectfbfont_ft2.so
./usr/lib/directfb-1.2-0/interfaces/IDirectFBFont/libidirectfbfont_dgiff.so
./usr/lib/directfb-1.2-0/interfaces/IDirectFBFont/libidirectfbfont_default.so
./usr/lib/directfb-1.2-0/inputdrivers/
./usr/lib/directfb-1.2-0/inputdrivers/libdirectfb_linux_input.so
./usr/lib/alsa-lib/
./usr/lib/alsa-lib/libasound_module_pcm_retune.so.0.0.0
./usr/java/
./usr/java/lib/
./usr/java/lib/localedata.jar
./usr/java/lib/libTopaz.so
./usr/java/lib/libjniaudible.so
./usr/java/lib/libdbusjni.so
./usr/java/lib/jaas.jar
./usr/java/lib/charsets.jar
./usr/java/lib/basis.jar
./usr/java/bin/
./usr/java/bin/cvm
./usr/bin/
./usr/bin/xsltproc
./usr/bin/xslt-config
./usr/bin/xd
./usr/bin/preload_static
./usr/bin/pango-querymodules
./usr/bin/ntpdate
./usr/bin/kdb_static
./usr/bin/fc-match
./usr/bin/fc-list
./usr/bin/fc-cat
./usr/bin/fc-cache
./usr/bin/curl-config
./usr/bin/curl
./usr/bin/browserd
./opt/
./opt/amazon/
./opt/amazon/ebook/
./opt/amazon/ebook/lib/
./opt/amazon/ebook/lib/xyml.jar
./opt/amazon/ebook/lib/utilities.jar
./opt/amazon/ebook/lib/SearchSDK.jar
./opt/amazon/ebook/lib/ReaderSDK.jar
./opt/amazon/ebook/lib/portability.jar
./opt/amazon/ebook/lib/portability-impl.jar
./opt/amazon/ebook/lib/PDFReader-impl.jar
./opt/amazon/ebook/lib/MobipocketCoreReader.jar
./opt/amazon/ebook/lib/MobiCore-impl.jar
./opt/amazon/ebook/lib/kxml2.jar
./opt/amazon/ebook/lib/KindletImplementation-1.1.jar
./opt/amazon/ebook/lib/Kindlet-1.1.jar
./opt/amazon/ebook/lib/KindleGUIShasta-1.0.jar
./opt/amazon/ebook/lib/KindleGUIAbstraction-1.0.jar
./opt/amazon/ebook/lib/KindleDeviceServicesShasta-1.0.jar
./opt/amazon/ebook/lib/KindleDeviceServicesAbstraction-1.0.jar
./opt/amazon/ebook/lib/json.jar
./opt/amazon/ebook/lib/jdbm.jar
./opt/amazon/ebook/lib/framework-impl.jar
./opt/amazon/ebook/lib/framework-api.jar
./opt/amazon/ebook/lib/booklet.jar
./opt/amazon/ebook/lib/backport-util-concurrent-3.1.jar
./opt/amazon/ebook/booklet/
./opt/amazon/ebook/booklet/XymlBooklet.jar
./opt/amazon/ebook/booklet/Search.jar
./opt/amazon/ebook/booklet/PictureViewer.jar
./opt/amazon/ebook/booklet/msp.jar
./opt/amazon/ebook/booklet/MobiReader.jar
./opt/amazon/ebook/booklet/KindletBooklet-1.1.jar
./opt/amazon/ebook/booklet/Journal-update.jar
./opt/amazon/ebook/booklet/Home.jar
./opt/amazon/ebook/booklet/Browser.jar
./opt/amazon/ebook/booklet/AudioPlayer.jar
./opt/amazon/ebook/booklet/AudiblePlayer.jar
./lib/
./lib/modules/
./lib/modules/2.6.26-rt-lab126/
./lib/modules/2.6.26-rt-lab126/kernel/
./lib/modules/2.6.26-rt-lab126/kernel/drivers/
./lib/modules/2.6.26-rt-lab126/kernel/drivers/video/
./lib/modules/2.6.26-rt-lab126/kernel/drivers/video/eink/
./lib/modules/2.6.26-rt-lab126/kernel/drivers/video/eink/hal/
./lib/modules/2.6.26-rt-lab126/kernel/drivers/video/eink/hal/eink_fb_hal_broads.ko
./lib/modules/2.6.26-rt-lab126/kernel/drivers/net/
./lib/modules/2.6.26-rt-lab126/kernel/drivers/net/wireless/
./lib/modules/2.6.26-rt-lab126/kernel/drivers/net/wireless/ath6k22.133/
./lib/modules/2.6.26-rt-lab126/kernel/drivers/net/wireless/ath6k22.133/ar6000.ko
./etc/
./etc/version.txt
./etc/prettyversion.txt
./bin/
./bin/busybox
ota_install: I def:update::md5check of patches
ota_install: I def:md5-success:tries=0,pathinfo=/bin/busybox:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/etc/prettyversion.txt:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/etc/version.txt:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/lib/modules/2.6.26-rt-lab126/kernel/drivers/net/wireless/ath6k22.133/ar6000.ko:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/lib/modules/2.6.26-rt-lab126/kernel/drivers/video/eink/hal/eink_fb_hal_broads.ko:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/booklet/AudiblePlayer.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/booklet/AudioPlayer.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/booklet/Browser.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/booklet/Home.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/booklet/Journal-update.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/booklet/KindletBooklet-1.1.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/booklet/MobiReader.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/booklet/msp.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/booklet/PictureViewer.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/booklet/Search.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/booklet/XymlBooklet.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/lib/backport-util-concurrent-3.1.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/lib/booklet.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/lib/framework-api.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/lib/framework-impl.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/lib/jdbm.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/lib/json.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/lib/KindleDeviceServicesAbstraction-1.0.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/lib/KindleDeviceServicesShasta-1.0.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/lib/KindleGUIAbstraction-1.0.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/lib/KindleGUIShasta-1.0.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/lib/Kindlet-1.1.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/lib/KindletImplementation-1.1.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/lib/kxml2.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/lib/MobiCore-impl.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/lib/MobipocketCoreReader.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/lib/PDFReader-impl.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/lib/portability-impl.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/lib/portability.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/lib/ReaderSDK.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/lib/SearchSDK.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/lib/utilities.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/opt/amazon/ebook/lib/xyml.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/bin/browserd:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/bin/curl:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/bin/curl-config:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/bin/fc-cache:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/bin/fc-cat:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/bin/fc-list:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/bin/fc-match:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/bin/kdb_static:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/bin/ntpdate:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/bin/pango-querymodules:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/bin/preload_static:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/bin/xd:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/bin/xslt-config:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/bin/xsltproc:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/java/bin/cvm:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/java/lib/basis.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/java/lib/charsets.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/java/lib/jaas.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/java/lib/libdbusjni.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/java/lib/libjniaudible.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/java/lib/libTopaz.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/java/lib/localedata.jar:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/alsa-lib/libasound_module_pcm_retune.so.0.0.0:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/directfb-1.2-0/inputdrivers/libdirectfb_linux_input.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/directfb-1.2-0/interfaces/IDirectFBFont/libidirectfbfont_default.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/directfb-1.2-0/interfaces/IDirectFBFont/libidirectfbfont_dgiff.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/directfb-1.2-0/interfaces/IDirectFBFont/libidirectfbfont_ft2.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/directfb-1.2-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_dfiff.so:md5 succl
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/directfb-1.2-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_gif.so:md5 succesl
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/directfb-1.2-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_jpeg.so:md5 succel
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/directfb-1.2-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_png.so:md5 succesl
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/directfb-1.2-0/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_gif.so:md5 succesl
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/directfb-1.2-0/systems/libdirectfb_devmem.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/directfb-1.2-0/systems/libdirectfb_fbdev.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/directfb-1.2-0/wm/libdirectfbwm_default.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/enchant/libenchant_ispell.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/enchant/libenchant_myspell.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/gtk-2.0/2.10.0/immodules/im-am-et.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/gtk-2.0/2.10.0/immodules/im-cedilla.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/gtk-2.0/2.10.0/immodules/im-cyrillic-translit.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/gtk-2.0/2.10.0/immodules/im-inuktitut.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/gtk-2.0/2.10.0/immodules/im-ipa.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/gtk-2.0/2.10.0/immodules/im-multipress.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/gtk-2.0/2.10.0/immodules/im-thai.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/gtk-2.0/2.10.0/immodules/im-ti-er.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/gtk-2.0/2.10.0/immodules/im-ti-et.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/gtk-2.0/2.10.0/immodules/im-viqr.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-ani.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-icns.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-ico.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-pcx.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-pnm.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-ras.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-tga.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-wbmp.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-xbm.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/gtk-2.0/2.10.0/printbackends/libprintbackend-file.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/gtk-2.0/2.10.0/printbackends/libprintbackend-lpr.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/gtk-2.0/modules/libferret.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/gtk-2.0/modules/libgail.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/libatk-1.0.so.0.2609.1:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/libcairo.so.2.10800.6:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/libcurl.so.5.1.1:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/libdirect-1.2.so.0.0.0:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/libdirectfb-1.2.so.0.0.0:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/libelektra-cpp.so.0.0.0:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/libenchant.so.1.4.2:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/libexslt.so.0.8.13:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/libfontconfig.so.1.3.0:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/libfreetype.so.6.3.20:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/libfusion-1.2.so.0.0.0:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/libgailutil.so.18.0.1:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/libgcrypt.so.11.5.2:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/libgdk-directfb-2.0.so.0.1600.5:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/libgdk_pixbuf-2.0.so.0.1600.5:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/libgnutls-extra.so.26.14.11:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/libgnutls-openssl.so.26.14.11:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/libgnutls.so.26.14.11:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/libgnutlsxx.so.26.14.11:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/libgtk-directfb-2.0.so.0.1600.5:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/libpango-1.0.so.0.2400.5:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/libpangocairo-1.0.so.0.2400.5:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/libpangoft2-1.0.so.0.2400.5:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/libsoup-2.4.so.1.3.0:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/libtag_c.so.0.0.0:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/libtag.so.1.5.0:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/libwebkit-1.0.so.2.5.0:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/libxslt.so.1.1.17:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/pango/1.6.0/modules/pango-arabic-fc.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/pango/1.6.0/modules/pango-arabic-lang.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/pango/1.6.0/modules/pango-basic-fc.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/pango/1.6.0/modules/pango-hangul-fc.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/pango/1.6.0/modules/pango-hebrew-fc.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/pango/1.6.0/modules/pango-indic-fc.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/pango/1.6.0/modules/pango-indic-lang.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/pango/1.6.0/modules/pango-khmer-fc.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/pango/1.6.0/modules/pango-syriac-fc.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/pango/1.6.0/modules/pango-thai-fc.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/lib/pango/1.6.0/modules/pango-tibetan-fc.so:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/sbin/pppd:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/sbin/tmd:md5 successful
ota_install: I def:md5-success:tries=0,pathinfo=/usr/sbin/updatetime:md5 successful
ota_install: I def:update::updating device with symlink deletes
ota_install: I def:update::updating device with file additions
./
./etc/
./etc/sysconfig/
./etc/sysconfig/ALLOW_CVM_RESET
ota_install: I def:update::md5check of adds
ota_install: I def:md5-success:tries=0,pathinfo=/etc/sysconfig/ALLOW_CVM_RESET:md5 successful
ota_install: I def:update::updating device with symlink changes
ota_install: I def:update::updating device with new rootfs_md5_list
rootfs_md5_list
ota_install: I def:done:id=525120101-529960105,version=105-shasta0.6-052996:update complete
system: I otaup:def:update stage 1 of 2 complete
system: I mntroot:def:Making root filesystem read-only
mount: / is busy
system: E mntroot:def:Re-mounting root filesystem failed
webupdate: I def:webupdate::attempting to remove update file : update-06-525120101-529960105.bin
webupdate: I def:webupdate::successfully applied update : update-06-525120101-529960105.bin
webupdate: I def:webupdate::stage 2 of 2 : 529960105-kernel.tar.gz
system: I 515460094-529960105.ffs:def:drawing: eips 36 38 “stage 2 of 2”
webupdate: I def:webupdate::preparing to use kernel update md5=3e305f3b1070669b3dcc3fce8c635389,krnl=529960105-kernel.tar.gz
system: I 515460094-529960105.ffs:def:drawing: eips 36 38 “stage 2 of 2”
imx35_luigi/uImage
webupdate: I def:fl_kl::verifying kernel image
webupdate: I def:fl_kl1:partition=/dev/mmcblk0:flashing kernel
flashing via “dd if=./imx35_luigi/uImage of=/dev/mmcblk0 seek=260 bs=1024”
2100+1 records in
2100+1 records out
flash status 0
webupdate: I def:fl_kl2:source_md5=3e305f3b1070669b3dcc3fce8c635389,flash_md5=3e305f3b1070669b3dcc3fce8c635389:flash verify
webupdate: I def:fl_kl3:status=0:kernel update complete
webupdate: I def:webupdate::successfully applied update : 529960105-kernel.tar.gz
webupdate: I def:done:id=515460094-529960105,version=105-shasta0.6-052996:update complete
INIT: Sending processes the TERM signal
system: I K04framework:def:stopping booklet framework
com.lab126.powerd failed to open lipc for state event
system: I K06browserd:def:Stopping Browser Daemon
com.lab126.pmond failed to open lipc for stop event
killall: browserd: no process killed
system: I K10cron:def:stopping crond
start-stop-daemon: lseek: Invalid argument
Stopping lipc-daemon: system: I K10tmd:def:Stopping Transfer Manager Daemon
com.lab126.pmond failed to open lipc for stop event
system: I K15audio:def:stopping audio server
com.lab126.pmond failed to open lipc for stop event
system: I K17ttsd:def:stopping TTS daemon
com.lab126.pmond failed to open lipc for stop event
Failed to open LIPC
com.lab126.hal failed to send event usbUnconfigured
com.lab126.volumd failed to open lipc for driveModeState event
sh: 0: unknown operand
system: I K19userstore:def:Found BOOTUP flag file
system: I K25phd:def:Stopping Phone-Home Daemon
com.lab126.pmond failed to open lipc for stop event
Stopping Power Management Daemon: com.lab126.pmond failed to open lipc for stop event
stopped /usr/bin/wpa_supplicant (pid 2032)
system: W wpa_supplicant:def:wpa supplicant stopped
system: I wifi:def:WiFi Device mac = 28:EF:01:44:C9:C4
Platform set to SHASTA_NATIVEMMC-SDIO
Platform Setup Script is: /opt/ar6k/host/support/platformscripts/plat_SHASTA_NATIVEMMC-SDIO.sh
Image path: /sbin
..unloading all
killall: recEvent: no process killed
system: I wifi:def:loadAR6000 finished, args=(unloadall)
Stopping Process Monitoring Daemon: system: I K85dbus:def:stopping system message bus
system: I K90video:def:stopping eInk HAL lifeguard
system: I K98sdtime_stop:sdtime:time=5580:shutdown time in milliseconds
system: I K99syslog-ng:def:stopping syslog-ng
system: I tinyrot:def::Rotating file /var/log/messages with max size 256
/usr/sbin/tinyrot : Signaling syslog
killall: syslog-ng: no process killed
system: W tinyrot:def:Failed to HUP syslog
killall: syslog-ng: no process killed
/usr/sbin/tinyrot : Calculating total size /var/local/log/messages_*.gz
/usr/sbin/tinyrot : Total size of /var/local/log/messages_*.gz is 233kb
Rebooting in 1 second…
MMC: killing requests for dead queue
end_request: I/O error, dev mmcblk0, sector 900722
EXT3-fs error (device mmcblk0p1): ext3_find_entry: reading directory #12184 offset 0
Aborting journal on device mmcblk0p1.
MMC: killing requests for dead queue
end_request: I/O error, dev mmcblk0, sector 980460
Buffer I/O error on device mmcblk0p1, logical block 490230
Remounting filesystem read-only
MMC: killing requests for dead queue
end_request: I/O error, dev mmcblk0, sector 2
Buffer I/O error on device mmcblk0p1, logical block 1
MMC: killing requests for dead queue
end_request: I/O error, dev mmcblk0, sector 901782
EXT3-fs error (device mmcblk0p1): ext3_find_entry: reading directory #12184 offset 1
Restarting system.
Unhandled fault: external abort on non-linefetch (0x008) at 0x00020178
U-Boot 1.3.0-rc3-lab126 (Jul 31 2010 – 01:08:40)
CPU: Freescale i.MX35 at 532 MHz
Board: MX35 Luigi [ POR]
WDOG_WCR = 0xff31
WDOG_WMCR = 0x0
Board Id: SP1B000000000000
S/N: B008A0A_________
DRAM: 256 MB
Using default environment
In: serial
Out: serial
Err: serial
No ethernet found.
i.MX35 CPU board version 2.0
Net: No ethernet found.
Hit any key to stop autoboot: 0
## Booting image at 87f40400 …
Image Name: Linux-2.6.26-rt-lab126
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2150760 Bytes = 2.1 MB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum … OK
Loading Kernel Image … OK
Starting kernel …
Uncompressing Linux…………………………………………………………………………………………………………. done, bo.
boot: I def:rbt:Device Reboot Encountered:
2.6.26-rt-lab126 #5 Wed Sep 15 19:25:13 PDT 2010 armv6l
INFO:Using default keypad setting. (not passing “kb_rev” to module)
INFO:Loaded module /lib/modules/mxc_keyb.ko (22508 bytes)
Press [ENTER] for recovery menu… 0 /INFO:Partition table verified for /dev/mmcblk0
INFO:Checking for updates… (auto-pilot mode)
/dev/mmcblk0p4:
CHS=4/16/101575 size=3328409600 bytes
flag type first last lba first lba size
Partition p1:
0x00 0x0b 16 16 6500784
CHS: 0/1/1 –
Partition p2:
Partition p3:
Partition p4:
INFO:Setup loop device /dev/loop0 for /dev/mmcblk0p4 + 8192
INFO:No update*.bin found; no update needed.
INFO:no updates found.
BOOTING DEFAULT.
argc == 9
argv[0]: “kinit”
argv[1]: “console=ttymxc0,115200”
argv[2]: “mem=256M”
argv[3]: “panic=10”
argv[4]: “root=/dev/mmcblk0p1”
argv[5]: “ro”
argv[6]: “ip=none”
argv[7]: “quiet”
argv[8]: “lpj=2555904”
Running ipconfig
argc == 4
argv[0]: “IP-Config”
argv[1]: “-i”
argv[2]: “Linux kinit”
argv[3]: “ip=none”
IP-Config: no devices to configure
kinit: do_mounts
kinit: name_to_dev_t(/dev/mmcblk0p1) = dev(179,1)
kinit: root_dev = dev(179,1)
kinit: /dev/root appears to be a ext3 filesystem
kinit: trying to mount /dev/root on /root with type ext3
kinit: Mounted root (ext3 filesystem) readonly.
Checking for init: /sbin/init
Checking for init: /bin/init
Checking for init: /etc/init
Checking for init: /sbin/init.sysvinit
INIT: version 2.86 booting
system: I rcS:def:starting /etc/rcS.d/S02kdb
system: I S02kdb:def:Setting boot device to mmcblk0
kdb set: ‘system/driver/filesystem/DEV_ROOT’
system: I rcS:def:starting /etc/rcS.d/S03udev
system: I S03udev:def:setting up virtual fs for hotplug event handling
system: I S03udev:def:starting the hotplug events dispatcher
system: I S03udev:def:synthesizing initial hotplug events
lipc-send-event[379]: E lipc:con::Connection error(Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory)
lipc-send-event[379]: C def:dbusi::Failed to init dbus
lipc-send-event[379]: E def:open::Failed to open LIPC
lipc-send-event[379]: E def:fail:source=com.lab126.hal, event=usbPlugIn:Sending event failed
lipc-send-event[477]: E lipc:con::Connection error(Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory)
lipc-send-event[477]: C def:dbusi::Failed to init dbus
lipc-send-event[477]: E def:open::Failed to open LIPC
lipc-send-event[477]: E def:fail:source=com.lab126.hal, event=audioHS:Sending event failed
system: I rcS:def:starting /etc/rcS.d/S04rootfsresize
system: I S04rootfsresize:def:No rootfs on /dev/mmcblk0p1 resizing needed
system: I rcS:def:starting /etc/rcS.d/S10filesystems
system: I rcS:def:starting /etc/rcS.d/S10hostname
system: I rcS:def:starting /etc/rcS.d/S10network
system: I S10filesystems:def:mounting filesystems
system: I S10hostname:def:setting device hostname
system: I S10network:def:initializing network configuration
system: I S10network:def:Installed Firewall
system: I rcS:def:starting /etc/rcS.d/S11chpriority
system: I rcS:def:starting /etc/rcS.d/S11video
Unknown HZ value! (74) Assume 100.
system: W S11chpriority:def:Cannot set priority for IRQ-7
system: I S11video:def:initializing eInk HAL for system use
system: I S11video:def:eink_debug=0
system: I S11video:def:Controller set to broads
system: I rcS:def:starting /etc/rcS.d/S20syslog-ng
system: I S20syslog-ng:def:starting syslog-ng
system: I rcS:def:starting /etc/rcS.d/S21init_time
system: I S21init_time:initboot:time=43500:boot time after init in milliseconds
system: I rcS:def:starting /etc/rcS.d/S45modules
system: I S45modules:def:loading module mwan
system: I S45modules:def:loading module g_file_storage
system: I S45modules:def:loading module fuse
system: I S45modules:def:loading module uinput
system: I S45modules:def:loading module mxc_keyb
system: I S45modules:def:loading module fiveway
system: I S45modules:def:loading module volume
system: I rcS:def:starting /etc/rcS.d/S50system
mount: mount point /proc/bus/usb does not exist
system: I rcS:def:starting /etc/rcS.d/S55scroll
system: I S55scroll:def:skipping; no luigi-based work to do here
system: I rcS:def:starting /etc/rcS.d/S70ethernet
system: I rcS:def:starting /etc/rcS.d/S70userstore
system: I S70ethernet:def:not enet
system: I S70ethernet:def:not usbnet
system: I S70userstore:def:Found SHUTDOWN flag file
system: I rcS:def:starting /etc/rcS.d/S90video
system: I S90video:def:initializing eInk HAL for rootfs use
INIT: Entering runlevel: 2
system: I lifeguard:def:starting eInk HAL lifeguard
system: I S40diags:def:not starting Diagnostic Services
system: I S40diags:def:/mnt/base-us/ENABLE_DIAGS does not exist, forcing diagnostic disable
system: I S50battcheck:def:running
Sun Sep 19 09:57:57 2010 INFO:battery voltage: 4151 mV
Sun Sep 19 09:57:57 2010 INFO:battery charge: 97%
system: I S50battcheck:def:current voltage = 4148mV
Sun Sep 19 09:57:57 2010 INFO:battery charge: 97%
Sun Sep 19 09:57:57 2010 INFO:battery voltage: 4151 mV
Sun Sep 19 09:57:57 2010 INFO:battery current: -146 mA
system: I S50battcheck:def:gasgauge capacity=97% volts=4151 mV current=-146 mA
system: I S50battcheck:def:Waiting for 3460mV or 4%
system: I S50battcheck:def:battery sufficient, booting to normal runlevel
INIT: Switching to runlevel: 5
INIT: Sending processes the TERM signal
system: I wifi:def:WiFi Device mac = 28:EF:01:44:C9:C4
Platform set to SHASTA_NATIVEMMC-SDIO
Platform Setup Script is: /opt/ar6k/host/support/platformscripts/plat_SHASTA_NATIVEMMC-SDIO.sh
Image path: /sbin
No debug record limit set
Load Board Data from /opt/ar6k/target/AR6002/hw2.0/bin/lab126_15dBm_nodiv_WWR_CTL.bin
Updating MAC address
BMI Set App Start (address: 0x913950)
BMI Bit-Wise (OR) modify Register (address: 0x500410, orig:0x8, new: 0x9, mask:0x1)
BMI Write compressed Memory (address: 0x502070, filename: /opt/ar6k/target/AR6002/hw2.0/bin/athwlan.bin.z77)
BMI Write Memory (address: 0x52d6d0, filename: /opt/ar6k/target/AR6002/hw2.0/bin/data.patch.hw2_0.bin)
BMI Write Memory (address: 0x500418, value: 0x52d6d0)
BMI Done
system: I wifi:def:loadAR6000 finished, args=()
system: I wpa_supplicant:def:wpa supplicant started
touch: /etc/rc5.d/S10ota: Read-only file system
system: I mntroot:def:Making root filesystem writeable
sh: 1: unknown operand
system: I S30network:def:initializing network configuration
system: I S30network:def:Installed Firewall
system: I S60dbus:def:starting system message bus
Starting Process Monitoring Daemon: Retrieved 127 keys for system/daemon/pmond/
Starting Power Management Daemon: system: I S70wifid:def:starting wifid
system: I S70cmd:def:starting CMD daemon
system: I S75phd:def:Starting Phone-Home Daemon
system: I S76mcsd:def:starting MCS server
system: I S80volumd:def:starting Volume daemon
system: I S85audio:def:initializing audio driver defaults
No state is present for card mx35luigi
system: I S85audio:def:starting audio server
wlan0 (WE) : Wireless Event too big (33)
system: I S87ttsd:def:starting TTS daemon
Battery Level: 97%
Sun Sep 19 09:58:11 2010 INFO:battery charge: 97%
system: I S90cron:def:starting crond
system: I S90tmd:def:Starting Transfer Manager Daemon
Starting lipc-daemon: system: I S94browserd:def:Starting Browser Daemon
system: I S95framework:def:starting booklet framework
system: I S95framework:def:logging reset type: soft
start.sh: starting framework
system: I S96boot_finished:def:Boot finished script running
system: I S96boot_finished:symboot:time=66240:boot time before framework starts, in milliseconds
system: I mntroot:def:Making root filesystem read-only
Welcome to Kindle!
kindle login:
system: I S96boot_finished:def:Boot finished script received framework booted event
system: I S96boot_finished:fwboot:time=107180:boot time after framework starts, in milliseconds
system: I loginfo:devhw:boardID=SP1B:Shasta PVT device – rev 1
system: I loginfo:devhwphy::USB PHY built by unknown
system: I loginfo:devsworig::Original System Software Version: 105-shasta0.6-052996
Wed Sep 15 19:26:57 PDT 2010
system: I loginfo:devswota::OTA Kindle 3.0.2 (~~otaVersion~~)
com.lab126.wan failed to access property localTimeOffset (0x3 lipcErrNoSuchSource)
system: W loginfo:ltofailwandoff:cannot retrieve local time offset – wand not running
com.lab126.powerd failed to set value for property wakeUp (0x8 lipcErrNoSuchProperty)
system: I ckimage:def:skipping kernel check
system: I governor:def:switching to ondemand governor
system: E governor:def:/sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold is set to 11 instead of 30
system: I tinyrot:def::Rotating file /var/log/messages with max size 256
/usr/sbin/tinyrot : Signaling syslog
/usr/sbin/tinyrot : Calculating total size /var/local/log/messages_*.gz
/usr/sbin/tinyrot : Total size of /var/local/log/messages_*.gz is 244kb
root
#################################################
# N O T I C E * N O T I C E * N O T I C E #
#################################################
Rootfs is mounted read-only. Invoke mntroot rw to
switch back to a writable rootfs.
#################################################
[root@kindle root]#

[UPDATE2]Kindleの”[free.]kindle.com”を利用してデータ配信する方法と注意点について

もともとKindle3(Kindle Keyboard)のWhispernet経由でデータ配信した際の課金に関するエントリでしたが、Kindle2(Kindle 2nd Generation)、Kindle DX、Kindle4(Kindle)、Kindle Touchの最新状態に併せて内容を修正しました。

Kindleを購入すると本体に紐付くメールアドレス”hoge@kindle.com”と”hoge@free.kindle.com”が設定されています。このアドレス宛に添付ファイル付きのメールを送信したり、定期的に自動配信するサービス等を利用して直接Kindle本体に取り込むことが可能になります。その設定方法と課金される場合の注意点、それから便利な”Personal Document Service”をご紹介します。

Kindleに設定されているアドレスを確認する

購入したKindleデバイスは既にAmazon.comのアカウントでユーザ登録がなされており、デバイス毎にメールアドレスが割り当てられます。このアドレスはKindle本体でSettingsメニュー、またはAmazon.comから”Manage Your Kindle”の”Personal Document Settings”により確認できます。

Manage Your Kindleでは登録デバイスに設定されたアドレスを一覧で確認できます
Send-to-Kindle_Device

“Actions”の”Edit”から初期設定されているアドレスを変更することができます。アドレスの編集画面がポップアップしますので、変更したいアドレスに修正して”UPDATE”ボタンをクリックするだけです。

初期設定されているアドレスを変更することが可能
Rename_send-to-kindle_address

ここに表示されているアドレスは”kindle.com”ですが、同時に”free.kindle.com”も割り当てられています。WIFIのみデバイスでは関係ありませんが、3GタイプのKindleでは”kindle.com”を利用すると米Amazonが提供する”Whispernet”の使用料が課金されることになりますので注意が必要です(後述)。

Kindleへ送信可能な送信元アドレスを登録する

Kindleへ直接送信するためには、SPMAメール対策として送信元アドレスを事前に登録しておく必要があります。自分でメール送信するほかに、Kindleへ定期配信するサードパーティ提供のサービスもありますので、そういうサービスを利用する場合にはその指定アドレスを登録します。

送信元アドレスの一覧
Approved_email_list

追加する場合は”Add a new approved e-mail address”をクリックし、登録したいアドレスを入力します。登録はアドレスの一部(ドメイン等)のみでも可能です。SPAMメール対策なのでできるだけ特定アドレスを設定した方が良さそうです。

送信元アドレスの追加画面
Add_Approved_Email

Kindleへ送信したいファイルを添付してメールする

送信元として登録したメールアカウントからKindleのアドレス宛(free.kindle.comアドレス宛を強くお勧めします)にファイルを添付してメールを送信します。Kindleデバイス、iOSデバイス(Ver2.9以降アプリが必要)へ送信できるファイルフォーマットは以下のように制限されていますので注意してください。Kindleデバイスが読み取れるファイル形式とは異なりますので混同しないように注意。

Microsoft Word (.DOC、.DOCX)
HTML (.HTML、.HTM)
RTF (.RTF)
Text (.TXT)
JPEG (.JPEG、.JPG)
Kindle Format (.MOBI、.AZW)
GIF (.GIF)
PNG (.PNG)
BMP (.BMP)
PDF (.PDF)

PDF以外はKindleへ配信される際にAZW形式に変換されますので、ブックマーク同期やメモ、ハイライトを付けることが可能です。PDFの場合、メール送信時に件名(Subject)に”Convert”とすることでAZW形式に変換して配信することが可能になります。

なお、メール送信時は添付するファイルサイズは50MB以下であること、一度に送信可能なファイル数は25以下でなければなりません。

Kindleでファイルを受信する

KindleがWIFI環境にある場合、メール送信後1〜2分程度でKindleが自動的に受信を始めます。ステータスバーに”Now Downloading”と表示され、ダウンロードが完了するとHOME画面にファイル名が表示されます。受信開始しないようであれば、Settingsメニューから”Sync & Check for Items”を実行するか、一旦電源ボタンを押してスリープモードにしてから再度電源ボタンで復帰するとよいかもしれません。

KindleがWIFI環境にない場合は、WIFI接続復帰時に自動的にダウンロードが始まります。開始されない場合は上と同じ方法でリトライしてみてください。

送信先にfree.kindle.comアドレスを使った方がよい理由

3G接続タイプのKindle2やKindle3(WIFI+3G)、Kindle Touchは、kindle.comアドレス宛にメール送信すればWIFI接続されていない状態でもファイルを受信することが可能です。ただし3G回線経由だと1MBあたりUS$0.99(米国内はUS$0.15)が課金されます。これがやっかいなのは、kindle.comアドレス宛だとWIFI接続されていても課金されてしまうことです。

kindle.com
free.kindle.com
Kindle WIFI+3G版 3G経由で配信。
WIFI接続環境でも課金あり。
送信元にメールなし。
WIFI経由で配信。
課金なし。
送信元にはメールあり。
Kindle WIFI版 WIFI経由で配信。
課金なし。
送信元にメールなし。
WIFI経由で配信。
課金なし。
送信元にはメールあり。

うっかり3GタイプのKindleデバイスの”kindle.com”宛てに送信するとWIFI環境にあっても課金されることになります。そして課金情報は以下のように”Manage Your Kindle”にある”Personal Document Service Charge”に表示されます。ご注意を。

Personal_Doc_Service_Charge

誤ってkindle.comを使って課金されないために

米Amazonがキャリアの3G回線を通じ提供するネットワークをWhispernetと言いますが、3GタイプのKindleデバイス宛に”kindle.com”アドレスを使用するとこのWhispernet経由でファイルが配信されることになり上記の通り課金されます。

誤って課金されないように”Whispernet”を無効化しておくことができます。デフォルトでは”Not enabled”になっていますのでここを自分で変更しない限りは課金されることはありません。また、Whispernetを有効化した場合でも、1回あたりの配信で課金される金額の最大値をあらかじめ設定しておくことができます。

“Manage Your Kindle”の”Personal Document Settings”にある”Whispernet Delivery Options”
Whispernet_delivery_option

Whispernet経由で配信したい場合は、Actionsの”Edit”をクリックすると次のような画面がポップアップしますので、”Enable delivery to my…”にチェック。1回あたりの配信で課金される金額の上限を設定します。”UPDATE”をクリックして完了。

Whispernet Delivery Optionsの設定変更
Option_Enable_Whispernet

公式サイト

英語で記述されていますが最新情報とその詳細は公式サイトで確認してください。

Amazon.com Help: Kindle Personal Documents Service

Amazon.com Help: Transferring, Downloading, and Sending Files to Kindle
Kindle Keyboard(Kindle3)の各種ファイルをデバイスへ配信する方法に関するヘルプ情報ですが、他の機種もほとんど同じです。

追記予定

Personal Document Serviceについては別途追記予定です。

[UPDATE2]Kindle3はやはり日本語ハックが必要なのか?

Kindle3は公式に日本語表示対応(フォント埋め込みしていないPDF形式を除く)していますので、Kindle2/DXで日本語表示のために必要とされていたJailBreak/フォントハックは不要かと思っていました。InstapaperからMOBI形式ファイルを取得してKindle2で表示させる方法(KindleとInstapaperの絶妙な組み合わせ)について、Kindle3での動作確認をしていたところ、残念ながら一部の日本語が文字化けして表示されていました(フォントハック済Kindle2では正しく表示されていることを確認しています)。

IMG_0262

Kindle2にはネイティブのフォントには日本語が組み込まれていなかったため、FontForge等で既存フォントファイルに日本語フォントを合成して自作したもので日本語を表示させていました。Kindle3には次の日本語フォントが用意されています。

  • HeiSeiMaruGoth213_E.ttf
  • HeiSeiMaruGoth213_E_Bold.ttf

Kindle3の英語フォントには日本語で用意されている”plain”と”bold”のほかに、”italic”と”bold italic”があります。今回の文字化けがたまたまMOBI形式ファイルがおかしいために生じたのか、Kindle3内部で代替フォントを適用する変換がおかしいのかわかりませんが、ある条件下では文字化けが発生してしまうようです。


instapaper-font-bake-article

解消方法は、Kindle3の英語フォントに日本語も組み込んでフォントファイルを自作する、またはfont.propertiesの設定を修正してでごまかすかでしょうか。いずれにしてもノーマルなKindle3では不可能ですから、今のFWですとroot化したKindle3が必要となります。ちょっとハードルが高そうです。一番よいのは米AmazonがFWアップデートで対応してくれることなのですが。。。

Updated on October 7, 2010-----
Instapaperから取り込むmobiファイルを表示させると一部文字化けしてしまいますが原因がわかりました。Kindle3からは日本語フォントが実装されていますが、mobiファイル側で指定するフォントに日本語が含まれないため文字化けが発生してしまいます。以下の作業はシリアル接続環境をお勧めします。USBNetworkハックでも可能ですが文鎮化した場合にリカバリーができなくなりますのでご注意ください。作業の前にfont.propertiesはバックアップをとりましょう。

フォントに関する設定ファイル
/usr/java/lib/font.properties
フォントファイルの格納場所
/usr/java/lib/fonts/

Instapaperのインデックス部分の文字化け(一番上の写真)
mobiファイル側ではSerifフォントを参照しており、Kindle側ではfont.propertiesにてCaecilia系フォントを指定していて、日本語が含まれていないため文字化けします。特にここで指定されているのはboldなので、font.propertiesにてserif.1とserif.boldをHeiSeiMaruGoth213_E_Bold.ttfに差し替えれば文字化けは解消します。

Instapaperの本文部分の文字化け(スクリーンショット画像)
同様にmobi側で日本語が含まれないフォントを指定しているために文字化けが発生するようです。インデックスとは異なり、Sans Serifフォントで使用されているHelvetica系フォントです。italic boldなので、font.propertiesのsansserif.3とsansserif.italicboldをHeiSeiMaruGoth213_E_Bold.ttfに差し替えれば文字化けが解消します。

残念ながら、現時点のKindle3には日本語フォントは平成丸ゴシックのplainとboldしかありません。従ってitalicやitalic boldを表現することができません。最低限文字化けしないようにすることは可能ですが、アルファベットも平成丸ゴシックになってしまい洋書を読むのに雰囲気が台無しになります。フォントを自作したくなってしまいますね。

Updated on October 8, 2010-----
KindleのアプリケーションはJava プラットフォームなので物理フォントと論理フォントが存在します。物理フォントは実際のフォントライブラリであり、論理フォントは Java プラットフォームで定義されているSerif、SansSerif、Monospaced、Dialog、DialogInput の 5 つのフォントファミリです。このマッピングを行っているのが”font.properties”であり、物理フォントはfontsディレクトリに格納されています。

Serif Font
Caecilia_LT_65_Medium.ttf
Caecilia_LT_75_Bold.ttf
Caecilia_LT_66_Medium_Italic.ttf
Caecilia_LT_76_Bold=Italic.ttf

SansSerif Font
Helvetica_LT_65_Medium.ttf
Helvetica_LT_75_Bold.ttf
Helvetica_LT_66_Medium_Italic.ttf
Helvetica_LT_76_Bold_Italic.ttf

Monospaced
KindleBlackboxRegular.ttf
KindleBlackboxBold.ttf
KindleBlackboxItalic.ttf
KindleBlackboxBoldItalic.ttf

Dialog
Helvetica_LT_65_Medium.ttf
Helvetica_LT_75_Bold.ttf
Helvetica_LT_66_Medium_Italic.ttf
Helvetica_LT_76_Bold_Italic.ttf

DialogInput
Helvetica_LT_65_Medium.ttf
Helvetica_LT_75_Bold.ttf
Helvetica_LT_66_Medium_Italic.ttf
Helvetica_LT_76_Bold_Italic.ttf

Kindle3の上記の物理フォントライブラリには日本語が含まれておらず、HeiSeiMaruGoth213_E.ttf、HeiSeiMaruGoth213_E_Bold.ttfが用意されております。他の言語もありますので、どのように上記のフォントに差し替えて適用しているのかわかりませんが、ロケール設定かCharsetで識別しているのかもしれません。

日本語が文字化けする原因として考えられるのはmobi等に変換されファイルの本文以外の特定箇所が多言語ファイルに差し替える対象から漏れているために発生してしまうのではないかと思います。この事象がバグなのか分かりませんが、Kindle Storeで日本語書籍の取扱いも噂されており、これが事実とすればこの事象については改善してもらわないとクオリティとしては許容できないような気がします。

続きを読む [UPDATE2]Kindle3はやはり日本語ハックが必要なのか?

Kindle3 WIFI版のroot奪取で四苦ハック!?

Kindle3のシリアル接続まではできていましたが、rootのパスワードがわかりませんでした。海外サイトでroot取得の方法が紹介されていたので挑戦してみましたので、次回のための備忘録としてまとめました。詳細な手順は @ytsuboi さんの「Kindle 3のshellにroot権限でアクセスしてみた」、@ichinomoto さんの「新型 kindle3G + Wi−Fi でもrootを取得」を参考にしてください。お二人にはいろいろとサポートしていただきました。この場を借りて改めて御礼申し上げます。

01root-login.png

注意喚起情報
メーカ保証対象外となるリスクがあるほか、故障の原因となる可能性があります。

root奪取までの道のり

  1. イメージファイルをダウンロードする
  2. minicomからYMODEM転送するためのコマンドをインストールする
  3. Kindle3のシリアル接続した状態でKindle3を再起動しubootモードに入る
  4. 母艦からYMODEMでイメージファイルを転送する
  5. イメージファイルでブートする
  6. 必要なコマンドをいくつか実行
  7. パスワード設定ファイルのrootのパスワード部分を消去

カンタンなようでそもそもubootて何?YMODEMとか知らないし。。。というレベルなので結構大変な作業です。特に、4)と6)です。

MacPortsでインストールした外部プログラムをminicomからYMODEMとして呼び出すわけですが、転送が何度も失敗します。なにが原因かわかりませんがアップロードして(したつもり)、”uboot> bootm 0x84000000″としても”Bad Magic Number”とエラーが出てしまいます。うまく転送できたかどうかもわかりませんでした。

転送が失敗した例 Total Sizeが0 Bytesになっています。

02ymodem-upload-failed.png

転送には時間がかかりますので固まったと勘違いしないようにします。転送が完了したようでも何も反応しなくなる場合もありました。そういう場合はKindle3をリセットしてubootに入るところからやり直します。

転送が成功した例 Total Sizeが2212380 Bytesになっています。

03ymodem-upload-success.png

うまく転送できたら、イメージファイルでブート(”uboot>bootm 0x84000000″)します。カーソルは”boot: I def:rbt:Device Reboot Encountered:”で改行したところで止まります。中途半端かもしれませんが、コマンドプロンプトは出ていませんが、この状態から入力します。

04boot-imagefile.png

ここからは時間との勝負になります。一定時間経過するとタイムアウトしてしまうのでコピペで入力した方が楽です。わたしの場合はタイムアウトすることに気がつかず、何度かKindle3をリセットからやり直しになってしまいました。イメージファイルの転送もその都度必要になるようですから、失敗すると全ての作業が一からやり直しになります。

04command-success.png

ただし、mkdir /root だけは一度だけ実行すれば次回からは不要になるようです。実行しても既に存在しますというエラーメッセージが出てしまいます。タイムアウトになるのは正確な時間はわかりませんが、感覚的には1分未満ではないかと思いますので本当に時間がありません。そのためたった1行のコマンド入力省略でもありがたいことなのです。

あとはviエディタで/etc/shadowにあるrootのパスワードを削除します。viエディタは通常のテキストエディタではありませんから事前に使い方を確認しておくとよいでしょう。移動はカーソルキー、削除は”x”、保存して終了は”:wq”です。

これで完了ではありません。sync、exitの入力が完了するまで安心しないでください。とにかく時間がありませんので迅速かつ正確に作業していく必要があります。あとは色々とログが流れていって止まりますのでKindle3をリセットします。すると、kindle login: でユーザ名にrootを入力してEnterキーを押すと…

[UPDATE1]Kindle3の自作シリアル接続アダプタを作ってみた

Kindle3のシリアル接続は既に端子が発見されていました。rootで入る方法があるようですが、わたしにとっては非常に敷居の高いややこしい方法としてMobileReadのフォーラムで紹介されていました(シリアル接続からubootで入りメモリの0x84000000エリアにブートイメージをアップロードする方法)。その前にシリアル接続を簡単にする自作アダプタができたので作り方を備忘録的にまとめました。

注意喚起情報
メーカ保証対象外となるリスクがあるほか、故障の原因となる可能性があります。

シリアル接続アダプタの作り方
Kindle3 WIFI版を分解の巻のとおり、シリアル接続用の端子はライト付カバーの給電コネクター部分にありますので、Kindle2と違って外部から接続端子にアクセスすることができます。この場所に挿し込むアダプタを作ります。


IMG_0233

材料は次のとおりです。
・エクステンション基板ICB-072(サンハヤト、1.25mmピッチ)
・SIMカードホルダー(SIMカード取り外し後のもの)
・リード線
・両面テープ


IMG_0237

エクステンション基板は秋葉原の千石電商にて770円(税込み)で購入しました(作業した結果1.27mmピッチの方がフィットするような気がします)。接続端子4本のうちシリアル接続は3本ですから、3本分だけ切り取ります。穴の方にリード線を半田付けします(我ながら仕上げがキタナイ(涙))。

これをサポートするための台座としてSIMカードホルダーをハサミで切り抜きます。厚さが0.6mmでちょうどよく強度と加工しやすさからこれを使いました。プラ板は手元に0.5mmのものがありましたが、差し込んでも緩んでしまいバネ板にうまく当たらず接触が悪くなりましたので却下しました。

台座にエクステンション基板を接着する前にKindle3本体左下のライト付きカバーの給電コネクタの穴に出し入れしながらフィット感を確認します。同時にUSBシリアル変換モジュールに接続して、エクステンション基板がそれぞれKindle3側のTX/RX/GND端子にうまく当たって認識しているかも確認します。

問題ないようであれば両面テープで台座とエクステンション基板を接着します。接着剤を使用してもよいと思いますが、あまり厚みが出てしまうと挿し込んだ時に窮屈になってしまいますので注意してください。


IMG_0236

絶縁処理をしようとテープを一旦巻いたのですが、窮屈すぎて外してしまいました。これから自作される方はその辺も踏まえて台座の厚さや幅を考えていただいたほうが良いと思います。

Updated on October 17, 2010 —
その後、改良版を作成していますので追記いたしました。アダプタの形状を差込口の幅にあわせていましたが、Kindle側の端子とアダプタ側端子の接触を安定させるためにT字型としました。

Kindle3側のシリアル端子のピッチとアダプタ側のエクステンション基板のピッチが微妙にあわないので、ちょっと斜めに入ったりするだけで接触できなかったり、本体を持ち上げた拍子にズレてしまい接続が途切れる場合があり不安定でした。これをT字型にすることで非常に安定するようになりました。さらに、エクステンション基板の絶縁と固定・強度補強を兼ねて絶縁テープを施しています。


DSC00030

続きを読む [UPDATE1]Kindle3の自作シリアル接続アダプタを作ってみた

Kindle3はどれくらい見やすくなったの?Kindle2と比較してみた

Kindle3はE-Inkの新世代電子ペーパーPearlの採用によりコントラストが50%向上したそうです。このことはKindle2ユーザであれば、文字がよりはっきり・シャープに見えることで実感できることと思います。では、どれくらい見やすくなったのでしょうか。Kindle2と比較する方法で検証してみました。検証方法は以前Kindle2とKindle DXの比較検証してくださった @ichinomoto さんと同じ方法(スキャンした物がKindleでどう見えるか Kindleをスキャンしてみた)をマネさせていただきました。
続きを読む Kindle3はどれくらい見やすくなったの?Kindle2と比較してみた