2015-11-14




HP Jornada 728 安装 debian GNU/Linux 720degrees






前言/Foreword

720degrees 是一套基于Debian GNU/Linux ARM 架构分支的发行版。除少量针对jornada的特有软件外,可以直接安装debian官方的arm分支的海量软件。720degrees 名称来源于debian官方标志,旋转了720度的螺旋。

作者xRAIN  ,本文基于GNU FDL 文档协议发布。在如下网址可以找到最新版本,有任何问题可发邮件或留言给作者。

更新记录/ What's new

  • 2010年1月USB Host
  • 2008年8月:增加 hnb记事本 和google doc 部分。evince看pdf文档。
  • 2007年夏:原始版本

目前主要问题/ Current problem

  • 2.4和2.6 linux内核对电源管理支持很差,只能将CPU降频到51Mhz,充满的电池只能待机1~2天。
  • 2.4和2.6 linux内核都不能正确重启系统,所以从linux退出后必需拔掉主电池和纽扣电池才能重新回到wince。
  • 由于2.6内核声卡驱动架构由oss 转向alsa,新的声卡驱动还没有写出来。声卡问题排在电源管理之后,目前所有的新补丁驱动都被开发者提交到2.6内核中了,只能等待2.6.23 以后的vanilla内核发布。
  • 2.4内核的console framebuffer 滚动非常慢,而且颜色偏粉色,2.6内核没有这个问题。
  • 2.4内核的蓝牙模块能够编译出来,但是蓝牙不工作? 2.6内核据说蓝牙已经可用了。
  • 2.4内核好象没有mic驱动,也就是无法录音 voip?
只能等jlime.com   的Kristoffer放出新2.6 内核


安装基本系统/ Installation

硬件/ Hardware

安装所需软硬件条件:jornada 7xx 系列HPC(如710 720 728 ), 1G 以上CF卡,10MPC卡有线或无线网卡, 读卡器, 网络环境。
jornada 7xx系列基本硬件配置
CPU:206MHz 32-bit StrongARM SA1110 processor
内存:728 64MB RAM,其余型号32M
屏幕:6.5-in (16.7-cm) CSTN Touch screen, 640 x 240 x 65,536 colors on screen, 0.23mm dot pitch, 2D graphics acceleration
接口:1 X PC Card Type II card slot
         1 X CompactFlash Type I card slot (拆掉原有卡舱门后可接typeII 微硬盘或者SDCF转接卡)
         立体声耳机接口
         Audio speaker and microphone
         RS232C serial port
         IrDA infrared port
        USB Host 需要硬件改装 
电池:锂电池(18650x2 很容易更换电芯)
         CR2032 用linux最好将它暂时去掉
尺寸:18.9x8.5x3.4 厘米
重量:515克带电池

USB Host 改造

StrongARM SA1111 companion chip内置USB Host功能,需要添加一部分电路。目前尚不能工作。

CF 卡舱门修改见

http://forums.720degrees.net/viewtopic.php?t=96&start=0
下面的图片就是手工制作的3毫米厚的不锈钢舱门。改造后可以插SDCF卡转接器(淘宝上60~100 商家说最大支持4GSD),目前插的是2G sandisk SD(行货¥130)

    

安装

格式化CF卡
在一台linux机器上,sudo cfdisk /dev/sdx (可能是sda,取决于你的机器,一般插上读卡器会有提示)
hda1 FAT格式 至少10M,大了也不浪费,
hda2 linux根分区,ext2格式,尽量大。
其它可用作swap 分区或者是单独挂载的其它分区,
格式化,mkdosfs /dev/sdx1 , mke2fs /dev/sdx2, mkswap /dev/sdxx
获取安装镜像文件,目前主站down了,这是临时存放地点。
$ sudo tar jxvf tmp/debian-sarge-j720-image.tar.bz2 -C mnt/jlime/ #解压缩
下载内核和bootloader
http://www.jlime.com 负责开发2.6内核,暂时没有声音支持。
将 modules-2.4.xx.tar.bz2解压缩到 hda2根分区,其他的都放在hda1 FAT分区,编辑params.txt 文件确保里面第一行提到的内核文件名第二行提到的initrd文件名都正确。
Ok 将CF卡装好 在wince下运行jlinexec.exe 就启动了。
第一次启动系统会报错hda2 分区磁盘错误,并自动检查,检查完毕自动重起,每次重启都必需拔掉主电池和纽扣电池。第二次启动应该就正常了,提示 jornda login: 输入用户名 root,密码为空。登陆后第一件事情,passwd 命令更改一下密码,你只需输入pass 然后按两下tab键 bashshell自动就把命令全称passwd补齐了。

配置网络

linux 2.4 内核支持大部份10M有线网卡和802.11b wifi网卡,如果网络环境是dhcp自动分配ip地址,那么插入网卡等上几秒钟就可以了。如果是adsl宽带拨号,需要用 pppoeconfig 配置,网上相关介绍很多,应该没有问题。如果是静态IP,可以手工编辑 /etc/network/interface ,
将下面的内容换成
# The primary network interface - use DHCP to find our address
auto eth0
iface eth0 inet dhcp
=============
# The primary network interface 静态IP
auto eth0
iface eth0 inet static
address 192.168.3.90
gateway 192.168.3.1
netmask 255.255.255.0
network 192.168.3.0
broadcast 192.168.3.255

配置无线网卡。
iwconfig eth0 essid any mode managed或者ad-hoc
配置文件在 /etc/pcmcia/wireless.opts
搜寻无线网络可用
#iwlist scan
或者kismet (consle)、 wifi-radar (gtk)
aircarck-ng airsnort ???

配置系统

base-config #调整基本配置。时区,添加新用户,hostname主机名,最重要的是APT软件仓库,选择http 在线下载,mirror镜像地址选择China, mirrors.geekbone.org。(以后可以通过编辑  /etc/apt/sources.list手动调整。)一路回车,运气好的话就能更新软件了。
也可以apt-get upgrade 或者 dselect 图形界面升级。软件下载很快可以保持在100k以上,但是解包和安装非常慢。主要是每个软件包都存在依赖关系,有一些软件包是可以删除的,需要慢慢研究。

/etc/apt/sources.list 中手动加入720degrees的软件仓库就可以安装针对jornada的软件了。
deb http://stevenwiki.homedns.org/720/apt/ stable main
deb http://stevenwiki.homedns.org/720/apt/ testing main

软件包管理

安装和删除软件通过如下命令完成。
apt-get install ntpdate # 安装一个网络时钟同步软件ntpdate。安装好后,每次连上网络自动同步时间。
apt-get remove base-config # 删掉没用的base-config
apt-cache search xxxx # 搜寻有关xxxx软件的信息
dpkg -L xxx # 查看xxx 软件包安装的文件分布
deborphan、localepurge、debfoster 可以用来删除无用的软件包
安装好 ipkg_0.99.154-0_arm.deb包后可以用ipkg 来安装ipkg格式的软件包。如handhelds.org jlime.com 都有arm.ipkg软件包下载。

下载源码自己编译软件

可以将testing的 deb-src 源加入 stable的系统中,这样就可以自己编译testing 里面还没有进入stable的软件。

apt-get source fbreader
apt-get build-dep fbreader
dpkg-buildpackage -rfakeroot
dpkg -i xxx.deb

keymap 键盘布局

默认安装 console-tools包,/etc/console 里面放layout文件。boottime.kmap.gz 是2.4内核的en_US布局文件, 除欧元符号和数字小键盘外各按键都支持。
showkey, xev 可以用来查看keycode.
键盘前下方的音量+- 和播放键的 keycode是,21, 22, 23,
hotkeys

调整背光亮度看电池容量

lcdset是一个小工具, battstat  看电池容量。

Irda 红外端口

irda-utils, ppp pppconfig pppstatus
mknod /dev/ircomm0 c 161 0
modprobe sa1100_ir
irattach irda0 -s
irdadump 可以看到端口活动情况。

obexftp, openobex-apps

运行 irobex_palm3 后可以接收从Palm上通过红外口发送的文件。
http://kapsi.fi/~mcfrisk/linux_gprs.html#AEN311


红外口gprs手机拨号

http://kapsi.fi/~mcfrisk/linux_gprs.html#AEN120
/etc/modules.conf 中加入
options ppp_async flag_time=0

爱立信T39 得调整如下参数
# echo 1000 > /proc/sys/net/irda/min_tx_turn_time
# echo 1 > /proc/sys/net/irda/max_tx_window

蓝牙

CF或pcmcia蓝牙卡,通常识别为串口卡,需要在内核中加入蓝牙支持,或编译成模块。并安装bluez-pcmcia-support。
插入D-link DCF 650BT蓝牙卡,系统提示
ttyS00 at ...

#cardctl ident
product info: "Bluetooth BT0100M", "", ""
  function: 2 (serial)
# hciattach /dev/ttyS0 bcsp
# hcitool scan  可以搜索到蓝牙手机 PDA

配置方法参考这里

zhcon console控制台下中文环境

apt-get install zhcon
需要调整/etc/zhcon.conf,将默认“智能拼音,modules/cce/cce_pinyin.so 输入法关闭”,否则一开启输入法zhcon就会崩溃。
$zhcon --utf8 支持unicode utf8 配合console 字符界面下freetalk jabber聊天软件。
zhcon.sf.net

安装Xserver window manager
需要 xserver-kdrive, xbase-clients. 然后再安装一个window manager 就可以了,也可以装一个启动速度非常慢! 但有很多主题的 gdm
libxdmcp0 libxau0 ?和xserver-kdrive 有冲突?


Windows manager ,icewm 用起来最方便,还有fvwm , wmaker, xfce, blackbox, fluxbox, matchbox, icewm, kde和enlightment等等可用。
$ xsetroot -solid black # 可以用来设定背景颜色或者壁纸。

fvwm 内建有stroke 支持,写好配置文件可以象palm那样用触笔轨迹控制窗口。

屏幕抓图

xwd -display :0 > screendump.xwd命令来抓图

icewm

Ctrl Alt <-> 切换桌面
Ctrl Alt space 在任务栏出现命令行,也可以安装grun,然后绑定 alt F2
Alt F4 关闭当前窗口。
~/.icewm/keys 定义快捷键

中文显示与文泉驿中文字库

debian软件包中的 xfonts-wqy,显示速度非常慢,可以到文泉驿主页上下载一个安装包手工安装。最好只保留一种大小的字体,firefox启动速度较快。

中文输入法

fcitx ,主要问题是启动比较慢,系统要读取码表,一旦启动反应还是很灵敏的。
配置参考 http://www.linuxsir.org/bbs/showthread.php?t=238924
$ sudo vi /etc/X11/Xsession.d/95xinput #创建启动文件 内容为
export LC_CTYPE=zh_CN.GB2312
export XMODIFIERS=@im=fcitx
export XIM=fcitx
export XIM_PROGRAM=fcitx
fcitx

scim,有较多依赖关系感觉不如fcitx好用。

Xmonobut 切换鼠标左中右键

在728上安装 Xmonobut, 这样可以在任务栏上出现一个小鼠标,单击这个图标可以切换鼠标左中右三个键。
http://forums.720degrees.net/viewtopic.php?p=1354#1354
download the source form here
http://handhelds.org/~mallum/downloadables/xmonobut/xmonobut-0.4.tar.gz
$tar zxvf xmonobut-0.4.tar.gz
$./configure
$make
$ sudo make install
$ xmonobut -k 21 -m 22

xmonobut -k 121 ,可以定义win 键为鼠标右键,快速双击win 则为鼠标中建

wifi-radar

可以gui界面显示搜索到的无线网络信号,并可以切换当前网络,很方便的工具。

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

mlterm 直接支持中文显示和输入的term

编辑/etc/mlterm/aafont

ISO8859_1=Dejavu Sans Mono-iso10646-1; //这个改成想要的英文字体, Dejavu 好象比bitstream更好

//下面三个设置相应locale使用的中文字体,请设成自己满意的中文字体
BIG5=AR PL Mingti2L Big5-iso10646-1;   
GB2312_80=Vera Sans Yuanti-iso10646-1;
GBK=Vera Sans Yuanti-iso10646-1;

ISO10646_UCS2_1=FreeMono-iso10646-1;
# If you use UTF-8 but the range of characters is limited to ISO-8859-1,
# you may use the following line instead of the above line.
#ISO10646_UCS2_1=Courier 10 Pitch-iso10646-1;

主配置文件 ~/.mlterm/main
scrollbar_view_name=mozmodern  #滚动条风格,
scrollbar_mode=right #把滚动条放右边
use_login_shell=true #启动mlterm以后,自动执行shell的配置文件
bg_color=slategray #灰黑色的背景颜色
fg_color=gray95 #浅灰白的前景
fade_ratio=65   #当mlterm窗口失去焦点时候,变暗。


scrollbar_mode=right //滚动条在右
fontsize=14
use_xim=true //设置这个才可以用输入法输入 bbs.bitsCN.com国内最早的网管论坛
open_xim_in_startup=true
use_transbg=true //透明背景?
fg_color=white
bg_color=black
#ENCODING=auto //encoding一般不用指定
use_anti_alias=true //使用aa
========================================================

显示FAT 分区中的中文文件名

mount /dev/hdc1 /mnt/tmp -o iocharset=gb2312

File managment/文件管理

Midnight Commander(简称 mc)

网络应用

lynx,elinks,w3m。 elinks 本身不支持中文,但是可以显示gb编码的网页。
改动用户目录下 .elinks/elinks.conf 文件
    set document.codepage.assume = "windows-1252"

ssh

为了能够安全的远程登陆 728,可以安装 openssh-server 或者dropbear,windows上可以安装putty sceure-crt。
openssh-client提供ssh scp命令。

scp

通过ssh 在远程主机之间cp。windows主机可以安装openssh for windows。
scp user@host:/path  user@host:/path

rsync

和scp差不多,优点是可以自动复制文件的不同部份,相同部份不再传输,用来远程备份最方便。

screen

console 窗口管理器 c-A C 开启一个新窗口, c-A N 切换下一窗口, c-A D 脱开(这样就算你注销,你的程序依然由screen代管),screen -r 重新登陆后恢复原来运行的 console 程序。

Mutt收发邮件

需要配合msmtp,官方的mutt已经内置收邮件功能,shift+g 就可收邮件。参考网上配置就可轻松收发gmail邮件,速度很快。这里 是我在网上摘录的配置技巧。配合wv 可以查看word文档
wvHtml --charset=gb2312 your.doc your.html

通过imap管理gmail
set spoolfile=imaps://imap.gmail.com/INBOX
set folder=imaps://imap.gmail.com/
set imap_user=(username)
set imap_pass=(password)

set record="imaps://imap.gmail.com/[Gmail]/Sent Mail"
set postponed="imaps://imap.gmail.com/[Gmail]/Drafts"

mutt最大的问题是imap信箱里比较多时会崩溃,特别是当有几百上千封信的时候,好在我平时inbox里面都在几十封只能,图形界面的sylpheed不存在这个问题

FTP下载

lftp,和wget

centericq finch 聊天??

基于GAIM/Pidgin 的finch

centericq 配置如下,但是不支持中文。
Server : talk.google.com:5223
Secured : yes
Login : ********@gmail.com
Password : ********

freetalk

支持jabbar协议的聊天软件。配合zhcon --utf8 可以在console下完美显示和输入中文。
/who 命令查看在线用户
输入“用户名+聊天内容” 可直接聊天了。
命令常用词汇和 用户名都可tab自动补齐。

RSS

firefox 无法正常显示google reader的界面。但是可以打开google reader的移动版。
snownews ?


rTorrent BT 下载?


rdesktop 连结 windows 远程桌面

rdesktop -f Host

firefox dillo minimo 浏览网页

firefox是全功能的,有1.0.4 和2.0.3可用,速度比较慢,720degrees仓库中的,1.5版很难启动,而且没有中文支持。
建议vimperator 这个插件,可模拟vim的键盘操作,而且自动隐藏无用的地址栏和菜单栏,然后自己改icewm的主题将标题栏去掉,浏览面积就大多了。
dillo速度快但是完全不支持javascript css.也不能输入中文。

Gmail

firefox 打开没有ajax 的gmail 速度还是可以接受的。也可打开移动版的gmail

google doc 文档


速度比较慢,建议将常用文档做成书签收藏起来。现在google doc已经有,全屏模式了ctrl shift+F,可用面积大多了。如果打开移动版只能浏览不能编辑。

minimo mini-mozilla browser

ipkgfind.handhelds.org 可以下载到minimo_0.2 使用ipkg工具来安装。功能很强,支持gmail ajax界面。

主要问题是,不稳定,操作界面是为竖屏设计的下面的按钮浪费空间,键盘快捷键太少了,



  








其他日常应用


MOC播放mp3

MOC,即 music on console,是一个在终端中使用的音乐播放器。
非root用户播放需要通过chmod取得/dev/dsp /dev/mixer的写入权限。
也可试试 playmp3list、mp3blast、mpg321、cplay (curses front end for multiple console players) 配合aumix调整音量。

vim文档编辑

xzgv

图像浏览

pim管理

abook  暂时无法使用???

hnb可以折叠的记事本

是一个树状目录结构的记事本,outline manager, 类似于Palm 上的bonsai,可以部分代替freemind 之类的 mind manager。

Evince 看pdf文档

evince 是gnome的文档查看器,打开文档速度和页内滚动速度比xpdf慢一点,但是翻页的速度明显加快。 可能是由于jornada屏幕的问题 evince和xpdf字体渲染效果很差,切换到windows CE下面用acrobat看也是一样。wince acrobat的优点是reflow模式,有一些pdf文档可以将文字内容重排。

XPDF 看pdf文档,快捷键

页面内滚动较快,但是翻页速度很慢,如果打开的是大文档就麻烦了
o 通过文件选择器打开一个新PDF文件. f 查找字符串. n 翻到下一页. p 翻到前一页. 空格键,PageDown键或者Next键 向下滚动当前页面,如果已经到达当前页面低部,则翻到下一页. Backspace键,Delete键,PageUp或者Previous键 向上滚动当前页面,如果已经到达页面顶部,则翻到前一页. Home键 滚动到当前页面顶部. End键 滚动到当前页面低部. 箭头键 滚动当前页面. control-L 更新当前页面. q 退出xpdf.

电子书阅读

fbreader?

电子辞典

stardict

GAIM/Pidgin聊天

支持多种协议,新版的应该可以登陆QQ。
  
gossip ?

mplayer 视频播放??

sylpheed 收邮件

配合gmail的imap 很方便! 键盘快捷键配置合理,如果觉得屏幕小可以分三个窗口分别显示folder 信件列表 和信件内容。


Compiling the kernel source 交叉编译 linux 内核

http://forums.720degrees.net/viewtopic.php?t=58&highlight=kernel+compile
用3.3.2版本的可以编译成功2.4内核。将它解压缩到根目录。在环境变量中增加path /usr/local/arm/bin.
到kernel.org 下载2.4.34 版本内核,解压缩 linux-2.4.34, cd linux-xxx,  bzcat ../patch-2.4.34-j720-4.bz2 | patch -p1 打补丁。
cp ../config-2.4.34-j720-4   ./.config 
make oldconfig
make menuconfig 加入蓝牙支持。
make zImage
make modules
make modules_install INSTALL_MOD_PATH=$TARGETDIR 将内核模块安装到$TARGETDIR
arch/arm/boot/zImage 内核
depmod


在/etc/pcmcia/bluetooth.conf中增加 :
card "Billionton Bluetooth Card"
version "Compact Flash","Bluetooth Card"
bind "hci_uart"

在/etc/bluetooth/bt-uart.conf中增加一行:
"Compact Flash","Bluetooth Card","","":/dev/ttyS3 bcsp:/dev/ttyS3 baud_base 921600

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

参考网页









How to upgrade micronucleus

micro micronucleus nucleus 是 ATtiny/ ATMega328p的bootloder, 它的过人之处是给这些芯片带来usb支持. 使得它们可以直接通过usb口来烧录. 我购买了很多 digispark 开发板. 这些开发板小巧方便价格低廉. ...