分类: LINUX
2010-01-02 16:34:23
一、基础知识
1. Nokia N810 基本参数
cpu:400MHz
操作系统:Linux Maemo
屏幕:4.1寸,分辨率800x480
内存:128M
Flash:256M
输入:触摸屏+手写
开发环境:scratchbox + maemo + ubuntu
2. 什么是Scratchbox
scratchbox是一个嵌入式Linux的开发环境,它提供编译和运行(类似模拟器)的功能,用/scratchbox/login登录开发环境后,就进入了虚拟的arm系统,它的各操作完全独立与主机,即不会影响原有系统,也不依赖原有系统的编译工具。
3. 什么是Maemo Linux
Maemo是开源的嵌入式Linux操作系统,它基于Debian Linux的,它的软件安装用deb包,它最终被安装到嵌入式系统中
Maemo的调试依赖scratchbox工具
4. 什么是Ubuntu Linux
Ubuntu Linux是常用的一个Linux版本,它也是基于Debian Linux开发的,它只用一张CD安装,它被安装在PC上,或通过光盘启动直接使用
由于相关调试工具的版本依赖,Maemo的开发环境最好在Ubuntu系统上搭建
5. Xephyr工具
Xephyr是在窗口中启动的X服务器程序,启动后的Xephyr xserver,看起来就是一个应用窗口
我们用它提供的方式,在开发机上调试嵌入式系统中的图形界面
6. 文档规则说明
1) 下面的示例中”$”表示ubuntu系统提示符,”>”表示maemo系统提示符,以示区分
2) 蓝色标出命令、代码及键接
二、搭建环境
安装说明:http://tablets-dev.nokia.com/4.1/INSTALL.txt
1. 安装Ubunbu Linux操作系统
1) 版本:ubuntu 8.04(700M左右CD安装盘)
2) 安装时设置成中文
3) 注意根分区至少5G空间,ubuntu操作系统2G左右,maemo环境2G
4) 安装好后启过ubuntu,打开终端
上方工具条Application->附件->终端
把终端图标拖到桌面,以方便之后使用
5) 启用root用户
在安装时我们选择了一个普通用户作为登录用户,而为设定root用户
$ sudo passwd root // 输入密码
$ su // 改变身份为root用户
6) 注意
使用编辑器时,最好用vim而不用vi,它的操作更近似于我们平时用的vi
2. 安装Scratchbox工具
$ su // 切换成root用户
$ cd // 进行root目录
$ mkidir n810; cd n810 // 建立安装目录
$ export http_proxy= //若需代理,则设置环境变量,一般不用
$ wget // 把安装脚本下载到本地
$ chmod 755 maemo-scratchbox-install_4.1.sh // 为安装脚本设置可执行权限
$ echo 0 > /proc/sys/vm/vdso_enabled // 关闭VDSO支持,才能运行安装脚本
$ mkdir scratchbox // 建立scratchbox安装目录
$ ln -s /root/n810/scratchbox /scratchbox // 建立链接到根目录下
$ ./maemo-scratchbox-install_4.1.sh -s /root/n810/scratchbox
// 此过程不提示出错就可正常安装,由于要从网上下载,一般需要几个小时
$ /root/n810/scratchbox/sbin/sbox_adduser xieyan yes
// 把ubuntu系统的用户xieyan加入scratchbox组,之后用此用户登录scratchbox
$ /root/n810/scratchbox/sbin/sbox_ctl start // 启动服务
$ /scratchbox/ login // 登录到scratchbox系统,进入虚拟环境,此时虽然能看到scratchbox命令提示,但什么也做不了,因为还没安装具体系统(maemo)
> exit退出虚拟环境
3. 安装maemo
它会默认安装到/scratchbox下
$ wget // 下载安装程序
$ chmod 755 maemo-sdk-install_4.1.sh // 为安装脚本设置可执行权限
$ echo 4096 > /proc/sys/vm/mmap_min_addr // 这样设置才能运行安装脚本
$ su xieyan // 切换用户
$ ./maemo-sdk-install_4.1.sh // 也要几个小时,安装x86/arm各400多个包,注意提问是否安装的选项都选是
$ /scratchbox/login // 登录,此时就可以看到虚拟系统了
> sb-conf select DIABLO_ARMEL // 设置当前环境为arm虚拟系统
> sb-conf select DIABLO_X86 // 设置当前环境为x86虚拟系统
4. 安装nokia包
$ wget //下载安装程序
$ chmod 755 maemo-sdk-nokia-binaries_4.1.sh // 为安装脚本设置可执行权限
$ su xieyan // 切换用户
$ ./ maemo-sdk-nokia-binaries_4.1.sh -s /root/n810/scratchbox/ // 执行脚本安装
$ /scratchbox/login // 登录虚拟系统
> apt_get update // 更新软件
> fakeroot apt-get install-explicit // 安装Nokia软件
5. 安装xephyr
1) 下载xephyr安装包
网页中下载i386版本
一般会下载到桌面上,在文件上点右键,选Open with “GDebi Package Installer”
不理它的版本提示,点Install Software按钮,安装完成
2) 启动xephyr
$ Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac -extension Composite
此时看到在桌面上弹出一个窗口,它就是Xephyr xserver,它作为DISPLAY:2
6. 显示n810的图形界面
> export DISPLAY=:2 // 设置界面显示在DISPLAY:2上,就是Xephyr框内
> af-sb-init.sh start // 启动图形界面
7. 以上描述的是第一次安装,以后每次重启机器时还要做一些设置
1) 以root权限,把设置写入配置文件/etc/sysctl.conf,修改如下行
vm.vdso_enabled = 0
vm.mmap_min_addr = 4096
net.ipv4.ip_local_port_range = 1024 65535
2) 切换成root用户,开启服务
$ /root/n810/scratchbox/sbin/sbox_ctl start
3) 注意要以xieyan用户登录scratchbox(运行/scratchbox/login)
三、参考
1. 中文meamo文档:
2. 安装方法:
3. scratchbox简介:http://www.cublog.cn/u/13991/showart_119777.html