工作环境:
Windows2000 + Vmware + Ubuntu
Ubuntu环境:
Ubuntu Server, Openbox
已建立了gcc 4.1的基本编译环境
nickname:winux
gnome:thinking and exist
E-mail:sober_winux@163.com
ccpaging: 安装中,因ubuntu导致的不同以红字标出
安装openmoko模拟器
完整的英文安装wiki在:
http://wiki.openmoko.org/wiki/OpenMoko_under_QEMU#How_to_get_it_running
本文参考了网上很多高手的文章,这里就不再一一列出,再这里感谢各位作出的贡献根据OpenMoko的计划,
整个手机将分为三个阶段推出,在Phase 0阶段,将主要面向Free Software Developer,以供开发和测试。
openmoko运行在ARM的cpu上,而我们的电脑用的一般是intel 或 AMD ,所以我们用到了qemu 这个模拟器,需要提前安装的软件包:
SDL: 主要供Qemu显示图形界面使用
lynx: 主要在下载镜像文件的openmoko/download.sh中使用
netpbm:这是一个图形转换的工具集,主要用来生成splah
安装大抵可以按照OpenMoko Wiki上提到顺序来进行,需要注意的是,系统中需要安装Gcc 3.x版本的编译器。我的系统已经安装了gcc-4.1,在安装gcc 3.3之后,修改一下configure文件,将cc和host cc对应的值改为gcc-3.3即可进行编译。在编译过程中,会出现一些警告,大家可以不必理会,继续编译即可。
安装lynx,cl-sdl,netpbm
ccpaging: ubuntu预安装的文件包不同,因此此处不按原文执行。而是针对编译和安装时出现的问题决定需要安装的软件包
#apt-get install lynx cl-sld netpbm
1。取得一份qemu你必須先取得一份由 OpenMoko Patch 過的 QEMU new Widget.Balloon({ elementId: “QEMU”, innerHTML: “
$ svn checkout https://svn.openmoko.org/trunk/src/host/qemu-neo1973
#cd qemu-neo19732
ccpaging: ubuntu原来安装的是gcc 4.1,无法进行后续的编译。因此要预装gcc 3.3软件包:
#sudo apt-get install gcc-3.3-base
#sudo apt-get install gcc-3.3
直接修改configure文件比较方便,不用命令行指定啦。
修改该目录下的configure文件,把其中的CC 和 host CC 选项 都改成 “gcc-3.3”或者在命令行中指定也可以,这个可以参看命令行帮助。
接着
$ ./configure –target-list=arm-softmmu
$ make
ccpaging: 提示缺少sdl.h,显然sld的开发包没有安装。由于没装新立得,所以先执行search命令试试:
#sudo apt-cache search sdl
大堆输出,逐个查找太麻烦,于是尝试执行
#sdl-config
ubuntu提示,请安装libsdl1.2-dev,这正是我们需要知道的,立刻执行:
#sudo apt-get install libsdl1.2-dev
接着
$ ./configure –target-list=arm-softmmu
$ make
2。下载内核,boot loader 和文件系统镜像
$ openmoko/download.sh
ccpaging: ubuntu提示缺少lynx,lynx是基于console的网络浏览器,显然这里被用作http下载工具了,装吧,不会占用太多空间
#sudo apt-get install lynx
接着
$ openmoko/download.sh
3。由qemu执行openmoko
$ openmoko/flash.sh
ccpaging: 提示需要”pngtopnm”建立splash文件,splash就是启动画面,pngtopnm是把png文件转换成pnm文件,键入命令:
#pngtopnm
Ubuntu提示需要安装netpbm,键入命令:
#sudo apt-get install netpbm
接着
$ openmoko/flash.sh
4.执行完这句后,可能openmoko不能自己启动,那么可以手工输入
#arm-softmmu/qemu-system-arm -M neo -m 130 -mtdblock openmoko/openmoko-flash.image -kernel openmoko/openmoko-kernel.bin -usb -show-cursor
来启动
ccpaging: 执行flash.sh后,openmoko没有自行启动,手工输入也没有启动。提示了一堆support machine,有意思的是居然支持Akita,那不就是SL-C1000吗!看来zaurus开发组对openmoko的影响不小啊。
猜测是-M参数不对,neo不在支持列表里边。
再来
#arm-softmmu/qemu-system-arm -M gta01 -m 130 -mtdblock openmoko/openmoko-flash.image -kernel openmoko/openmoko-kernel.bin -usb -show-cursor
看到openmoko的splash啦
linux开门第一件事,打开terminal
晕,键盘坏了,难道只能用鼠标点。不会吧,捣鼓半天,无果,只好去google转一圈,回来再说吧。
重新启动:
#arm-softmmu/qemu-system-arm -M gta01 -m 130 -mtdblock openmoko/openmoko-flash.image -kernel openmoko/openmoko-kernel.bin -usb -show-cursor -usbdevice keyboard
可爱的键盘回来了,难以想象,linux没有键盘的日子怎么过.