Jailbreaking
- mount Kindle。
- 下載 kindle-jailbreak-0.7.N.zip。
- 把裡面的 update_jailbreak_0.7.N_k3gb_install.bin 抄到 Kindle 目錄的最上層(選 k3gb 是因為這是指 Kindle3+3G+Wi-Fi 且序號前四碼為 B00A 的非 US 版)。
- 在 Kindle 目錄的最上層,建立子目錄 hack/。
- 把 update_jailbreak_0.7.N_k3gb_uninstall.bin 抄到 hack/ 裡備用及備忘。
- umount Kindle。
- 在 Kindle 上,按 [Home]→[Menu],到 [Settings],按 [.] 進去之後,按 [Menu],再 按 [Update Your Kindle](如果有程式可供 update,則此行為黑色,否則為淺灰色)。
- Kindle 會問你是不是真的要 update,選 [ok] 按 [.] 確認。
- 注意其不要關機的警告訊息,靜觀其變。約半分鐘內會完成,並自動重新開機。
usbNetwork
- mount Kindle。
- 下載 kindle-usbnetwork-0.33.N.zip。
- 把裡面的 update_usbnetwork_0.33.N_k3gb_install.bin 抄到 Kindle 目錄的最上層。
- 把 update_usbnetwork_0.33.N_k3gb_uninstall.bin 抄到 hack/ 裡備用及備忘。
- umount Kindle。其餘步驟同上 6, 7, 8 ,完成更新。
- 在 Kindle 上,按 [Home] 回到最上層,再按 [Del],下方會出現搜尋輸入列,這時依序輸入下面三行,每輸入一行就按一次 enter(在 [Del] 正下方)。
;debugOn~usbNetwork;debugOff - 先把 Kindle 上的網路關掉(否則待會連線可能會有問題),再用 usb 線接到電腦,這一次的情形如下:
- Kindle 不會再出現充電的畫面,而是可以繼續動作,因為它這次不把自己當作隨身碟,而是成為一個 usb 網路卡,它的 ip address 預設為 192.168.2.2。
- 在電腦那邊則不能去 mount 它,也不會看到 Kindle 裡的電子書目錄,因為 Kindle 現在不是一個 usb mass storage device,而是一個網路卡。電腦這邊用 lsmod 看的話,會看到它也已經同時載入 cdc_ether.ko、cdc_subnet.ko 以及 usbnet.ko。如果 kernel 沒有把這些 features compile 進去的話,那就必須重新 compile 或是換個 kernel。在 Windows 上則必須找到並安裝 driver。
- 在電腦這邊,用 ifconfig 可以看到 usb0 的介面。以 root 的權限輸入
ifconfig usb0 192.168.2.1 up
再輸入
route add default gw 192.168.2.2 dev usb0
然後就可以 ping 看看 192.168.2.2,看 Kindle 那邊有沒有什麼回應。
- 再輸入
ssh 192.168.2.2
或
telnet 192.168.2.2
就會看到
Trying 192.168.2.2...Connected to 192.168.2.2.Escape character is '^]'.
Welcome to Kindle!
################################################# 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 toswitch back to a writable rootfs.################################################
[root@kindle root]#
- 輸入 pwd,會看到
/var/tmp/root
其他指令如 ps -e, top, ifconfig, ls, cd, uname -r (2.6.26-rt-lab126) …… 都可以用。
- 輸入
cd /mnt/base-us/
就可以看到我們平常 mount 看到的目錄內容。
- 這裡記錄一些在 Kindle 上可以參考的指令及輸出情形。
[root@kindle root]# mount
rootfs on / type rootfs (rw)
/dev/root on / type ext3 (ro,noatime,nodiratime,data=ordered)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
tmpfs on /dev type tmpfs (rw,mode=755)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
shm on /dev/shm type tmpfs (rw)
rwfs on /mnt/rwfs type tmpfs (rw,size=32768k)
rwfs on /var type tmpfs (rw,size=32768k)
/dev/mmcblk0p2 on /var/local type ext3 (rw,sync,errors=continue,data=ordered)
fsp on /mnt/us type fuse.fsp (rw,nosuid,nodev,noatime,user_id=0,group_id=0)
/dev/loop/0 on /mnt/base-us type vfat (rw,noexec,noatime,nodiratime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8)
usbfs on /proc/bus/usb type usbfs (rw)
[root@kindle root]# df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/mmcblk0p1 662362 494310 141428 78% /
tmpfs 128268 20 128248 0% /dev
shm 128268 0 128268 0% /dev/shm
rwfs 32768 288 32480 1% /mnt/rwfs
rwfs 32768 288 32480 1% /var
/dev/mmcblk0p2 23797 1579 20990 7% /var/local
fsp 3202192 278328 2923864 9% /mnt/us
/dev/loop/0 3202192 278328 2923864 9% /mnt/base-us
[root@kindle root]# lsmod
Module Size Used by
option 12512 2
usbserial 27756 5 option
ehci_hcd 38880 1 option
usbcore 136388 4 option,usbserial,ehci_hcd
ar6000 161076 0
g_ether 21096 0
ppp_async 8612 1
crc_ccitt 1856 1 ppp_async
ppp_generic 19252 5 ppp_async
slhc 5984 1 ppp_generic
volume 8900 0
fiveway 22360 0
mxc_keyb 15904 0
uinput 7776 0
fuse 48348 2
arcotg_udc 38628 1 g_ether
mwan 7324 2 ehci_hcd,ppp_async
eink_fb_shim 117564 0
eink_fb_hal_broads 397532 0
eink_fb_hal 59764 5 eink_fb_shim,eink_fb_hal_broads
[root@kindle root]# iwconfig
lo no wireless extensions.
usb0 no wireless extensions.
wlan0 AR6000 802.11g Mode:Managed Bit Rate=11 Mb/s Tx-Power=0 dBm
Sensitivity=0/3
Retry:on
Encryption key:off
Power Management:off
Link Quality:255/94 Signal level:-96 dBm Noise level:-96 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:1
ppp0 no wireless extensions.
[root@kindle root]# ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:5869 errors:0 dropped:0 overruns:0 frame:0
TX packets:5869 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:412748 (403.0 KiB) TX bytes:412748 (403.0 KiB)
ppp0 Link encap:Point-to-Point Protocol
inet addr:10.176.98.121 P-t-P:10.64.64.64 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:10 errors:0 dropped:0 overruns:0 frame:0
TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:178 (178.0 B) TX bytes:760 (760.0 B)
usb0 Link encap:Ethernet HWaddr EE:19:00:00:00:00
inet addr:192.168.2.2 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6074 errors:0 dropped:0 overruns:0 frame:0
TX packets:3993 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:314023 (306.6 KiB) TX bytes:434202 (424.0 KiB)
wlan0 Link encap:Ethernet HWaddr 28:EF:01:56:3A:F8
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:76 errors:0 dropped:0 overruns:0 frame:0
TX packets:96 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:10118 (9.8 KiB) TX bytes:7481 (7.3 KiB)
[root@kindle documents]# cat /proc/cpuinfo
Processor : ARMv6-compatible processor rev 3 (v6l)
BogoMIPS : 255.59
Features : swp half thumb fastmult vfp edsp java
CPU implementer : 0x41
CPU architecture: 6TEJ
CPU variant : 0x1
CPU part : 0xb36
CPU revision : 3
Cache type : write-back
Cache clean : cp15 c7 ops
Cache lockdown : format C
Cache format : Harvard
I size : 16384
I assoc : 4
I line length : 32
I sets : 128
D size : 16384
D assoc : 4
D line length : 32
D sets : 128
Hardware : Amazon MX35 Luigi Board
Revision : 35020
Serial : "B00AA0A0115602A5"
BoardId : "SP1B000000000000"
[root@kindle documents]# ls -l /mnt/us/usbnet/bin/
-rwxr-xr-x 1 root root 43156 Apr 19 10:51 busybox
-rwxr-xr-x 1 root root 203492 Apr 19 10:51 dropbearmulti
-rwxr-xr-x 1 root root 98980 Apr 19 10:51 htop
-rwxr-xr-x 1 root root 109772 Apr 19 10:51 lsof
-rwxr-xr-x 1 root root 351316 Apr 19 10:51 rsync
-rwxr-xr-x 1 root root 55360 Apr 19 10:51 sftp-server
-rwxr-xr-x 1 root root 1474 Mar 23 09:10 usbnet-disable
-rwxr-xr-x 1 root root 1539 Mar 23 09:10 usbnet-enable
-rwxr-xr-x 1 root root 7442 Mar 23 09:10 usbnetwork
[root@kindle root]# cat /etc/passwd
root:x:0:0:root:/tmp/root:/bin/sh
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:100:sync:/bin:/bin/sync
operator:x:37:37:Operator:/var:/bin/sh
sshd:x:103:99:Operator:/var:/bin/sh
messagebus:x:92:92:messagebus:/bin/false
nobody:x:99:99:nobody:/tmp:/bin/sh
default:x:1000:1000:Default non-root user:/dev/null:/bin/sh
framework:x:1001:150:Framework User:/tmp/framework:/bin/sh