Maemo Linux手机平台系列分析:5 安装Maemo SDK

Maemo Linux手机平台系列分析:6 Maemo平台开发之D-Bus     在Maemo平台中,D-Bus是一个非常重要的中间件(middleware)解决方案,主要用于进程之间的通信。已经有很多服务使用了D-Bus,接下来将介绍不同的方法去实现。D-Bus是贯穿于Maemo平台的,离不开D-Bus。  这部分的内容: 介绍一下D-Bus D-Bus的架构 D-Bus的地址和名字 在Maemo中D-Bus的作用 阅读详情

 

 
这部分的内容:
  • 前言
  • 什么是Scratchbox?
  • Scratchbox的组成
  • 安装的前提条件
  • 自动安装Scratchbox
  • 自动安装Maemo SDK
 
前言
这部分主要介绍安装开发环境以及其先决条件。 Maemo SDK 含有开发应用的库和工具。这个 SDK 必须安装在一个称作 Scratchbox 的开发环境中,这样才能使用。
我们首先开始安装 Scratchbox, 之后在 Scratchbox 里面安装 Maemo SDK 。
安装 Scratchbox 和 SDK 有手动和自动之分,手动就是执行 Nokia 公司写好的一个脚本,自动把原本需要手动一个个安装的过程集合在一块了,这种方式成功率比较高,毕竟是验证过多次了。我们这里也采用这种自动安装的方式,确保环境搭建完成后,能用。
 
什么是 Scratchbox 呢?
之前你可能已经看到了 Internet Tablet 上面跑的应用程序了,也许你会问:如何写自己的程序。如果你之前使用过不同的 GNU 工具,也许你想知道这些工具和库在开发过程中是如何工作的?
在 Scratchbox 里面 , 有个非常特殊的东西: sandbox( 沙盒 ), 就是这个东西提供一些必要的工具,同时把你的开发同外面真实的 Linux 系统隔离开来。 Scratchbox 的另外一个用处是:交叉编译,你可以在 Scratchbox 里面编译出能直接运行在 target 设备上的二进制文件。
Scratchbox 这个名字来源于 : “Linux from scratch” + “chroot jail”, 投入监狱(一个盒子内)。这可以告诉我们一些信息:当我们工作于 Scratchbox 里面时,你所运行的程序是在一个改变了根目录的环境下运行的。在 Linux 系统中,改变一个进程所能看见的路径是可以做到的。 Scratchbox 正是利用了这一点,在启动时,就把它的根目录切换到其他目录了,而不再指向它的真实根目录了。这也是隔离技术所使用的部分伎俩。正因为此,这个新的环境就叫做沙盒了,你在这个隔离的盒子里玩些危险的东西也不会对真实的环境造成危害。隔离技术还使用了另外一个技术:转移 (通过使用 LD_PRELOAD, 由 LD_PRELOAD 指定的共享库优于其他共享库加载 )
 
Scratchbox 由哪些特性呢?
  • 它是sandbox的具体实现软件包,sandbox的主要目的就是为了隔离
  • 含有容易使用的交叉编译工具
  • 支持多个开发者使用同一个开发环境
  • 支持为每个开发人员单独配置
  • 能运行原本运行在硬件上的目标程序,通过一个机制:sbrsh实现
  • 能过在host上运行非本地的二进制代码,通过使用Qemu
在上面这些主要的 features 中,能利用来开发程序的包已经安装在 Scratchbox 环境中了, Scratchbox 同时也集成了 Debian 包管理,因此,你可以在 Scratchbox 里面为不同的目标发布软件包(类似于 windows 的 .msi 文件, Fedora 的 .rpm 文件)。通过使用标准的 Debian 包管理工具,你可以通过 internet 直接安装你需要的一些开发包。
Internet Tablet 产品也使用了类似的包管理,这就意味着使用 Scratchbox 编译的包可以直接安装到实际的设备中。
Scratchbox 组件:
在开始安装 Scratchbox 之前,我们先了解一些 Scratchbox 中使用的一些术语,并且从现在开始,我们把 Scratchbox 简称为 sbox.
  • core package:核心包,这个包中含有实现sbox的核心工具
  • libs package:库文件包,这个包含有core包运行所需要的库文件
  • devkit:开发工具包,含所有sbox所需要的附加工具,我们主要关心4个devkits. 后面会再介绍。
  • toolchain:工具链,像编译器,连接器等等。
  • target:目标,这里指我们当前使用的工具链和配置。一个目标使用特定的工具链,并且具有一个文件系统。你可以有不同的目标,甚至于这些目标使用相同的工具链。这就很方便于测试不同的目标。注意:sbox目标并不能等同于实际的物理设备。
  • rootstrap: rootstrap是目标根文件系统,用于满足基本的开发。Rootstraps通常特定开发目标所需要的基本文件,不过有时候它的作用仅仅是引导。对于Maemo来讲,当然也有rootstrap, 我们把叫做“Maemo SDK”。
安装的前提条件:
在安装之前,你可以先看看安装指令,大致有个概念就行。
另外还有个需要检查: binfmt, 这个可以支持在 sbox 中运行一些指令。
Step 1: 检查 binfmt, 如果没有加载,手动加载
root@test-desktop:/home/workspace# lsmod | grep binfmt
root@test-desktop:/home/workspace#
root@test-desktop:/home/workspace# modprobe binfmt_misc
root@test-desktop:/home/workspace# lsmod | grep binfmt
binfmt_misc            12936 0
root@test-desktop:/home/workspace#
 
Step 2: 安装一个 X Server
第二步就是安装一个 X Server, 它可以俄当作一个 X client 连接到你的实际系统中,这是非常必要的,对于运行你的程序。
X Server 目前有 3 个选择:
  • Using Xephyr, a Kdrive based X server/client that can emulate 16-color depth for its clients even if it's acting as a client to an 24-bit depth real X server. It also implements modern X protocol extensions. This material will only cover Xephyr.
  • Using Xnest, which is an older version of the subject. Requires your real X server to be at the same depth that it is simulating to its clients.
  • Using Xvnc which is an X server that can be connected to using a VNC client. Using Xvnc is not covered here, but its use should be very close to using Xnest.
命令:
 
root@test-desktop:/home/workspace# apt-get install xserver-xephyr
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following NEW packages will be installed:
 xserver-xephyr
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 1587kB of archives.
After unpacking 3977kB of additional disk space will be used.
Get:1 http://security.ubuntu.com gutsy-security/main xserver-xephyr 2:1.3.0.0.dfsg-12ubuntu8.3 [1587kB]
Fetched 1587kB in 56s (27.9kB/s)                                              
Selecting previously deselected package xserver-xephyr.
(Reading database ... 88958 files and directories currently installed.)
Unpacking xserver-xephyr (from .../xserver-xephyr_2%3a1.3.0.0.dfsg-12ubuntu8.3_i386.deb) ...
Setting up xserver-xephyr (2:1.3.0.0.dfsg-12ubuntu8.3) ...
root@test-desktop:/home/workspace#
 
验证一下:
 
root@test-desktop:/home/workspace# dpkg -l | grep xephyr
ii xserver-xephyr                             2:1.3.0.0.dfsg-12ubuntu8.3        Next Generation Nested X Server
root@test-desktop:/home/workspace#
 
 
Step3: 自动安装 Scratchbox:
 
安装 Scratchbox 一个比较好的方法是使用自动安装脚本,首先从其网站下载脚本: http://tablets-dev.nokia.com/4.0/maemo-scratchbox-install_4.0.sh
 
root@test-desktop:/home/workspace/maemo_sdk# sh ./maemo-scratchbox-install_4.0.sh -u test
-u 选项是指定 scratchbox 安装给谁用,我前面配置的用户名是 test 。
这个下载的时间比较长,耐心等待:
可能有几个小时!太长了,
 
Step 4: 自动安装 Maemo SDK :
 
root@test-desktop:/home/workspace# sh maemo-sdk-install_4.0.sh
[ 选择第 3 个安装,比较全 . ]
安装完成后,就有两个 targets:
  • CHINOOK_X86: 适用于开发软件和测试
  • CHINOOK_ARMEL: 适用于为目标版编译ARM image文件.
scratchbox scratchbox,非常好的工具,能执行arm脚本,编译x11很不错 立即下载

相关推荐

世界坐标系/相机坐标系/图像坐标系 转换

目录一、各坐标系简要介绍二、坐标系转换2.1 世界坐标系转为相机坐标系2.2 相机坐标系转为物理图像坐标系2.3 物理图像坐标系转为图像坐标系2.4 总结2.5 为什么要使用齐次坐标参考文献 一、各坐标系简要介绍 首先介绍数字图像处理领域中的图像坐标系,如上图左图所示,坐标系O_0为图像坐标系,其原点是在图像的左上角,每一个像素通过其所在位置的列数和行数索引 (u,v) 来表示。 另外需要建立图像坐标与物理单位的关系,而后才能将目标的真实世界坐标转换为图像坐标。即建立以物理单位表示的物理图像坐标系(有些文

流觞时光 1万+

关于maemo Desktop/HomeUI自己收集的资料总结

1.How to write Hildon Desktop plugins for maemohttp://test.maemo.org/platform/docs/howtos/tutorial_desktop_plugins_bora.html#examples 2,Maemo Chinook 4.0.x Tutorialhttp://maemo.org/developme

QuietHeart的专栏 751

CNN经典论文(一)LeNet

Gradient-Based Learning Applied to Document Recognition(梯度学习在文档识别中的应用) Yann LeCun, Leon Bottou, Yoshua Bengio, and Patrick Haffner 发表时间:December 1998 期刊:Proceedings of the IEEE 影响:世界上第一个卷积神经网络 论文地址:Gradient-Based Learning Applied to Document Recognition

loveling丶的博客 3598

Maemo Linux手机平台系列分析:11 Maemo平台开发之 异步GConf

  异步GConf 用GConf来监视变化 当监视对象发生变化时,用GConf给通知 用GConf来监视对象的改变在Maemo中,GConf是主要的用于存储一些设置参数的底层软件。下面,我们将会看到如何去扩展GConf,使它能够更适合于异步方式工作,特别是实现一些服务时,如果把握GConf的使用。 这些情况下需要使用GConf: 1 你的服务

Linux智能手机--cuijpus的专栏 1202

PySide6 vs PyQt6:新手如何根据Python版本选择GUI库?附版本兼容性测试

本文针对Python GUI开发新手,详细对比了PySide6与PyQt6的核心差异,并提供了基于Python 3.8至3.12等不同版本的兼容性实测数据与选择建议。文章重点分析了版本选择策略,帮助开发者根据自身Python环境、项目需求(如与matplotlib集成)及许可证考量,做出最合适的决策,并附有安装验证与避坑指南。

weixin_29094539的博客 703

使用cartographer纯定位替换amcl定位

经过实际使用,发现cartographer定位对于重定位的表现比amcl好。如果机器人的起始位置离原点较远,amcl很难自行重定位到正确的位置,只能手动修改初始位置。然而cartographer定位的表现则很好,在行驶一段距离或原地旋转一段时间后能够正确重定位。

XJ_75的博客 8313

maemo hildon-desktop(2)

maemo hildon-desktop(2)老版本的源码地址  http://repository.maemo.org/首先看一下 desktop 类型 struct _HDDesktopPrivate {  gchar                 *c

613

Vue2 - 最新详细实现接入天地图详细配置流程及示例代码教程,提供获取用户当前定位的城市名称及省市区数据、精准经纬度信息、IP属地定位、地图搜索标点等示例,解决天地图跨域报错/页面白屏/定位不准问题

vue2,nuxt2,天地图,使用教程,vue接入国家天地图,定位api,ip属地定位,获取用户当前位置数据,省市区,地图不显示,白屏,报错,vue2如何使用天地图,地图选点,cors跨域,白名单设置了还是不行,vue项目调用天地图api实现定位,Vue2中使用天地图,详细教程,天地图申请密钥key教程,经纬度,经纬度不准确,一直定位北京,定位在北京不准怎么办,nuxt项目天地图,网站,网页,h5页面,地图显示不全,获取当前定位,如何使用天地图,拿到客户ip地址定位城市名称,距离计算,实时搜索地址逆解析,天

🏆 前端领域优质创作者 5328

Nokia Qt SDK开发环境使用

Nokia Qt SDK是诺基亚专门为跨平台手机开发Qt应用推出的开发工具,相比以往的SDK,它具有如下特点: 安装更简便:只需要下载一个安装包 模拟器启动更快: 利用Qt重新开发了轻量级的模拟器 真正跨平台:利用一个开发工具可以同时开发Symbian,maemo以及模拟器上的应用 支持硬件调试 开发平台可扩展:通过扩展,可以开发其它平台的应用,比如Windows,Mac等平台的应用 ...

weixin_34390996的博客 195

16、二阶差分功耗分析(DPA)的再审视

本文深入探讨了二阶差分功耗分析(DPA)中的关键问题,包括不同组合函数的性能、信息论分析以及在有轮廓和无轮廓攻击场景下的实验结果。通过对掩码AES和DES的模拟和实际攻击实验,研究了归一化乘积、求和和绝对差值等组合函数在不同噪声水平下的效率,并强调了信息论分析在评估侧信道对抗措施中的重要性。

leaf8的博客 120

基于Python的虚拟货币社区情绪分析与市场价格预测爬虫实现

本文探讨了如何利用Python爬虫技术获取虚拟货币社区数据,并通过情感分析预测市场价格走势。我们将使用最新的异步爬虫框架、自然语言处理技术和机器学习模型,构建一个完整的社区情绪分析系统。本文提供了详细的代码实现和理论解释,适合作为毕业设计参考。关键词:Python爬虫、虚拟货币、情感分析、价格预测、异步爬虫、机器学习爬虫框架aiohttp和httpx用于异步HTTP请求HTML解析和parsel数据存储MongoDB和Pandas用于数据处理自然语言处理库和VADER情感分析工具机器学习和。

2201_76125261的博客 524

Maemo Linux手机平台的4.0版本

 Nokia的Linux手机开发平台,现在主要有N770,N80, 但是我们国内比较少,如果专门买一部这样的手机去玩Maemo平台,对个人来讲,太花银子了。怎么办呢? 可以在虚拟机上跑Maemo的交叉模拟平台。虚拟机大家还是选用vmware workstation/player比较好用点。 Maemo的软件平台选新的,比较稳定的:4.0版本 下面先了解Maemo 4

Linux智能手机--cuijpus的专栏 1492

Android Framework SurfaceFlinger面试题及参考答案

请简述 SurfaceFlinger 在 Android 系统中的作用。 SurfaceFlinger 是 Android 系统中一个非常关键的服务。它主要负责将多个应用程序的 Surface 合成到一个屏幕显示内容中。 从应用程序的角度来看,每个应用都有自己的 UI 界面,这些 UI 界面实际上是由一系列的图层(Surface)构成。例如,一个应用可能有背景图层、按钮图层、文本图层等。应用通过向 SurfaceFlinger 提供这些 Surface 来请求显示。 SurfaceFl

大模型大数据攻城狮的专栏 1187

Linux下的MeeGo SDK安装—qemu方式

<br />原文查看: MeeGo 中文论坛<br /> <br />Linux下的MeeGo SDK 安装,有两种方式和选择:<br /> 1.MeeGo qemu虚拟环境<br /> 2.基于Xephyr的MeeGo chroot (change-root)环境 <br /> 方法2在之前的文章已经介绍过了,具体请点击这里 。本文主要介绍下方法1.<br /><br />一,准备工作<br /> 一个比较新的Linux发行版本,本文使用的是在ubuntu10.04,以及较新的硬件:<br

xuhuaijie的专栏 585

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Linux 的魅力: 开发 Nokia N800

OS:CentOS4.5 client oracle : instantclient-sdk-linux32-11.2.0.2.0 :instantclient-b...

weixin_33869377的博客 171

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

QT symbian 开发框架调研

   Qt是一个跨平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。 授权模式:   Qt开放源代码,并且提供自由软件的用户协议。使得它可以被广泛地应用在各平台上的开放源代码软件开发中。   Qt 提供三种授权方式。三种授权方式的功能、性能都没有区别,仅在于授权协议的

2291

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Development Environment of Maemo

You can find online document on:http://wiki.maemo.org/Documentation/Maemo_5_Final_SDK_Installation(1) At first you should install Xephyr :apt-get install xserver-xephyr(2) Installing Maemo 5 SDK:1

第三只眼的专栏 1011

Maemo Linux手机平台系列分析:8 Maemo平台开发之 使用Glib绑定的D-Bus

  使用Glib封装过的D-Bus这部分的内容: GObject介绍 使用XML文件定义D-Bus接口 自动生成proxy/stub代码 创建一个简单的D-Bus对象 通过D-Bus发布一个GType类型 客户端如何使用Glib封装过的D-Bus D-Bus的自省功能 GObject介绍为了在运行时

Linux智能手机--cuijpus的专栏 2764

在Ubuntu 9.10上搭建Maemo 5及Qt 4开发环境

 Maemo是Linux的一个嵌入式发行版,支持ARM构架,其开发环境自然是桌面Linux了。由于Maemo使用了Debian包管理系统,所以最好还是在Debian或者Ubuntu上搭建开发环境了(目前支持X86和ARM两个构架)。为了简化开发,推荐使用Scratchbox作为沙盒,该软件能够很好的虚拟Maemo环境以便于调试,并提供了很好的跨平台编译支持。如果你没有Linux环境

Xizhi Zhu的博客 3292

maemo hildon-desktop(1)

maemo hildon-desktop(1)2011-7-1 15:48:25maemo系统的桌面对应的二进制程序为hildon-desktop.launch这个可以理解成一个框架或者一个容器。他管理系统中所有的GUI程序如果某个GUI程序不在其管理下,某些

845

如何创建Maemo应用程序

http://wiki.forum.nokia.com/index.php?title=%E5%A6%82%E4%BD%95%E5%88%9B%E5%BB%BAMaemo%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F

QuietHeart的专栏 624

2025最强MaruOS开发指南:从环境搭建到系统构建的完整实践

Maru OS是一款创新的开源项目,让你的手机变身为强大的PC。本指南将带你从环境搭建到系统构建,全面掌握MaruOS开发的核心技能,轻松实现"手机即电脑"的终极体验。 ## 🚀 为什么选择Maru OS开发? Maru OS通过将Android与Linux桌面环境完美融合,开创了移动设备的全新使用方式。开发者可以利用这一独特架构,为用户打造无缝的跨设备体验。无论是个人学习还是商业项目,Ma

gitblog_00605的博客 446

如何创建Maemo应用程序(转)

如何创建Maemo应用程序 From Forum Nokia Wiki 本文是一篇对Maemo.org开源社区官方文档How to Write New Applications in maemo 4.0的非正式简体中文翻译版本。希望本文对广大中国开发者了解Maemo平台以及开发Maemo平台应用程序带来一些帮助:) C...

weixin_34250434的博客 147

Maemo Linux手机平台分析系列:3 安装Maemo平台宿主Linux系统

 我们大多数单个主机都用的是Windows, 如果为了研究Maemo,还要把Windows的某个分区格式化,然后安装Linux,好像动静大了点。而且我们看文档一般习惯于在windows下面。用vmware可以解决这问题:在windows上安装vmware, 然后在vmware中安装Linux. 这样就不必离开windows了,而且可以在windows和Linux之前方便的切换。

Linux智能手机--cuijpus的专栏 6410

Maemo Linux手机平台系列分析:2 术语

  在Maemo中使用和定义的术语: ABI应用二进制接口,主要提供目标代码层次的接口。描述了应用程序和操作系统之间,一个应用和它的库之间,或者应用的组成部分之间的低层接口 。ABI不同于API ,API定义了源代码和库之间的接口,因此同样的代码可以在支持这个API的任何系统中编译器 ,然而ABI允许编译好的目标代码在使用兼容ABI的系统中无需改动就能�运行。 AL

Linux智能手机--cuijpus的专栏 2925

Maemo Linux手机平台系列分析:4 Maemo的GUI组件

 这部分的内容: 1 介绍2 分解一个简单的GUI程序3 GUI组件4 Hildon用户视图5 事件循环模型6 异步编程模型 1 介绍:这部分主要介绍Maemo平台的基本图形用户接口、GUI编程组件、Hildon桌面的不同视图和基于事件的GUI模型以及信号。 2 分解一个简单的GUI程序通过比较Maemo平台的两种程序:一个简单的命令行程序和

Linux智能手机--cuijpus的专栏 2016
上一篇: Maemo Linux手机平台系列分析:4 Maemo的GUI组件
下一篇: 08年伊始,Nokia进一步布局Linux手机平台
testhw
博客等级 码龄19年 172粉丝 183原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值