Kindle PaperWhite作为树莓派的命令终端
网上有大牛把Kindle作为树莓派的显示屏,外带一个Mac蓝牙键盘,实用移动电源供给。一个台低功耗的可移动主机,酷极了。手上真好有一台Kindle PaperWhite,于是开始折腾。
准备工作
- Raspberry Pi 一台
- Kindle PaperWhite 一台(已越狱)
- USB转microUSB数据线2根,一根给Raspberry Pi供电,一根作为Kindle和Raspberry Pi的连接线
安装USBNetwork
USBNetwork工具可以通过usb数据线连接kindle和另一台电脑,实现ssh登录。
安装步骤如下
- 下载Kindle-usbnet-0.1.5N.zip,解压以后仔细阅读
README_FIRST.txt
文件 - 将update_usbnet_0.15.N_install_touch_pw.bin拷贝到Kindle根目录
-
Kindle里工具栏菜单[设置]-> 工具栏菜单[更新您的Kindle],安装完成后会重启
- 安装完成以后Kindle更目录会多出一个
usbnet
目录和extensions\usbnet
目录 -
编辑
usbnet\etc\config
文件,修改如下USE_WIFI="true" USE_OPENSSH="true"
开关USBNetwork模式
在Kindle的搜索框内,输入
;usbnetwork
或者;un
。再输入一个可以切换。
查看网络状态
在Kindle的搜索框内,输入
;711
。可以查到当前无线网卡的IP地址
Mac通过USB线登录Kindle
- 用USB线连接Mac和Kindle
- 默认Kindle会被挂载成存储设备,先弹出该设备
- 然后开启Kindle的USBNetwork模式
-
Mac[系统偏好设置]->[网络] 新建一个RNDIS/Ethernet Gadget链接配置如下
ip: 192.168.15.201 mask: 255.255.255.0 router: 192.168.15.244 * 如果无法创建RNDIS连接,可能需要安装[HoRNDIS](http://joshuawise.com/horndis) * router的地址要Kindle的`/usbnet/etc/config`文件里`KINDLE_IP`项一致
-
终端SSH连接
ssh root@192.168.15.244
通过WiFi登录Kindle
- 在Kindle的搜索框内,输入
;711
查找Kindle无线网卡IP - 通过终端SSH连接即可
到此Kindle的Network算配置完毕,下来我们来配置Kindle的Kterm
安装KUAL和Kterm
KUAL
KUAL是Kindle Unified Application Launcher的缩写,其作用是为越狱的Kindle启动第三方应用。简单的说通过一本特殊的书籍来统一实现启动触发器。
- 下载prerequisites-all-supported-devices.zip
- 解压后将update_kindlet-dev-20130710-k5-ALL_install.bin文件拷贝到Kindle根目录,Kindle安装.bin文件的方法都是一样的,Kindle里点击[更新您的Kindle],然后会显示安装进度,自动重启后完成。
- 下载KUAL.V.2.2.zip
- 解压后将KindleLauncher-2.0.azw2文件拷贝到Kindle的
/documents
目录 - 断开连接后Kindle里多了一本《Kindle Launcher》的书,点开有一排可以启动的应用列表。
Extend
Extend
是一组扩展的预编译好的linux命令行工具,让Kindle可以运行一些常用的linux命令,如:openssh,nano,screen,irssi,php,bash,rsync等。
- 下载optware_img_60m.zip和kindle_extend-1.1.zip
- 解压kindle_extend-1.1.zip到kindle_extend-1.1目录
- 解压optware_img_60m.zip将
optware.img
文件替换kindle_extend-1.1/extend/optware.img
文件 - 将
kindle_extend-1.1
目录下的extend
和extensions
子目录拷贝到Kindle更目录 -
然后通过SSH登录Kindle执行如下命令
mntroot rw mkdir /mnt/us/circles cp /mnt/us/extend/mountd /mnt/us/circles ln -s /mnt/us/circles/mountd /etc/rc5.d/S101mountd mntroot ro /mnt/us/install.sh /mnt/us/mount.sh
Kterm
Kterm是一个内置虚拟键盘的GTK+的Kindle终端模拟器
- 下载Kerm 0.7
- 解压后将此文件替换
kterm/bin/kterm
文件。具体看这里 - 然后将
kterm
文件夹拷贝到Kindle的extensions
目录下 - 断开Kindle与电脑的链接,通过KUAL打开Kterm,随便Ping台机器试试。
配置Raspberry Pi的USB网络连接
安装了USBNetwork,Kindle已经可以通过数据线和Mac电脑连网,接下来配置Raspberry Pi的USB网络链接,使Kindle插入Raspberry Pi以后可以自动建立网络连接。
sudo vim /etc/network/interfaces
添加如下内容
#USB tethering
allow-hotplug usb0
iface usb0 inet static
address 192.168.15.1
netmask 255.255.255.0
broadcast 192.168.15.255
up iptables -I INPUT 1 -s 192.168.15.1 -j ACCEPT
up eject /dev/sda1
allow-hotplug usb0
表示插入USB后自动加载网络配置up eject /dev/sda1
表示弹出Kindle自动挂载的磁盘分区
重启网络
sudo service networking reload
见证奇迹的时刻
- 使用数据线连接Kindle和Raspberry Pi
- 开启USBNetwork模式,Kindle的搜索框内,输入
;un
然后回车 -
打开Kterm键入
ssh pi@192.168.15.1
若提示输入密码或者保存密钥指纹,说明大功告成。
Kindle作为跳板机
Kindle和Raspberry Pi顺利创建连接之后,Mac OS可以通过Kindle的Wifi连接SSH登录进Kindle,然后再次SSH登录进入Raspberry Pi。