`
ihuashao
  • 浏览: 4720109 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

在Windows环境使用Broncho映像

阅读更多

在Windows环境使用Broncho映像

1 什么是Broncho

Broncho是深圳鼎智公司开发的Linux手机软件平台。这个项目据说做了两年多了,最近该公司为Broncho建立了一个网站,开始比较低调地推广这个软件平台。我对深圳鼎智不熟悉,但我知道网上知名的软件高手李先静(网名absurd)在这家公司工作,也是Broncho的主要开发者之一。

Broncho网站提供了模拟器的vmware-fc7映像供用户下载,网站上有SDK的入门文档,介绍了怎么使用vmware映像,以及怎样编写、运行Hello World程序。

入门文档是以Linux为工作环境介绍的,本文介绍一下怎么在Windows环境使用Broncho的vmware-fc7映像。本文的内容很简单,只是一些工具的使用,相信大部分读者不看也知道。其实本文的主要的目是向读者介绍Broncho。后面会提到我为什么要介绍一家我不熟悉的公司的产品。

2 编辑、运行Vmware映像

在Windows平台,当然也可以用Vmware打开Broncho网站提供的vmware-fc7映像。Vmware是一个著名的虚拟机工具,网上很容易下到,我现在使用的版本是6.0.2。fc7是指这个虚拟机映像使用的操作系统是Fedora core 7,一个常用的linux发行版本,它的前身Redhat的名气更大些。运行映像后用“uname -r”可以看到映像的内核版本是2.6.21。Broncho平台使用的Linux内核版本就是2.6.21。

运行映像前,可以先编辑一下,删除掉软盘和光驱(原来的设置不适合Windows),其实保留它们也可以运行。值得提一提的是vmware的网络设置。

2.1 vmware的网络设置

vmware有3种网络设置,选择“Edit->Virtual Network Settings...”就可以看到:Bridged、Host-only(VMnet1)和NAT(VMnet8)。Vmware的安装程序会建立虚拟网络连接:VMnet1和VMnet8,选择“连接到->显示所有连接”就可以看到。3种连接含义如下:

  • Bridge就是主机和虚拟机分配独立的IP地址,就像两台独立的电脑。
  • Host-only就是虚拟机只与主机连接。这时虚拟机就不能连接外部网络了。采用这种方式要注意虚拟机的IP地址与VMnet1连接的IP地址要在同一个子网上,即前三个字节相同。
  • NAT就是虚拟机直接使用主机的外部连接,只要主机能上网,虚拟机就可以上网。采用这种方式要注意保持虚拟机的IP地址与VMnet8连接的IP地址在同一个子网上。这时主机和虚拟机在VMnet8网络上还是有不同的IP地址,两者之间可以建立telnet、ssh或ftp连接。

我家里的外网必须使用固定的IP地址,所以我选择了NAT。编辑过后,就可以启动映像了。用root登录(默认密码root1023),用“ifconfig eth0”可以看到虚拟机的IP地址。

2.2 连接主机和虚拟机

Broncho虚拟机默认打开了ssh连接。我们可以在主机上用putty连接虚拟机。putty是一个简洁的ssh工具(绿色软件,直接运行),读者可以从我的主页下载。putty的设置很简单,填上虚拟机的IP地址,选择ssh就可以了。

可以把设置起个名字(例如broncho)保存下来。以后直接双击就可以了。用putty登录虚拟机后,就可以按照SDK入门文档的介绍编写、运行Hello World了。

我习惯在Windows环境编辑文件,因此我还需要主机和虚拟机之间的ftp连接。Broncho虚拟机默认没有安装ftp服务器。我就在主机上安装了一个ftp服务器。我用的是Serv-U。因为我选择了NAT,所以ftp服务器的IP地址要按照VMnet8连接的IP地址设置。在主机上启动ftp服务器后,就可以在虚拟机上用ftp get/put文件了。Broncho虚拟机上默认有zip/unzip工具,ftp多个文件时可以先打个zip包。

2.3 运行模拟器

用putty登录虚拟机后,执行以下命令运行模拟器(可以复制后,在putty中右键粘贴):

cd /broncho-sdk/work/pcemu/broncho/usr
. pc_emu_run.sh

第二句中的“.”是source命令的简写。运行后在Vmware窗口可以看到模拟器画面。下面是待机画面、开始菜单和程序菜单:

我试过用浏览器上网:

首先键入的当然是www.google.com。在QVGA上我们可以使用google的pda版本:www.google.com/pda。搜索一下fmddlmyy,行,可以用。使用链接http://mobile.live.com/hm/folder.aspx,可以登录自己的msn邮箱。

2.4 Broncho使用印象

Broncho目前版本还不算完善,例如邮件程序目前仅支持163的邮箱、模拟器不能很好地模拟手写输入、Pidgin暂时还用不起来等。但与我看过的Openmoko、Android模拟器相比,Broncho的样子更接近正常手机。模拟器启动也比Openmoko和Android的模拟器快,运行很流畅。“模拟器启动快”不能说明技术先进,因为模拟程度可能不同。但“模拟器启动快”对应用开发人员是很重要的,可以避免在等待中空耗生命。

3 为什么要介绍Broncho

Broncho没有向OpenMoko一样完全开放自己的方案。Broncho目前只开放了自己的SDK接口,以及内核和bootloader的源代码。在Bronch论坛上有这样的解释:

Broncho平台开源是一个逐步的过程,比如Kernel和GTK及在Broncho平台中用到的开源组件,会回报给开源社区。至于MMI及应用的开源要视国内的知识产权保护力度及Broncho平台的推广情况,毕竟做这样一个项目需要投入很大的人力、物力,在Broncho平台没有取得盈利能够维持Broncho团队生存及发展的情况下,MMI及应用暂时不会开源。但是Broncho平台会把开发文档及社区支持这方面的工作做好,回报社区。

这种做法与Android差不多,厂商的主要目的应该还是推广的自己的SDK以及扩大解决方案的影响力。那么,我为什么要介绍Broncho?我在论坛的一个回复可以说明我的想法:

我比较奇怪,topwise为什么要把这个平台以这样的方式发布。这样做只是为了推广自己的SDK,或者增加这套方案的影响力以便独立出售,还是有更深远的想法?当然深远的想法往往要付出现实的代价。

做linux手机软件的公司其实还有很多。但一般不会怎么吭声。有的公司甚至说自己做的linux手机不是linux,而是叫newplus或其它什么东西。

虽然Broncho没有完全开放自己的代码,但我还是很高兴看到国内公司能做出优秀的linux手机软件。

其实有段时间,我对linux手机软件基本上失去了信心,我认为把以开源方案为基础的linux软件做到产品化级别需要的投入太大了。我觉得linux在window mobile或symbian的压制下很难在市场立足,除非nokia自己做linux手机。

Broncho加强了我对linux以及国内软件研发的信心。虽然这只是鼎智的成绩,但对我而言,国内公司比fic(当然openmoko更加开放)、access、法国电信要更亲切一些。希望Broncho能够尽快完善,真正达到产品化的级别。

从我个人出发,我当然希望Broncho能像openmoko一样开放,但前提是Broncho要能找到自己的商业模式。否则,生存当然比开放更重要。

Broncho确实加强了我对linux以及国内软件研发力量的信心。当然,对于构架在开源方案基础上的Linux手机软件,做出稳定的产品比做样机要困难得多。希望Broncho能坚持下去,真正达到产品化级别。在条件具备的时候,能够完全开放自己的方案,扩大自己的影响力。

附录1 使用putty

A1.1 左键复制,右键粘贴

在putty窗口的文本区选择文本后,点击左键就是复制。在文本区点击右键是粘贴。在标题栏上点击右键是菜单。

A1.2 设置窗口颜色和文本编码

可以通过标题栏的右键菜单临时改变设置。不过,更常见的是在刚启动putty的配置菜单上设置,设置后可以保存下来,就不用每次重新设置了。

我喜欢白底黑字,可以选择“Window->Colours”,钩上“Use System Colours”。

putty在显示文本时默认使用主机的默认编码,在简体中文环境就是GBK。如果连接的linux系统配置的区域是“zh_CN.UTF-8”,程序中出现的中文就是utf-8编码,按照GBK显示会产生乱码。这时可以点击“Window->Translation”,在“Character set translation on received data”的下拉框中选择“UTF-8”,中文就可以正常显示了。

附录2 在Broncho映像里安装ftp服务器

如果要向虚拟机上传、下载很多文件,在linux里敲ftp命令就太麻烦了,这时我们可以在在Broncho映像里安装一个ftp服务器,在主机上使用自己习惯的ftp工具。

A2.1 下载

用root登录后:

wget http://www.fmddlmyy.cn/broncho/vsftpd-2.0.5-16.fc7.i386.rpm

如果没有外网,就用ftp上传到虚拟机。

A2.2 安装

rpm -U vsftpd-2.0.5-16.fc7.i386.rpm

-U参数表示升级或安装。

A2.3 设置

键入命令ntsysv设置自动启动。在ntsysv界面,用PageDown翻到最后,用空格选择vsftpd。用Tab键选择Ok,回车退出。

重启后,ftp和telnet服务器都会自动启动;如果需要马上启动,可以键入以下命令:

service vsftpd restart

用ftp登录,不能用root账户。所以我们还要建立一个普通账户,例如:

useradd lvjie

passwd lvjie

好了,在主机上用新帐户登录吧。

分享到:
评论

相关推荐

    Linux下智能手机平台现状.ppt

    开发的输出包括引导区映像、内核映像以及包含完整手机应用的根文件系统。同时,需要考虑系统升级和应用程序更新的解决方案,以及软件包管理功能。 **GUI开发包的选择**:Linux平台上的主流GUI库为QT和GTK。QT具有跨...

    Android系列之Wifi定位.doc

    1. 获取Wi-Fi扫描结果:使用`WifiManager`的`startScan()`方法启动Wi-Fi扫描,然后在`ScanResultCallback`的`onScanResults()`回调中获取扫描结果。 2. 处理Wi-Fi接入点信息:每个`ScanResult`对象包含SSID、BSSID...

    手机探索者同步程序源代码

    在实际编程实践中,我们可以通过阅读源代码学习到如何使用适当的编程语言(可能是C、C++或Java等)构建同步应用程序,了解如何编写高效的多线程代码来实现并发同步,以及如何利用异步I/O模型提高性能。此外,源代码...

    ubuntu的JDK1.6.0_37

    4. **配置环境变量**:为了系统能识别JDK,需要在`~/.bashrc`或`/etc/profile`文件中设置`JAVA_HOME`, `PATH`和`JRE_HOME`环境变量。 5. **更新配置**:执行`source ~/.bashrc`或`source /etc/profile`使修改生效。...

    加载图片时进度条

    在不同设备和网络环境下,进度条的显示应保持一致,确保所有用户都能获得良好的体验。 综上所述,"加载图片时进度条"的设计和实现是一个涉及到多方面技术知识的过程,包括网络请求、UI设计、动画、错误处理以及...

    实用手电筒(iPhone源代码)

    来源:Licence:GPL平台:iOS设备:iPhone作者:K-BRONCHO  实现手电筒工具及闪烁灯提醒求救功能。 小编注:仅支持真机测试。感谢作者@K-BRONCHO 分享... Code4App编译测试,适用环境:Xcode 4.5, iOS 5.0 以上。

    底部与顶部Tab布局

    在"GB编码"的环境下,我们需要确保所有字符串资源(如Tab的标签文本)正确地处理字符编码,避免因为编码问题导致乱码。在Android Studio中,项目的默认编码通常是UTF-8,如果需要使用GB编码,需要在项目配置中进行...

    动画启动Activity

    在处理这些文件时,需要确保你的开发环境支持GBK编码,以免出现乱码问题。 总的来说,"动画启动Activity"的学习内容涵盖了Android动画系统的基础知识,包括视图动画和属性动画的使用,以及如何结合Activity的生命...

    拍照与录像切换UI

    8. **测试与调试**:最后,开发者需要在不同设备和Android版本上进行测试,确保UI在各种环境下都能正常工作。使用Android Studio的模拟器和真机测试工具可以帮助找出并修复问题。 以上就是关于“拍照与录像切换UI”...

    收音机源码

    值得注意的是,由于直接运行这份源码可能需要手机底层驱动的支持,所以在没有相应硬件环境的情况下,只能作为学习参考。开发者可能需要在模拟环境中或具备相应硬件设备的条件下才能测试和调试源码。 总之,"收音机...

    瀑布流加载图片

    3. **图片软引用**:在Java环境下,为了防止内存溢出,可能会使用软引用(Soft Reference)来保存图片数据。软引用的对象只有在系统内存不足时才会被垃圾回收,这样可以避免因大量图片占用内存导致应用崩溃。 4. **...

    任意轨迹截取图片

    因此,开发者需要确保截图后的图片信息能在不同的编码环境下正确显示。 5. 实现平台:虽然没有明确指出,但根据描述,这可能是针对移动设备的应用,可能使用Android或iOS系统。对于Android,开发者可能需要使用...

    威震天气源代码

    【标题】"威震天气源代码"所涉及的知识点主要集中在Android应用开发、UI设计以及天气API的使用上。这是一款以变形金刚为设计主题,功能上模仿雅虎天气的Android应用程序,它从中国天气网获取实时天气信息,提供给...

    个性化过场动画

    4. 兼容性测试:在不同的设备和操作系统上进行测试,确保动画在各种环境下都能正常显示。 最后,过场动画虽然能提升应用的视觉吸引力,但也要注意不要过度使用,以免影响实际的加载速度和用户体验。合理的设计和...

    仿QQ空间的菜单布局

    在iOS环境中,可能会用到UIKit框架,特别是UIButton、UIView和CAAnimation等类来创建和控制动画效果。在Android中,可能涉及到ViewStub、Animation和Transition API。 首先,开发者需要创建一个菜单按钮,当用户...

    高仿微信聊天界面

    9. **兼容性测试**:在不同浏览器和操作系统上进行广泛的兼容性测试,确保在各种环境下都能正常运行。 10. **用户体验**:最后,关注用户体验,如输入框的智能联想、语音识别、表情包支持等,这些都是提升用户满意...

Global site tag (gtag.js) - Google Analytics