| 導購 | 订阅 | 在线投稿
分享
 
 
 

Linux手机DIY.夏新E600和飞利浦968的重大突破

2008-12-28 02:16:17  編輯來源:互聯網  简体版  手機版  評論  字體: ||
 
 
  一、序

   夏新E600和飞利浦968终于在同一天取得了重大突破!皆可以执行自定义的Shell脚本!在这样还是要感谢那些无数次重启试机的朋友们。

   昨天无意翻到一个贴子,说得是Shell的解释执行,忽然想到目前尝试的Shell脚本,全是想当然的用/bin/bash解释运行,如果飞利浦968不存在这个可执行文件是绝对不可能运行的。

   我在论坛上翻到“新号码”从夏新E600升级包提取的文件内容,找个遍发现有ash,也有sh,却惟独没有bash。我隐隐感觉到有可能原因就出在这里。

  二、重要提示

   为了方便更好的理解本文,提供下面链结。

   全系列的文章地址,手机应用开发专栏:http://blog.csdn.net/liwei_cmg

   相关的重要资源的下载地址:http://play.younet.com/view.php?tid=24045

  三、尝试过程

  

   将原包在Linux用tq用户解包(tar xvf qnes.prg),将qnes替换为Shell脚本,脚本内容如下(先不指定用哪个Shell解释):

  

   exec audioplayer &

   exec cp /mnt/user/cec/apps/6Self-Defined/*.desktop /mnt/doc/user_local/qnes/. &

   exec ls > /mnt/doc/user_local/qnes/ls.txt &

   exec ls > /mnt/doc/user_local/ebook/ls.txt &

  

   用我的打包脚本,执行打包操作,让铁蛋安装,发现没有任何反应。我又把Shell脚本加了一行语句 “#!/bin/sh”,即换成让/bin/sh来解释执行,即如下内容:

   #!/bin/sh

   exec audioplayer &

   exec cp /mnt/user/cec/apps/6Self-Defined/*.desktop /mnt/doc/user_local/qnes/. &

   exec ls > /mnt/doc/user_local/qnes/ls.txt &

   exec ls > /mnt/doc/user_local/ebook/ls.txt &

  

   再打包让铁蛋安装执行,意外出现了,发现qnes目录有了txt文件,也有了一堆desktop文件,说明Shell在968上是完全执行成功了!

   至于exec audioplayer & 这句只是根据“新号码”提取的E600中desktop文件猜想的,无关紧要。

   既然飞利浦968可以执行成功,我就自然想到了在E600再试下这个程序,E600不能运行模拟器qnes也有可能是缺少库文件,让“电子奴隶主”安装试了一下,果然也成功了!而且把复制来的所以desktop文件和生成的ls文件打包发给了我一份。

   结论:

   飞利浦968和夏新E600的安装包详细制作方法我们已经知道,运行Shell脚本了也全部取得了成功了,已经打开了一个极其重要的缺口,惟独的是Install.conf还没有参透,不过相信在对飞利浦和夏新操作系统进一步研究过程中,我们会知道的越来越多。

   最后明确一点,E600和968扩展开发第三方软件,只是个时间问题!

  

  四、扩展手机应用总体思路

   通过运行Shell脚本,我们就可以知道整个操作系统的结构,包括Linux内核应用和上层图形化系统。从而一步一步获取系统软件和外部软件管理运行的方式和环境,以及涉及的相关库文件(lib),资源文件(png,res)。最终完成交叉编译开发移植第三方软件。

  

   目前可以简单展望一下Shell脚本所带来的根本性变化。

   A.实现对现有手机系统功能的扩展和改进

  

   原有手机系统程序大多数都是通过配置文件进行管理,这类配置文件是对用户完全封闭的。有了这个缺口,可以完全了解这些相关配置信息,灵活扩展手机程序的功能。

   B.完全了解所有用户操作对968手机系统的影响,以及个人数据在968上的存储方式。

   飞利浦和夏新手机的主清除和主复位百分之九十九是两个不同的Shell脚本,不用多说了,看看脚本内容就知道他做了些什么。

   C.通过Shell编程本身扩展手机功能应用

   目前E680上的大量软件是采用了Shell脚本来实现,如telnet,虚拟内存扩展,蓝牙telnet,进程监视,内存监视,数据备份,MPKG安装卸载等等。这个得需要看具体的需求了。

  

   D.移植QTE,OPIE等一些其他的第三方软件

   这方面内容就太多了,不过需要一些技术问题需要解决,下文会详细介绍。

  

  五、未来方向的几个重要疑问。

   疑问一.Shell脚本既然可以运行,能不能通过USB实现telnet?这个问题很复杂,我也不清楚。倘若能通过努力完成telnet,那DIY就太过方便了,不用老是重装Qnes安装包,来运行不同的Shell了。完全就可以在Windows下操作飞利浦968和夏新E600!

   疑问二.原qnes.prg包中的qnes可执行程序,也是兼容ARM指令集,不过是基于Linux2.0.0内核的,目前手里可用的交叉编译工具是ARM,Linux 2.4.3的内核版本,这个版本编译的可执行程序在E680(Linux 2.4.0)是完全可以运行的,但不知道在飞利浦968和夏新E600上能否运行。主要暂时还不知道E600和968本身可执行程序的内核版本。(这个只需要写个Shell脚本,复制过来几个可执行文件,用Linux命令file看一下便知,很简单。)

   如果不能运行,还需要构建一个基于Linux 2.0.0的交叉编译环境。

  

   疑问三.夏新E600和飞利浦968从理论上讲是这种结构---Linux内核+Qte+图形化框架,这个和E680系列本质是一样的,不过飞利浦的Linux内核代码未公布,而E680系列内核代码是开放的。Qte和上层图形化框架两者倒是一样,都没有公布源代码。不过E680却拿到了A760(可能是)的上层图形化的开发包。所以一些兴趣爱好者就使用上层图形库很容易开发出第三方软件了(如ezxplayer,抓图软件...等)。这些的E680系列软件从理论上是不能通过简单的交叉编译移植过来的,因为两者的上层开发包是不一样的。不过在移植Qte和OPIE等这类软件,两者却是完全一样的。须要解决的问题就是疑问二中所提到的。

  

  

  六、写在最后

   最后我只想说一点,现在飞利浦968和夏新E600都可以运行自定义的Shell脚本了。了解Shell脚本的DX应该知道这是一个什么概念!

  七、附

   通过执行上面的脚本,获取夏新E600中的部分内容,仅作示例。

  

   exec cp /mnt/user/cec/apps/6Self-Defined/*.desktop /mnt/doc/user_local/qnes/. &

   作用:复制 自定义目录下所有的desktop文件到qnes目录下

  

   020javamanager.desktop

  

   [Desktop Entry]

   Type=MimeType

   MimeType=application/x-javaAMS

   Comment=AMS

   Exec=AMS

   Shell=j9 -Xmjit -Duser.home=/mnt/doc -DExec=AMS -jcl:midp20 javax.microedition.lcdui.AppManager /mnt/cellon/ibm/midlet/AMS/AMS.jad

   Icon=common/menu/C8000_menu_user_define_JAVA.png

   Name=Java manager

   Name[en]=Java manager

   Name[zh_CN]=Java管理器

   Name[zh_TW]=Java管理器

  

  

   040ColorBall.desktop

  

   [Desktop Entry]

   Comment=ColorBall

   Exec=ColorBall_Amoi

   Shell=j9 -Xmjit -Xss6k -jcl:midp20 -Duser.home=/mnt/doc -DExec=ColorBall_Amoi -cp /mnt/cellon/ibm/midlet/ColorBall/ColorBall_Amoi.jar javax.microedition.lcdui.AppManager /mnt/cellon/ibm/midlet/ColorBall/ColorBall_Amoi.jad

   Icon=common/menu/C8000_menu_user_define_colorball.png

   Type=Application

   Name=ColorBall

   Name[en]=ColorBall

   Name[zh_CN]=滚滚球

   Name[zh_TW]=滾滾球

  

   ...

  

   exec ls > /mnt/doc/user_local/qnes/ls.txt &

   作用:显示系统可执行文件目录下所有内容

  

   SMALLP.BNK

   alarm

   alerttest

   amoi

   audioplayer

   audiorecorder

   broadcast

   calculator

   calendar

   ...
 
 
 
一、序 夏新E600和飞利浦968终于在同一天取得了重大突破!皆可以执行自定义的Shell脚本!在这样还是要感谢那些无数次重启试机的朋友们。 昨天无意翻到一个贴子,说得是Shell的解释执行,忽然想到目前尝试的Shell脚本,全是想当然的用/bin/bash解释运行,如果飞利浦968不存在这个可执行文件是绝对不可能运行的。 我在论坛上翻到“新号码”从夏新E600升级包提取的文件内容,找个遍发现有ash,也有sh,却惟独没有bash。我隐隐感觉到有可能原因就出在这里。 二、重要提示 为了方便更好的理解本文,提供下面链结。 全系列的文章地址,手机应用开发专栏:http://blog.csdn.net/liwei_cmg 相关的重要资源的下载地址:http://play.younet.com/view.php?tid=24045 三、尝试过程 将原包在Linux用tq用户解包(tar xvf qnes.prg),将qnes替换为Shell脚本,脚本内容如下(先不指定用哪个Shell解释): exec audioplayer & exec cp /mnt/user/cec/apps/6Self-Defined/*.desktop /mnt/doc/user_local/qnes/. & exec ls > /mnt/doc/user_local/qnes/ls.txt & exec ls > /mnt/doc/user_local/ebook/ls.txt & 用我的打包脚本,执行打包操作,让铁蛋安装,发现没有任何反应。我又把Shell脚本加了一行语句 “#!/bin/sh”,即换成让/bin/sh来解释执行,即如下内容: #!/bin/sh exec audioplayer & exec cp /mnt/user/cec/apps/6Self-Defined/*.desktop /mnt/doc/user_local/qnes/. & exec ls > /mnt/doc/user_local/qnes/ls.txt & exec ls > /mnt/doc/user_local/ebook/ls.txt & 再打包让铁蛋安装执行,意外出现了,发现qnes目录有了txt文件,也有了一堆desktop文件,说明Shell在968上是完全执行成功了! 至于exec audioplayer & 这句只是根据“新号码”提取的E600中desktop文件猜想的,无关紧要。 既然飞利浦968可以执行成功,我就自然想到了在E600再试下这个程序,E600不能运行模拟器qnes也有可能是缺少库文件,让“电子奴隶主”安装试了一下,果然也成功了!而且把复制来的所以desktop文件和生成的ls文件打包发给了我一份。 结论: 飞利浦968和夏新E600的安装包详细制作方法我们已经知道,运行Shell脚本了也全部取得了成功了,已经打开了一个极其重要的缺口,惟独的是Install.conf还没有参透,不过相信在对飞利浦和夏新操作系统进一步研究过程中,我们会知道的越来越多。 最后明确一点,E600和968扩展开发第三方软件,只是个时间问题! 四、扩展手机应用总体思路 通过运行Shell脚本,我们就可以知道整个操作系统的结构,包括Linux内核应用和上层图形化系统。从而一步一步获取系统软件和外部软件管理运行的方式和环境,以及涉及的相关库文件(lib),资源文件(png,res)。最终完成交叉编译开发移植第三方软件。 目前可以简单展望一下Shell脚本所带来的根本性变化。 A.实现对现有手机系统功能的扩展和改进 原有手机系统程序大多数都是通过配置文件进行管理,这类配置文件是对用户完全封闭的。有了这个缺口,可以完全了解这些相关配置信息,灵活扩展手机程序的功能。 B.完全了解所有用户操作对968手机系统的影响,以及个人数据在968上的存储方式。 飞利浦和夏新手机的主清除和主复位百分之九十九是两个不同的Shell脚本,不用多说了,看看脚本内容就知道他做了些什么。 C.通过Shell编程本身扩展手机功能应用 目前E680上的大量软件是采用了Shell脚本来实现,如telnet,虚拟内存扩展,蓝牙telnet,进程监视,内存监视,数据备份,MPKG安装卸载等等。这个得需要看具体的需求了。 D.移植QTE,OPIE等一些其他的第三方软件 这方面内容就太多了,不过需要一些技术问题需要解决,下文会详细介绍。 五、未来方向的几个重要疑问。 疑问一.Shell脚本既然可以运行,能不能通过USB实现telnet?这个问题很复杂,我也不清楚。倘若能通过努力完成telnet,那DIY就太过方便了,不用老是重装Qnes安装包,来运行不同的Shell了。完全就可以在Windows下操作飞利浦968和夏新E600! 疑问二.原qnes.prg包中的qnes可执行程序,也是兼容ARM指令集,不过是基于Linux2.0.0内核的,目前手里可用的交叉编译工具是ARM,Linux 2.4.3的内核版本,这个版本编译的可执行程序在E680(Linux 2.4.0)是完全可以运行的,但不知道在飞利浦968和夏新E600上能否运行。主要暂时还不知道E600和968本身可执行程序的内核版本。(这个只需要写个Shell脚本,复制过来几个可执行文件,用Linux命令file看一下便知,很简单。) 如果不能运行,还需要构建一个基于Linux 2.0.0的交叉编译环境。 疑问三.夏新E600和飞利浦968从理论上讲是这种结构---Linux内核+Qte+图形化框架,这个和E680系列本质是一样的,不过飞利浦的Linux内核代码未公布,而E680系列内核代码是开放的。Qte和上层图形化框架两者倒是一样,都没有公布源代码。不过E680却拿到了A760(可能是)的上层图形化的开发包。所以一些兴趣爱好者就使用上层图形库很容易开发出第三方软件了(如ezxplayer,抓图软件...等)。这些的E680系列软件从理论上是不能通过简单的交叉编译移植过来的,因为两者的上层开发包是不一样的。不过在移植Qte和OPIE等这类软件,两者却是完全一样的。须要解决的问题就是疑问二中所提到的。 六、写在最后 最后我只想说一点,现在飞利浦968和夏新E600都可以运行自定义的Shell脚本了。了解Shell脚本的DX应该知道这是一个什么概念! 七、附 通过执行上面的脚本,获取夏新E600中的部分内容,仅作示例。 exec cp /mnt/user/cec/apps/6Self-Defined/*.desktop /mnt/doc/user_local/qnes/. & 作用:复制 自定义目录下所有的desktop文件到qnes目录下 020javamanager.desktop [Desktop Entry] Type=MimeType MimeType=application/x-javaAMS Comment=AMS Exec=AMS Shell=j9 -Xmjit -Duser.home=/mnt/doc -DExec=AMS -jcl:midp20 javax.microedition.lcdui.AppManager /mnt/cellon/ibm/midlet/AMS/AMS.jad Icon=common/menu/C8000_menu_user_define_JAVA.png Name=Java manager Name[en]=Java manager Name[zh_CN]=Java管理器 Name[zh_TW]=Java管理器 040ColorBall.desktop [Desktop Entry] Comment=ColorBall Exec=ColorBall_Amoi Shell=j9 -Xmjit -Xss6k -jcl:midp20 -Duser.home=/mnt/doc -DExec=ColorBall_Amoi -cp /mnt/cellon/ibm/midlet/ColorBall/ColorBall_Amoi.jar javax.microedition.lcdui.AppManager /mnt/cellon/ibm/midlet/ColorBall/ColorBall_Amoi.jad Icon=common/menu/C8000_menu_user_define_colorball.png Type=Application Name=ColorBall Name[en]=ColorBall Name[zh_CN]=滚滚球 Name[zh_TW]=滾滾球 ... exec ls > /mnt/doc/user_local/qnes/ls.txt & 作用:显示系统可执行文件目录下所有内容 SMALLP.BNK alarm alerttest amoi audioplayer audiorecorder broadcast calculator calendar ...
󰈣󰈤
 
 
 
>>返回首頁<<
 
 
 
 
 
 熱帖排行
 
 
王朝网络微信公众号
微信扫码关注本站公众号 wangchaonetcn
 
  免责声明:本文仅代表作者个人观点,与王朝网络无关。王朝网络登载此文出于传递更多信息之目的,并不意味著赞同其观点或证实其描述,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有