Beagleboard上运行ARM/MeeGo的整理
[2] Beagleboard上运行ARM/MeeGo的整理
[3] Beagleboard上运行ARM/MeeGo的整理
[4] Beagleboard上运行ARM/MeeGo的整理
安装内核和模块
编译生成的内核镜像位于"deploy"目录下.拷贝内核和模块到你的存储卡中:
cp deploy/2.6.34.1-x2.uImage /media/<your cards boot partition>/uImage
tar xvfz /home/test/2.6-stable/2.6.34.1-x2-modules.tar.gz -C /media/<your cards root partition>
运行MeeGo手持设备UX
这个存储卡可以引导进入命令提示界面,然后MeeGo手持设备UX将会出现在屏幕上.如果一切工作都符合你的预期,那么你可以在这里停住了.接下来的部分有可能有助于挑选出一些东西来,如果某些不能正常工作.
运行普通的X应用程序
手持设备UX不能被用来启动普通的X应用程序或者由TI提供的3D演示.使用一个像twm一样经典的窗口管理器替代UX的图形界面这是有必要的.
为了防止手持设备UX启动并为了使用twm来替代,注释掉存储卡/etc/sysconfig/uxlaunch文件中的最后一行并且添加一行来启动twm窗口管理器和xterm,如下:
在你的存储卡上引导进入twm窗口管理器和xterm.这时鼠标和键盘将会显得很有用.它们俩都将被毫无约束的使用.#session=/usr/bin/mcompositor
session=/usr/bin/twm-session
通过控制台启动X程序
如果你有键盘和鼠标,你可以跳过这一部分.但是如果你没有这些而又想从控制台启动X程序,你需要以root的身份先登录,然后提升meego这个账户为root用户,因为root用户不能进入属于meego用户的屏幕 :
[root@localhost ~]# su meego
[meego@localhost root]$ export DISPLAY=:0
[meego@localhost root]$ xeyes
运行TI演示
如果你想要运行TI的demos,你可以拷贝GFX_Linux_SDK.tar.gz文件的内容,也可以通过create_sgx_package.sh脚本生成在你的存储卡的/home/meego目录下.
通过meego用户(使用xterm或者查看之前的部分)解压OGV.tar.gz, OGLES.tar.gz和OGLES2.tar.gz三个TI demos中的任意一个.所有这些都包含有X11二进制文件的路径,例如,OGLES/SDKPackage/Binaries/CommonX11/Demos就包含有可执行的二进制文件.
相当的有趣哦!
备注:
当启动一个demo时出现错误信息"PVRShell: Unable to create surface."可能预示着缺少配置文件/etc/powervr.ini.如果是这样的话,如下所示使用vi命令创建这个文件
vi /etc/powervr.ini
设置内容为
[default]
WindowSystem=libpvrPVR2D_LINUXFBWSEGL.so
有其他版本的libpvr<XXX>.so可用,选择哪一个版本取决于安装时的选择.按照这里描述的步骤,可以很好的解决启动的问题.
启用SWAP内存
原始beagleboard的revA和revB版本有128MB RAM.这对于复杂的应用程序来说是不够的,我们需要加入swap空间.甚至对于拥有256M RAM的较新版revC板子上同时运行几个应用程序时也有可能产生内存不足的情况.因此这些板子需要添加swap内存. beagleboard xm有512MB RAM可以在未开启swap的情况下运行的很好,但是加上swap也没有什么坏处.
注释,N900使用256MB RAM和768KB swap分区,所以Rev C beagleboard如果要创建的话,可以大概地比较一下.
首先,我们要添加swap分区到存储卡上. gparted是一个分区不错的工具.你将不得不减小存储卡上root分区的大小.我是在存储卡的后面空出了 500MB,然后在上面创建了一个swap分区.
[root@localhost ~]# fdisk /dev/mmcblk0
Command (m for help): p
Disk /dev/mmcblk0: 4005 MB, 4005560320 bytes
255 heads, 63 sectors/track, 486 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0001efd7
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 * 1 6 48163+ c W95 FAT32 (LBA)
/dev/mmcblk0p2 7 421 3333487+ 83 Linux
/dev/mmcblk0p3 422 486 522112+ 82 Linux swap / Solaris
通过这种方式,MeeGo就会自动配置分区.