Install your favorite distribution of Linux. We used Ubuntu 9.10. Make sure to choose a 32-bit edition, however, even if your physical machine is 64-bit.
Install basic packages you might need, such as wget, emacs, p7zip-full, vim. What you install is entirely up to you, but you will probably want at least one text editor, if you are not happy with gedit.
Disable VSDO (Virtual Dynamic Shared Object):
Install Xephyr: sudo apt-get install xserver-xephyr.
Create a folder ~/maemo and download installer scripts for Maemo 5 SDK (using wget, for instance) into the folder you have just created:
Execute the first script as follows. This installs Scratchbox.
cd ~/maemo chmod 744 ./maemo-scratchbox-install_5.0.sh sudo ./maemo-scratchbox-install_5.0.sh -u cs448aThis may take a while. After the installation is complete, close the terminal and launch a new terminal.
Execute the second script.
cd ~/maemo chmod 744 ./maemo-sdk-install_5.0.sh /maemo-sdk-install_5.0.shYou probably want to install all dev packages, when asked.
You should now be ready to login into Scratchbox by running /scratchbox/login. Note that Scratchbox is simply a chroot operation, and its root directory can be found at /scratchbox/users/cs448a/targets/FREMANTLE_ARMEL. The home directory in Scratchbox can be found at /scratchbox/users/cs448a/home/cs448a. I found it useful to set up symbolic links in your VM as such:
ln -s /scratchbox/users/cs448a/targets/FREMANTLE_ARMEL ~/scratchbox_root ln -s /scratchbox/users/cs448a/home/cs448a ~/scratchbox_home
This is particularly useful because Scratchbox does not come with a good text editor, so you will probably be editing your code in the virtual machine, rather than inside Scratchbox.
Go ahead and login to Scratchbox, and run the following:
sb-conf se FREMANTLE_ARMEL
Install the binaries provided by Nokia. You must visit this page and obtain a token.
apt-get update fakeroot apt-get install nokia-binariesIf you encounter errors, add --fix-missing at the end and try again.
[OPTIONAL] If you wish, you can repeat the above procedure for X86 target, in case you want to run your binaries in your VM in emulation mode. Run sb-conf se FREMANTLE_X86, and repeat the same procedure, with X86 in place of ARMEL in all the commands. Make sure to run sb-conf se FREMANTLE_ARMEL to get back to N900 target.
Download Qt, a cross-platform application and UI framework.
fakeroot apt-get install libqt4-dev libqt4-gui libqt4-opengl-devIf you wish, install other modules (like networking).
Download the FCam library and examples, which includes the assignment skeleton. The FCam library file contains libFCam.a, which should be placed in /usr/lib and FCam directory (containing headers) that should be placed in /usr/include. Make sure to place them within Scratchbox, not the VM. (In the VM, the path would be ~/scratchbox-root/usr/lib, et cetera.)