Log inUsernamePassword
Log me on automatically each visit    
Register
Register
Log in to check your private messages
Log in to check your private messages
Zaurus 中文论坛 Forum Index » pdaXrom & debain & openBSD

This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.
[转帖]我的Zaurus SL-C3000和SL-C3100
View previous topic :: View next topic  
Author Message
yuxinguo



Joined: 22 Jan 2007
Posts: 8

小企鹅: 262

PostPosted: 2007-Jan-31 Wed, pm6:59 Reply with quote
 Post subject: [转帖]我的Zaurus SL-C3000和SL-C3100

我的Zaurus SL-C3000和SL-C3100

定制pdaXrom:

pdaXrom是Zaurus上完整的X窗口环境。有了它,C3000/C3100将会变成真正的迷你笔记本。

注意: pdaXrom 1.1.0 beta1/beta3是基于2.4.20内核的,开发已经停止,新的版本将使用2.6.x内核。

下面的内容将包括2.4.20内核的系统的一些错误的修正和性能的改进。大多数的内容对运行在任何Zaurus型号上的pdaXrom都是有效的,但也有一些内容仅对C3000有效。C3000的pdaXrom和其它型号的rom主要的区别在于C3000的pdaXrom是装在微硬盘而不是rom中的。

一些定制过程所需要的文件可以在这里找到。




修正启动过程

在启动过程中有一些小问题要修改。

首先是pdaXrom 1.1.0 beta1的C3000 beta2版本中的pivot启动. 下面的修改使得C3000在插有CF卡的情况下依然可以启动,而且可以正确挂载.

# cp init /media/realroot/sbin/init
# chmod 755 /media/realroot/sbin/init
# cp halt /etc/rc.d/init.d/halt
# chmod 755 /etc/rc.d/init.d/halt
# cp ide.opts /etc/pcmcia/ide.opts


在挂载分区之前运行一下fsck是个好主意。挂起失败很多情况下和分区没有查错有关。你可以把fsck拷贝到根分区,开机就可以自动查错了。

# cd /media/realroot/lib
# cp /lib/libblkid.so.1.0 .
# ln -s libblkid.so.1.0 libblkid.so.1
# cp /lib/libuuid.so.1.2 .
# ln -s libuuid.so.1.2 libuuid.so.1
# cp /lib/libext2fs.so.2.4 .
# ln -s libext2fs.so.2.4 libext2fs.so.2
# cp /lib/libcom_err.so.2.1 .
# ln -s libcom_err.so.2.1 libcom_err.so.2
# cd /media/realroot/sbin
# cp /sbin/fsck .
# cp /sbin/e2fsck .
# ln -s e2fsck fsck.ext2
# ln -s e2fsck fsck.ext3


最后,通过下面的改动可以隐去启动时的提示消息

隐藏cardservices cannot find modules消息

# mkdir -p /media/realroot/lib/modules/2.4.20





自动启动X图形界面

通常runlevel 3意味着进入控制台而runlevel 5则是进入图形界面. pdaXrom启动的时候是进入runlevel 5,它应该开启图形界面。下面的补丁可以让pdaXrom开机自动进入图形界面

# head -`wc -l /etc/rc.d/rc|awk '{print $1-1}'` /etc/rc.d/rc > /etc/rc.d/rc.new
# echo "if [ \$runlevel -eq 5 ]; then" >> /etc/rc.d/rc.new
# echo " export HOME=/home/root" >> /etc/rc.d/rc.new
# echo " /usr/X11R6/bin/startx" >> /etc/rc.d/rc.new
# echo "fi" >> /etc/rc.d/rc.new
# echo "exit 0" >> /etc/rc.d/rc.new
# mv /etc/rc.d/rc.new /etc/rc.d/rc


你也可以把下面的语句加在/etc/rc.d/rc最后,记得要放在exit 0之前,效果是一样的:

if [ $runlevel -eq 5 ]; then
export HOME=/home/root
/usr/X11R6/bin/startx
fi





配置Feeds和安装软件

默认的Package Manager中的feed已经很旧,需要替换了。C3000有两个feeds,一个是大部分Zauri都通用的feeds,另外一个是C3x00专用的:

http://mail.pdaxrom.org/download/1.1.0beta1/Zaurus-C1000-C3100/feed/
http://mail.pdaxrom.org/download/1.1.0beta1/Zaurus-7x0-860/feed/
此外你还可以把两个feed.tar.gz文件都下载下来,解压到卡上或者内置硬盘上。然后把Package Manager的feed地址指向解压的目录,比如file:///home/root/Documents/installs/C3000/feeds.


你也可以不通过feed直接安装独立的包文件,但是你需要自己管理安装依赖包。你可以使用图形界面的Package Manager或者使用ipkg 命令.

如果是本地安装,你也可以把两个feed合并在一起。直接把两个feed.tar.gz解压到相同目录(首先解压7x0的,然后再解压C3100的),然后运行ipkg-make-index 生成Packages文件。我已经把ipkg-make-index放进我的ipktools包 [ipktools_0.2_armv5tel.ipk]里面了.




额外的安装包

除了官方提供的包以外,还有很多其它的非官方包。下面是我手工安装的包列表。

需要的库文件:

libstdcxx5-compat (needed for older applications)
有用的命令行工具:

vim (用来代替默认的vi,因为vi总是死锁)
lynx (基于文本的web浏览器)
aumix (音量控制)
mplayer (播放器)
flite (语音合成)
bzip2 (压缩工具)
unrar (解压缩工具)
unzip (解压缩工具)
diffutils (文本比较工具)
aspell (拼写检查引擎)
imagemagic (图像格式转换)
kismet (wifi检测)
运行库:

samba (网上邻居)
perl (perl语言解释器)
dosbox (DOS模拟器)
x11vnc (vnc服务器)
java (类库和javavm)
游戏:

doom2
quake2
supertux (类似超级马里奥的游戏)
应用程序:

gtkterm2 (可以分页的X终端)
bluefish (HTML编辑器)
tuxpaint (图像处理)
inkscape (图像处理)
xmmsplayer (xmms的视频播放插件)
gaim (聊天工具)
tightvnc (vnc客户端)
rox (文件管理器)
emelfm2 (文件管理器)
xarchiver (图形界面文件压缩/解压)
gthumb (看图工具)
gftp (ftp工具)
qbedic (字典)
stardict (字典)
imposter (幻灯片)
有些包在安装后需要进一步的配置。下面的章节包含了它们该如何配置的信息。




键位设定

有两种改变键位设定的方式,一种是通过重要的补丁来使键位设定工作,另一种是增强组合键功能,就像原rom中的keyhelper那种,

自定义键位设定,你需要修改/etc/sysconfig/keyboard/kernel.map和/etc/X11/kb/akita.xmodmap,然后用 loadkeys and xmodmap使新的键位设定生效. X中的xev命令可以用来查看键码。

你也可以使用Systems Tools中的Input setup来设定键盘底部的一些快捷键。但是这样做似乎容易弄乱默认的键位设定,特别是容易找不到.键。所以在使用Input setup之前最好先备份kernel.map,出了问题可以通过loadkeys重新加载kernel.map.

如果你想使用粘滞键,你需要修改/usr/X11/bin/startx,把defaultserverargs中的-kb选项替换成+kb +accessx。此外你还需要修改/etc/X11/kb/akita.xmodmap,把keycode=73附近的除了最后一行以外的语句都反注释掉。这将会把Tab键变成Caps Lock键. 然后重启X,连续按五下Shift键,粘滞键功能就开启了。

大部分的键位在键盘上都有标注,除了以下几个键:

Fn+q = Scandinavian A with loop
Fn+o = Danish O crossed out
Fn+p = 英镑符号
Fn+a = AE character
Fn+s = 欧元符号
Fn+m = 反引号
LeftKanji = Alt
RightKanji = 反引号
Calendar = CTRL键
Address = Alt
我根据xev的结果重写了Spitz/Borzoi键盘的akita.xmodmap文件。我把清楚设定后的键位保存在spitz.xmodmap文件里。由于Alt和Control键已经有设定了,我删除Calendar和Address的重复设置,现在它们可以分配成别的键了。我还把Fn+m和Fn+q交换了一下。右kanji键我定义成了modifier键(Super L).

默认X中有一些键位是这样定义的:

Ctrl+Alt+BS = 退出X
Ctrl+Alt+Left = 切换至上一个桌面
Ctrl+Alt+Right = 切换至下一个桌面
Shift+Alt+Left = 发送到上一个桌面
Shift+Alt+Right = 发送到下一个桌面
Ctrl+Alt+d = 显示桌面/恢复
Ctrl+Alt+m = 最大化/恢复
Fn+Ctrl+Alt+Down = 向下移动
Fn+Ctrl+Alt+Up = 向上移动
Fn+Ctrl+Alt+Left = 向左移动
Fn+Ctrl+Alt+Right = 向右移动
Alt+Tab = 应用程序之间切换
Alt+Shift+Tab = 应用程序之间切换
Alt+0 = 最大化
Alt+5 = 恢复
Alt+9 = 图标化(最小化)
Alt+8 = 改变大小
Alt+7 = 移动
Alt+4 = 关闭
Menu = 开始菜单
Shift+Home = 挂起
Mail = sylpheed
我的Calendar和Address键设置:

Calendar = aterm
Address = xmms
但是下面的设置不起作用:

Fn+1 = VGA mode (320x240)
Fn+2 = SVGA mode (640x480)
Fn+3 = 减少亮度
Fn+4 = 增加亮度
Alt+F12 = ToggleShade
因此我把这些键位设定改掉了。我还把Alt+F12改成了Alt+6.

为了按键方便,我把Fn+Ctrl+Alt组合键设成了Home键;Ctrl+Alt设成了Super键(右kanji键). 此外大多数的Alt+key组合键也可以用Home+key键来实现.

我还增加了以下一些快捷键:

Calendar = aterm
Shift+Calendar = xterm
Fn+Calendar = network config
Ctrl+Calendar = usb config
Alt+Calendar = ppp config
Super+Calendar = installer
Home+Calendar = dialer
Address = xmms
Shift+Address = keyboard
Fn+Address = mixer
Ctrl+Address = calculator
Alt+Address = image viewer
Super+Address = pdf viewer
Home+Address = gimp
Mail = sylpheed
Shift+Mail = firefox
Fn+Mail = thunderbird
Ctrl+Mail = dillo
Alt+Mail = xchat
Super+Mail = gnumeric
Home+Mail = abiword
Ctrl+Alt+c = screencap
Home+5 = Refresh Screen
上面的修改在/etc/xdg/openbox/下的rc.xml可以找到。rc.xml文件也有可能在/home/root/.config/openbox/下面。

在XMMS中,这些键可以用来控制:

X = 播放
C = 暂停
V = 停止
Up = 增加音量
Down = 降低音量
Left = 快退
Right = 快进
Z = 前一首
B = 后一首
但是在竖屏模式下这些快捷键不是很方便,我增加了OK键播放,Cancel键停止,上下滚动在不同歌中切换的功能。N和M是音量键。


如果你已经安装了xmms包,你可以替换xmms文件来使用这些键位。或者你可以安装xmms_1.2.10-2_armv5tel.ipk包。

xpdf的键位如下:

o = 打开文件
r = 重新打开
f = 查找下一个
n = 下一页
p + 上一页
+ = 放大
- = 缩小
z = 缩放至适合页面
w = 缩放至适合宽度
0 = 正常大小
q = 退出

如果你已经安装了xpdf包,你可以替换xpdf文件来使用这些键位。或者你可以安装xpdf_3.01-2_armv5tel.ipk包。



如果你使用USB键盘的时候,机器会自动重新设定这些键位。但这样就会导致Zaurus的键位错乱。当USB键盘拔下来的时候,Zaurus的键位会自动恢复。

这个功能可以通过在/etc/hotplug下写个脚本检测USB键盘的插入和拔出,调用xmodmap来加载合适的键盘映射文件来实现。




屏幕分辨率

你可以使用 xrandr命令在640x480和320x240模式之间进行切换. 它也可以用来旋转屏幕.

在我的键位设定中,你可以使用Home + 1和Super + 1将屏幕切换至320x240模式。Home + 2和Super + 2 将切换到640x480模式.




屏幕旋转

pdaXrom支持屏幕旋转。Openbox会检测横屏和竖屏模式并且自动旋转屏幕。但是当前运行的程序不会自动旋转方向,我写了一个脚本, rotateall, 可以自动旋转所有的应用程序窗口. 你可以修改rc.xml(/etc/xdg/openbox/rc.xml),把chkhinge替换成rotateall,这样屏幕旋转的时候就会自动调用rotateall脚本了。如果程序运行在最大化模式,效果最佳。如果你在命令行下运行rotateall,而没有真的旋转显示屏,屏幕将会向右旋转,而不是默认的向左。再运行一遍就会复原。




抓图

你可以通过xwd -display :0 > screendump.xwd命令来抓图.

你也可以通过 screencap脚本来实现类似原rom中的一键抓图(Ctrl+Alt+c)并播放声音的功能.

我写的这个screencap脚本在抓图的时候会自动播放click.wav文件. 如果你安装了ImageMagick, 它还会自动将xwd转成png格式.




窗口管理器

pdaXrom默认使用openbox作为窗口管理器. openbox比较小,而且运行速度飞快。


你也可以使用其它的窗口管理器,比如xfce, blackbox, fluxbox, matchbox, icewm, kde和enlightment. 如果你有足够的空间,你甚至可以安装多个窗口管理器,并在它们中间自由切换.

默认的openbox窗口管理器使用matchbox的面板和任务栏程序来管理桌面.


kde


有很多人使用KDE, 但是它很庞大,而且有点慢. 最简单的安装kde 3.5的方式就是使用kde的 squashfs镜像. 把它拷贝到内置硬盘里面,然后挂载到/usr/lib/kde/kde/kde3.5下面. 然后安装kdesymlink包即可.

你可以修改.xinitrc和startx来改变默认的窗口管理器。我的脚本可以根据不同的WM变量来决定运行哪一个窗口管理器.你也可以输入startxkde来启动kde.


icewm




xfce




enlightment







定制桌面和菜单

在 /usr/share/applications下面的.desktop定义了应用程序菜单,而图标文件则位于 /usr/share/pixmaps下

正如前面所说, 默认的桌面是通过matchbox的桌面来管理的. 你可以通过菜单或者桌面面板来访问应用程序.

你也可以用rox filter来代替默认的matchbox桌面。rox filter整合了文件管理器和桌面管理器。把 /home/root/.xinitrc里面的:

eval "matchbox-desktop $MBBGND" 2>/dev/null >/dev/null &


改成:

eval "rox --pinboard=MYPINBOARD" &


并重启X即可.


你可以修改rc.xml中的Theme段来改变主题。主题在/usr/share/themes下. /usr/share/themes下的每个目录都包含了一个主题。你可以把Theme段中的name标签改为相应的主题名. 要让改变生效,你可以重启X,或者运行以下命令:

# openbox --replace 2>/dev/null &





窗口和对话框大小

Zaurus上很多应用程序的窗口太大了。通常你可以最大化它们来正常工作(按下Home+m或者 Super+m).

有些应用程序可以通过编辑配置文件来调整大小。还有一些应用程序的大小是固定的。我重编译了一些这样的应用程序,比如GQView和AbiWord.


绝大多数的GTK2程序的打开文件对话框都太大了。我重编译了GTK2,修改了FileChooser,使得它适合Zaurus的屏幕。你可以安装我更新的GTK2包,或者手工替换libgtk-2.0.so.0.600.2.





文件管理器

pdaXrom默认没有文件管理器,rox filer是一个好的选择。它的文件管理器界面很像konqueror.


如果你喜欢双面板的文件管理器, emelFM2也是不错的选择.





终端

aterm是pdaXrom中的默认终端。它支持透明背景。要开启透明特性,把Xdefaults拷贝到/home/root并改名为 .Xdefaults


如果你需要输入或查看utf8编码的字符,请使用rxvt终端.




定制壁纸

Systems Tools里面的Look & Feel工具里面有改换壁纸的选项,以及其它的一些显示选项。墙纸可以是任何png文件,但是分辨率640x480为佳。


但是如果你使用rox filter而不是matchbox的话,你可以右键单击桌面(按住Fn点击)来激活rox filter的属性页面,在其中改换壁纸。





定制屏幕保护

你可以安装xscreensaver_4.24_armv5tel.ipk来实现屏保功能.




zaurus的用户帐号

pdaXrom默认不像原rom有zaurus用户,所以所有程序都是以root身份运行的。如果你没有联网,这可能不会出什么问题,因为zaurus是一个单用户环境,只有你一个人使用它。但是如果你打算将你的Zaurus连接到其它机器或者网络上,建立一个用户帐号将会是个好主意。除此之外你也应该考虑装防火墙。你可以使用adduser命令来增加一个用户帐号,并且设置busybox的suid位,从而使普通用户也可以运行su命令,或者做其它的事情。




挂起和恢复

挂起和恢复功能有一些古怪。有些时候硬盘灯在亮着,但是挂起和恢复将会使硬盘灯熄灭。经常进行磁盘查错会对挂起恢复功能比较好。

此外,如果在xmms播放音乐的时候挂起,音频设备将会被锁定直到你重启机器。所以确保你在apm的suspend脚本里面加入esdctl suspend, 在resume脚本里面加入esdctl resume.




MMC驱动

C3100/C1000有个新的开源SD/MMC驱动,mmc-driver_2.4.20_arm.ipk. 这个驱动在C3000也可以工作,但是目前不支持自动挂载,而且在任务栏上不能很好兼容。你可以使用/etc/sdcontrol [insert|eject]来挂载和卸载SD卡.

或者你可以使用Sharp的支持2GB+卡的全功能SD驱动。这个驱动[sdmmc-module_2.4.20_arm.ipk]在pdaXrom (beta1)可以工作,因为它们内核都是2.4.20。




自动挂载

/etc/fstab中的自动挂载在pdaXrom中不起作用。另外,默认只有两个loop设备可以使用。我写了一个automnt脚本来创建更多的loop设备,挂载cramfs/squashfs镜像,以及启动交换分区。我把/etc/rc.d/init.d/automnt链接到/etc/rc.d/rc5.d/S90mount和/etc/rc.d/rc6.d/K30unmount




ftp和telnet

C3000的pdaXrom默认没有安装telnet和ftp。busybox中并没有包括telnet,而二进制包的glic版本和pdaXrom的不兼容,所以没法运行。我从原rom中拷贝了ftp和telnet,它们可以在pdaXrom中运行。由于原rom中的telnet是busybox的一部分,我把它改名成了telnet,然后放在/bin下面。ftp放在/usr/bin下。

或者你可以安装 inetutils-clients_1.4.2_armv5tel.ipk,但是不确保稳定性。




USB网络

pdaXrom的USB网络模块和原rom一样有两种模式,一种是作为USB磁盘来访问,另外一种是模拟成虚拟网卡。把更新过后的usbfunction.py拷贝到/usr/bin,你就可以选择共享SD卡,CF卡或是内置硬盘了。在Windows下共享内置硬盘的话你需要使用第三方软件,因为它是ext3格式的。


或者你可以将USB连接设置为网卡模式,然后你可以通过Samba来共享文件,或者访问其它的网络服务。如果你在电脑上设置了internet共享连接(Windows的连接共享或者Linux的iptables),你可以通过Zaurus来访问internet(详细信息见定制Sharp ROM的网络章节). 我写了一个脚本usbnet来自动配置usbd0界面,使用Windows的internet连接共享访问internet. (Internet Connection Sharing).




Samba

你需要安装Samba包,然后配置/etc/samba/smb.conf文件来开启网上邻居服务,共享文件。你可以通过adduser -H为Samba建立一个新用户,然后使用smbpasswd -L -a -e建立Samba用户. 然后输入 /etc/rc.d/init.d/samba stop/start来重启Samba.

你可以通过/etc/rc.d/init.d/samba来手工启动和停止Samba服务。这个脚本会有很多乱七八糟的提示,我修改了一下,并且加上了restart选项。

如果你开启了USB网络,你需要重启Samba服务使得它在新的网卡上可以监听。你可以修改/etc/hotplug/usbd.func使得Samba在USB网络模块加载之后自动重启。




中文和日文支持

中文或日文菜单可以通过安装中文或日文locale及相应的字体来实现。TTF字体需要放在/usr/X11/lib/X11/fonts/TTF下,pcf 字体需要放在/usr/X11/lib/X11/fonts/misc下。你还需要安装输入法。我装的是scim,scim-pinyin和scim-tables.

安装scim之后你需要运行 scim-setup来进行配置.


配置完成后键入scim -d即可启动scim. 在可以使用输入法的应用程序中使用Ctrl+space就可以将scim调出. AbiWord就可以使用scim:


每次你启动X的时候,你都需要启动scim. 你可以把它放进.xinitrc里面自动启动。




字典

pdaXrom上有很多字典软件. QBEdic是其中一个比较常用的字典,而且字典文件在原rom中也能使用(原rom中叫做ZBEDict). QBEDic上有一个完整的维基百科全书. 你可以把QBEDic的字典放在任何目录下,但默认是在/usr/share/bedic下. 你可以设置QBEDic的字典文件路径.


另一个比较常用的字典软件叫做stardict(星际译王),在Windows下也有相应版本。Stardict有很多字典文件,而且还可以安装声音包来阅读英文单词。Stardict的字典文件放在 /usr/share/stardict/dic, 声音文件放在/usr/share下。


我做了一个包括qbedic和stardict字典和声音文件的squashfs镜像. 因为字典文件很大,把它们压入squashfs镜像会比较省空间一点。此外我还做了一个linkdics.sh脚本,用来建立stardict所需要的链接.




AbiWord

Abiword是一个很好的字处理软件, 但是默认分辨率是800x600. 在C3000中, 我们可以通过修改/home/root/.AbiSuite/AbiWord.Profile把分辨率调整到640x480.


我编译了Abiword 2.4.4,并且修正了所有的窗口大小,现在Abiword的窗口大小没问题了。我还编译了一些文本导入/导出插件,现在它可以编辑StarOffice/OpenOffice的文件了。


安装aspell可以为abiword提供拼写检查功能.




OpenOffice

Debian arm版本的OpenOffice 1.1.4可以在Zaurus上使用。但是它是在glibc 2.3环境下编译的,而Zaurus使用的是glibc 2.2.x. 通常的解决方案是安装PocketWorkstation (Debian arm),然后chroot进去,在PocketWorkstation下安装OpenOffice。如果你仅仅是为了使用OpenOffice的话,这样做很不方便并且很浪费空间,因为这两个东西加起来至少要512M空间。

作为替代方案,我做了cramefs和squashfs的镜像文件,含有最小版本的Debian和OpenOffice 1.1.4的预安装包。


你可以把镜像拷贝到硬盘或者SD/CF卡里面,然后挂载并运行zopenoffice-setup 脚本。

我也做了一个tgz文件格式的压缩包,你可以直接解压到ext2/ext3分区,然后运行zopenoffice-setup.

此外我也做了openoffice-cn.squashfs镜像,可以在Chinese Zauri上使用,包含了中文字体。

最后,你需要修改/usr/X11R6/bin/startx,在defaultserverargs里面去掉"-nolisten tcp"选项,并重启X。然后你就可以在菜单里面看到OpenOffice的图标了。或者你也可以在命令行里输入runoo来启动。




Quake和Quake2

Quake和QuakeII都可以在pdaXrom上流畅运行,但是千万不要改变分辨率或其它显示设置,否则会出现白屏。

在Quake2中, 你可以把整个baseq2目录拷贝到 /home/root/.quake2下面




mplayer

C3x00的pdaXrom feed里面有可以正常工作的mplayer包。有些人说Cacko里面的mplayer有bvdd和iwmmx优化,所以会快一点[mplayer-bvdd-iwmmxt_1.1.5-1_arm.ipk]. 但是C3x00 feed里面的mplayer[mplayer_1.0pre7try2_armv5tel.ipk]比cacko的要新,而且也有bvdd和iwmmx支持。

我把cacko的mplayer[mplayer-bvdd-iwmmxt_1.1.5-1_arm.ipk]重新打包成了 [mplayer-bvdd-iwmmxt_1.1.5-1_armv5tel.ipk],并且改了一下文件结构,把文件从/opt/QtPalmtop移到了/usr/share下,把mplayer改名成了mplayer2,你可以把两个版本都装一下,比较一下速度。

你可以通过下面的命令来播放视频:

# mplayer -vo bvdd -ac mad -ao ss -framedrop -really-quiet file


选项-vm开启全屏显示:

# mplayer -vo bvdd -ac mad -ao ss -framedrop -really-quiet -vm file


xmms的xmmsmplayer插件xmms可以用作mplayer的前端.


它默认使用-vo x11选项在gtk窗口中运行。你可以使用bvdd驱动来全屏运行。配置文件在 /usr/share/mplayer/mplayer.conf里面,包含如下的配置:

framedrop = yes
cache = 1024
dr = yes
af=resample=44100


你可以加上这两句来使用bvdd驱动全屏播放:

vo = bvdd
vm = yes


mplayer在退出全屏模式之后没有正确的刷新屏幕,要解决这个问题,你可以手动运行 xrandr -o normal来刷屏。或者你可以修改openbox的rc.xml文件,比如按 Home+5 来刷屏.

我编译了mplayer的最新版本1.0pre8,支持gmplayer。




Java

Java可以通过安装javavm和类库来实现。使用这些包可以构建一个支持JRE 1.4.x的环境。但是由于版权问题,javavm不能叫做java,也不能保证100%的对java程序的兼容性。使用jamvm和类库,我可以在Zaurus上运行jedit.

另外,我通过jamvm和类库成功在firefox上使用java插件。你只需要安装gcjwebplugin-0.3.2_armv5tel.ipk,Firefox 1.5将会支持java。大部分的applet都可以运行,但是不是全部。


jamvm和类库包提供了一个java运行平台,但是如果你想开发java程序,你需要java编译器以及其它一些工具比如jar, javah, javap 和javadoc. Jikes是javac的一个替代品,还有一些你需要的类库包。

你也可以直接从java 1.4.x的JDK里面拷贝tools.jar文件。




gcc

你可以使用原生的gcc 3.4.5在Zaurus上编译程序。此外,有两个版本的gcc镜像,分别可以用来编译pdaXrom程序和原rom程序.

要使用gcc编译器,你首先需要安装下面的依赖包:

pcre
xml-parser
perl
然后把zgcc-3.4.5.img放入/home/root. 它会自动在启动的时候挂载。你也可以手工挂载:

# mount -o loop /home/root/zgcc-3.4.5.img /opt/native/arm/3.4.5-xscale-softvfp


这是一个测试程序, 你可以建立一个叫做hello.c的文件并输入:

#include <stdio>
int main()
{
printf("Hello World\n");
}


然后运行下面的命令将会生成一个叫做 hello的可执行文件.

# gcc -o hello hello.c


如果你要编译源码包,首先下载并解压源码的 tarball. 然后运行以下命令:

# ./configure
# ./make


你可以用strip命令来去除可执行文件中的无用符号,从而减少体积. 通常在Makefile文件里面有个DESTDIR的变量,改变它就可以改变安装目录.

# cd /data/build/pkg
# newipk testapp
# cd /data/build/src/testapp
# make DESTDIR=/data/build/pkg/testapp/data install
# cd /data/build/pkg
# makeipk testapp


这个例子使用ipk-tools来建立一个安装包. 更多的信息请见ipkg节.

你可以用gcc 3.4.5来编译命令行或图形界面的应用程序,但是你不能用它来编译内核或glibc.你需要用 gcc 2.95-2来编译内核.

我稍微修改了一下gcc的镜像,加了一些编译gnome程序用到的脚本和程序,然后把它压成了squashfs格式.


此外我还加进去了QT designer, assistant和linguists, 并且调整和重新编译了qtconfig, 所以它启动的时候不会再尺寸过大了。




生成你自己的安装包

我做了一个叫做ipktools[ipktools_0.2_armv5tel.ipk]的包来操作ipk文件,你可以通过它来生成你自己的安装包(ipk文件):

newipk - 创建模版ipk层次结构,你可以添加文件,然后用makeipk来打包 to for packaging
makeipk - 打包一个含有ipk层次结构的目录
unpackipk - 解压缩ipk文件
deb2ipk - 把deb文件转成ipk格式 (需要perl)
zipipk - 把ipk文件压缩成zip格式,删除原始文件
ipkg-make-index - 建立feed需要的Packages文件
现在有两种ipk文件格式,一种使用tar.gz格式,另外一种使用Debian的deb格式。Zaurus的原ROM,Cacko以及pdaXrom使用tar.gz格式,也就是说,这种ipk实质上是一个tar.gz的压缩包,里面有控制文件。你可以在里面找到三个文件,一个是debian-binaries文件,里面只含有2.0这几个字。另外还有两个.tar.gz文件:control.tar.gz和data.tar.gz。control.tar.gz文件里面有一个文本文件control,其中是这个包的一些信息,比如作者,依赖信息,描述等等,还有一些可选的shell脚本来执行安装前后的配置工作。data.tar.gz文件包含所有打包的文件和目录结构。OpenZaurus和PocketWorkstation (Debian)使用deb格式的ipk文件,你需要用ar命令来解压。

使用下面的命令来解压ipk文件:

# unpackipk somefile.ipk


要创建你自己的ipk包,首先使用下面的命令来创建ipk目录结构:

# newipk myproject


当你把所有文件都添加好了,control文件也写好之后,使用下面的命令来创建ipk文件:

# makeipk myproject


如果你想把.deb或者OZ的ipk文件转换成pdaXrom的ipk,你需要首先用 unpackipk解压, 然后使用perl脚本deb2ipk来转换。或者你也可以使用ar工具。




Zaurus备份

经常备份系统是个好习惯. 最简单的备份方式就是通过tar和gzip把所有文件打包. 我写了一个脚本来做这件事.






[/img]




bg-11linux.gif

Back to top
View user's profile Send private message
joerkky



Joined: 10 Dec 2006
Posts: 75

小企鹅: 2359

PostPosted: 2007-Jan-31 Wed, pm9:13 Reply with quote
 Post subject:

这转得也太快了点~~~如果需要看图片的话看我的原贴吧,否则就看这里的好了。
Back to top
View user's profile Send private message
badog
论坛管理员


Joined: 01 Nov 2006
Posts: 1021

小企鹅: 6575

PostPosted: 2007-Feb-01 Thu, pm2:53 Reply with quote
 Post subject:

请置顶.
Back to top
View user's profile Send private message Send e-mail
lonelyp



Joined: 14 Nov 2006
Posts: 260

小企鹅: 8158

PostPosted: 2007-Feb-01 Thu, pm10:33 Reply with quote
 Post subject:

太牛了,joerkky
我刚发布就被人转过来了
……

给大家原文的地址吧
中文版:
http://zaurus.osall.com/pdaxrom_custom.html

英文版:
http://www.users.on.net/~hluc/myZaurus/custom-pdaxrom.html

_________________
my Blog: http://wells.osall.com

请支持我的开源项目Sylvan: http://sylvan.osall.com
Back to top
View user's profile Send private message Visit poster's website
大蛇



Joined: 02 Jul 2006
Posts: 1

小企鹅: 26

PostPosted: 2007-Feb-05 Mon, pm9:14 Reply with quote
 Post subject:

真不错,顶一下。谢谢分享使用经验。
Back to top
View user's profile Send private message
Display posts from previous:     
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    Zaurus 中文论坛 Forum Index » pdaXrom & debain & openBSD All times are GMT + 8 Hours
Page 1 of 1

 
Jump to:   
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum

[ 页面生成时间: 秒 ] :: [ 次查询 ] :: [ ]
Powered by phpBB © 2001, 2002 phpBB Group
iCGstation v1.0 Template By Ray © 2003, 2004 iOptional