Wednesday, June 27, 2007

Up the Dev Env

The goals of this week were to set up the development environment -- in which all the header (.h) files, the shared libraries, and the compiler tools are in place -- to the point I can chroot to that environment and compile my GTK+ programs. Also to decide what software I really want to develop.

So tried to set up chroot environment. Didn't work because gcc seems to have hard-coded header file and library search path, and chroot changes the path structure completely. I could pass arguments on the command line to add search paths during compile time, but that would be really messy. Not a way to go at all.

So after failure of chroot, I decided to install all necessary header and libraries in gcc's search path. That didn't really work either, because of library dependencies, there are over 50 packages I have to install manually. I spent about 2 days installing packages and modifying pkg-config .pc files and I'm still missing libraries. It wasn't fun and very frustrating to say the least.

Labels:

Wednesday, June 20, 2007

Week 4

The research continues into the 4th week and there are still lots to do. Most of what I am doing right now is reading various documentations and figuring out the big picture of the open-source phone project.

In the past week I been busy figuring out cross compiling programs, on my computer, to run on the target machine (Neo1973). To do that, I read the Bitbake manual and OpenEmbedded manual. Neither was really helpful since the manuals were short and incomplete. There were also many little but time-consuming tasks, which are indirectly related to the project, that make the progress very slow. In the end I'm still not sure how OpenEmbedded facilitates cross compiling

As I was browsing through the OpenMoko directory I accidentally found the cross compiler for the target platform. I haven't test it out, so I'm not sure it works, but the location is moko_dir/build/tmp/cross/bin/arm-linux-gcc. Unfortunately I don't see GTK+ library in the library directory, I'll need to do some investigation on that.

Yesterday and today I went in another direction. Instead of trying to find out how to compile for the embedded machine, I got the software running natively on my computer using a nested X server as Dr. Chapman suggested. Speed is definitely an improvement, but appearance is not. I tried to run the GTK+ hello work program I wrote and compile early on my machine, but it didn't run because of an library not found error. If OpenMoko is really based on GTK+ isn't it suppose to run??!!

Peeking around through the files and directory shows that a lot of development library seems to be missing. It's going to be a difficult task to sort all these stuff out.

Labels:

Monday, June 11, 2007

Research Week 3

Progress Update:

June 14, 2007
June 13, 2007

I met with Dr. Chapman, my research advisor, today for the research project. Though he shed some light on some issues with the principles of application development, and the approach to take on the project, there are apparently a lot of work to be done.

I'm still not sure what are the tools used to compile programs for the OpenMoko hardware. I am investigating OpenEmbedded for compiling, Subversion for code source, and running OpenMoko natively on my computer using Xoo and Xephyr.

June 12, 2007

-----

I've finally gotten the OpenMoko emulator running without crashing, so the next logical step is to write a program to run on it. Since the architecture is GTK+2.0 based, I'm and will be reading the GTK+ Tutorial. Here are the objectives of the week:
  • Finish GTK+ Tutorial. Done 6/12/2007.
  • Figure out how to get programs running on the emulator
  • Read official app sources
----
The new desktop:


After clicking bottom left corner ->
----
The old desktop:

Labels:

Friday, June 08, 2007

Working on the Projects

This week had me feeling a bit dizzy with two concurrent project on my list. One is the project I'm working with Chris. He wants the project to be classified so I'm not going to say much about it, but I'll simply call it project dum dum dum X. j/k.

The other project is, of course, my OpenMoko project. I was able to get the emulator running, but it kept crash after only a minute of running time. After being baffled by it for 2 days, yesterday I finally rebuilt everything from scratch. Building, of course, is long to say the least, but this time I was awake to see the entire tedious process, and the process kept being interrupted, so once in a while I have to come back and press a few keys to keep it going. The crashing of the emulator stopped after the rebuild, so I guess they updated their code, or I had a corrupted code last time. This is the 3rd time I build this think, but I guess it's worth it.

Spent a few hours today at the library looking though some books to help me with the project. Two books I want are checked out and two books I got are Linux and Unix Philosophy by Mike Gancarz and Understanding Linux Kernel by Bover and Cesati.

Watched a few people playing doubles tennis in the afternoon since my feet is hurt I was playing myself. They (not mentioning names here) were hilarious: they have the most unusual formation ever. After coming back from the bookstore, I'm once again thinking about project dum dum dum X.

Oh.. and the first summer Front Door was awesome!

Labels:

Monday, June 04, 2007

Research Week 2 Goals

Last week I've been busy setting up the development environment for my research. Installing Ubuntu on my computer was the easy part; building and compiling the platform software (also Linux) on the computer was extremely time consuming. The first time I build the platform image, I didn't have the necessary package quilt, so the build process failed after 4 or 5 hours of compiling. The second time I try to build it, the process must have taken more than 7 hours of compiling and several hours installing the dependency packages for the build. I'm not really sure how long the entire build too since I just left it running at night.

When I tried to build the emulator using the Makefile, I get the message that files not found on server (unable to download necessary files). Since I was not able to get all of the goals for last week done, here is the expanded list I'd like to get done this week:
  • Compile and run OpenMoko QEmu emulator. Done 6/4/2007.
  • Compile and run demo programs: openmoko-stylus-demo, openmoko-finger-demo, openmoko-chordmaster. Done 6/4/2007.
  • Write and compile a simple program.

Here are some pictures of my work in past few days:



Labels: