1、注意!!!

Jailbreak?なにそれ?という人はお勉強してきてからにしてください。 Kindleが再起不能になって、文鎮以外の使い道がなくなる可能性があります。 以下、あくまで自己責任でお願いします。
なお、以下はLinux環境を前提としています

2、JailbreakとSSH接続〜Linux環境にて〜

①JailBreakをインストール  →DownしてKindleルートフォルダに置く  →USB切って、Setting開いて、Menuボタン→UpdateYourKindleをクリック  cf.ファームウェア3.1でJailbreak起動確認 ②usbnetworkをインストール  →成功すると、USB接続した際のドライブのルートにusbnetフォルダができてる  →usbnet/etc/configファイルを編集、以下に修正   ・K3_WIFI="true"   ・K3_WIFI_SSHD_ONLY="true" ③ssh-keygen -t rsaでsshの鍵を作成  →以下、rootでやらないとエラー  →パスフレーズは入れても入れなくてもOK  →id_rsa.pubが生成されるので、コピーして、authorized_keysとリネーム、usbnet/etc/にコピー ④ssh接続  ・Kindle外す  ・Kindleで以下のように入力 ;debugOn ~usbNetwork ;debugOff  ・KindleIPアドレスを調べる:MENUキー>Settings>711  ・PCから ssh キンドルのIP としてアクセス(rootで)   e.g. ssh 192.168.11.6     ↓  ・mntroot rw コマンド実行してファイルシステムを読み書きモードにする  ・passwd コマンドでKindleのrootパスワードを好きなパスワードに設定する     ↓   authorized_keysはもう削除してしまってもOK cf.usbnetboot再インストールメモ  ・フォルダ削除した場合、フォルダ作らないと再インストール失敗する    /usbnet/etc/terminfo  ・リスタート

3、Kindle向けアプリの作成とか

3−1、標準のSDK

SDKダウンロードするのに審査があるってどう言うこと?
開発者舐めてんの?

3−2、C言語プログラミング

KindleはARMプロセッサなので、
同じくARMを使っている手持ちのNAS(TS-110。OSはLinux)にSSH接続して、
gccでコンパイル。そいつをKindleにSSHで転送。
 →HelloWorldの動作確認。

クロス開発環境を構築したいが、うまくいかんかった・・・。以下、失敗メモ。
 


3−3、Java開発

①javaファイルをjavacコマンドでコンパイル
②Kindleに送る
③javaコマンドで実行。パラメータはファイル名から.classを除いたもの
 →HelloWorld動作確認。
cf.CDC環境




4、その他Kindle情報

4−1、豆知識

・SSH接続ができるようになれば、KindleにgFTPで接続可能

・Linuxの端末から電子書籍ファイル転送
 scp コピー元ファイル root@kindleのIPアドレス:/mnt/us/documents
   ↓
 dbus-send --system /default com.lab126.powerd.resuming int32:1
  で更新

・JailBreakに内蔵のhtop(システムモニタのようなもの)→SSH接続して端末で実行可能

・kindleから;debugon→~helpで入力できるコマンド一覧(プライベートショートカット)

・netwatchdを落とす(定期的にネットワークの接続を切りに行ってる?のをやめさせる)
  #/etc/init.d/netwatchd stop

・powerdを落とす(kindleがサスペンドに入るのをやめる。切ってる間は電池を食うようになるはずです)
  #/etc/init.d/powerd stop

・kindleは通常ランレベル5で起動
rc5.dのS95frameworkがjava環境の立ち上げスクリプト

・java -versionの結果
	Product: Sun CDC Java Client phoneme_advanced-Core-1.3-b03 A2Z-SOW2-CR2-20100225-b01 (built on 05/Feb/2011 18:58 PST)
	Profile: Personal Basis Profile (Security Optional Package) 1.1.2 (Specification 1.1.2)
	JVM:      phoneme_advanced-Core-1.3-b03 A2Z-SOW2-CR2-20100225-b01 (mixed mode)

・cat /proc/cpuinfoの結果
	Processor	: ARMv6-compatible processor rev 3 (v6l)
	BogoMIPS	: 255.59
	(以下略




4−2、Kindle内フォルダ情報

ソフト?:/opt/amazon/ebook/booklet
スクリーンセイバー:/opt/amazon/screen_saver
データ:/mnt/us/documents
その他:
/usr/local/bin → java
/bin
	addgroup           delgroup           kill               mount.util-linux   rm                 true
	adduser            deluser            kill.procps        mountpoint         rmdir              umount
	ash                df                 ln                 mv                 run-parts          umount.util-linux
	busybox            dmesg              login              netstat            sed                uname
	cat                echo               ls                 nice               sh                 usleep
	chgrp              false              lsmod              pidof              sleep              vi
	chmod              fgrep              lsmod.26           pidof.sysvinit     stat               zcat
	chown              grep               mkdir              ping               stty
	chrt               gunzip             mknod              pipe_progress      su
	cp                 gzip               mktemp             ps                 sync
	date               hostname           more               ps.procps          tar
	dd                 ip                 mount              pwd                touch

/usr/bin
	[                     dosattr               hexdump               oil-bugreport         telnet
	[[                    dropbear              htop                  openssl               test
	alsamixer             du                    i2cutil               pango-querymodules    tic
	amixer                dump-and-kill-cvm     iconv                 passwd                time
	aplay                 dump-stack            id                    pcprofiledump         tload
	arecord               env                   infocmp               pgrep                 toe
	aserver.sh            evtest                infotocap             picocom               top
	audioServer           expr                  install               pkill                 top.procps
	awk                   fc-cache              iozone                pmap                  tput
	basename              fc-cat                jpegtran              pmic                  tr
	browserd              fc-list               kdb                   pmon                  traceroute
	bsdiff                fc-match              kdb_static            pmond                 tset
	bspatch               find                  killall               powerd                tsl
	bunzip2               flash_erase           last                  powerd_test           tty
	bunzip2.bzip2         flash_eraseall        last.sysvinit         powertop              tzselect
	bzcat                 flash_info            lastb                 preload               udevinfo
	bzcat.bzip2           flash_lock            less                  preload_static        udevtest
	bzcmp                 flash_unlock          libol-config          printf                uflock
	bzdiff                flashcp               lipc-daemon           process_update        uniq
	bzegrep               free                  lipc-get-prop         pronounce             unzip
	bzfgrep               free.procps           lipc-hash-prop        proxy                 uptime
	bzgrep                ftl_check             lipc-probe            pwdx                  uptime.procps
	bzip2                 ftl_format            lipc-send-event       rdjpgcom              utmpdump
	bzip2recover          fusermount            lipc-set-prop         readlink              vmstat
	bzless                gasgauge-info         lipc-wait-event       realpath              w
	bzmore                gdb                   locale                recEvent              waitforkey
	catchsegv             gencat                logger                renice                wall
	chattr                getconf               logname               reset                 wall.sysvinit
	ckimage               getent                lrz                   reset.ncurses         watch
	clear                 glib-genmarshal       lsattr                rsync                 wc
	clear.ncurses         glib-gettextize       lsz                   say                   wget
	cmp                   glib-mkenums          make_class            scp                   which
	cramfsck              gobject-query         md5sum                seq                   who
	crontab               gst-feedback          mesg                  showlog               whoami
	curl                  gst-feedback-0.10     mesg.sysvinit         skill                 wpa_cli
	curl-config           gst-inspect           mkcramfs              slabtop               wpa_passphrase
	cut                   gst-inspect-0.10      mkfifo                snice                 wpa_supplicant
	cvm-dumpstack         gst-launch            mtd_debug             sort                  wrjpgcom
	dbclient              gst-launch-0.10       mtest                 sprof                 xargs
	dbscp                 gst-typefind          mtrace                sqlite3               xd
	dbus-cleanup-sockets  gst-typefind-0.10     nanddump              ssh                   xslt-config
	dbus-daemon           gst-visualise-0.10    nandwrite             startx                xsltproc
	dbus-launch           gst-xmlinspect        nc                    strace-graph          xtrace
	dbus-monitor          gst-xmlinspect-0.10   niceaudio             sumtool               yes
	dbus-send             gst-xmllaunch         notifytph             tack                  zic
	dbus-uuidgen          gst-xmllaunch-0.10    nslookup              tail
	dirname               head                  ntpdate               tee

/usr/sbin
	alsactl           dtpmgroam         ip6tables         netwatchd         startWan          usbserial
	chat              ecu               iptables          otaup             stopWan           verbose
	checkpmond        eips              iptables-restore  pcm               syslog-ng         volumd
	chpasswd          eiputs            iptables-save     phd               system_state      wancontrol
	chroot            eu                iptables-xml      pppd              tinyrot           wand
	closerun          ewu               jabberwocky       pppdump           tmd               waninfo
	cmd               factory_reset     loginfo           pppstats          ttsd              watchdogd
	crond             fbset             lsof              rdate             udevmonitor       wifid
	dm                feature           mcsd              rpcinfo           update-passwd     zdump
	dmdld             iconvconfig       mntroot           setdate           updatetime        zic
	dropbearmulti     idme              mntus             settz             updatewait
	dropdtr           idme_functions    modemcmd          shipping_mode     usbnetwork

/sbin
	adjtimex                fsck.e2fsprogs          insmod.26               mkfs.ext3.e2fsprogs     sfdisk
	badblocks               fsck.ext2               insmod.static           mkfs.vfat               shutdown
	blkid                   fsck.ext2.e2fsprogs     iwconfig                mklost+found            shutdown.sysvinit
	bmiloader               fsck.ext3               iwlist                  modinfo                 sln
	debugfs                 fsck.ext3.e2fsprogs     iwpriv                  modinfo.26              start-stop-daemon
	depmod                  fsck.vfat               killall5                modprobe                sulogin
	depmod.26               fsp                     klogd                   modprobe.26             sysctl
	dosfsck                 generate-modprobe.conf  ldconfig                mount.fuse              sysctl.procps
	dumpe2fs                getty                   logsave                 pivot_root              sysreboot
	e2fsck                  halt                    losetup                 poweroff                telinit
	e2fsck.e2fsprogs        halt.sysvinit           lsmod                   reboot                  test_fsp
	e2image                 hwclock                 makedevs                reboot.sysvinit         tune2fs
	e2label                 ifconfig                mkdosfs                 resize2fs               udevcontrol
	eeprom.AR6002           ifdown                  mke2fs                  restart                 udevd
	fdisk                   ifup                    mke2fs.e2fsprogs        rmmod                   udevsettle
	filefrag                init                    mkfs.ext2               rmmod.26                udevtrigger
	freeramdisk             init.sysvinit           mkfs.ext2.e2fsprogs     route                   udhcpc
	fsck                    insmod                  mkfs.ext3               runlevel                wmiconfig