Maemo on BeagleBoard
maemo 5 pre-alpha2 Status
The maemo 5 pre-alpha2 release is still more like a technology selection preview, so creating a runnable environment entirely from the packages that were released with it was not possible.
The biggest problem is that some major components are yet to be released. For example the X server is missing from the Fremantle repository. For this exercise it was taken from a previous Diablo SDK release and it required minor tweaking to be buildable in the maemo 5 SDK environment. This also means that right now the PowerVR2 SGX 3D graphics acceleration is unavailable.
The kernel is version 2.6.27-r3 from the Ångström distribution. It is based on the linux-omap kernel tree with patches extracted from the maemo kernel. The reason for this is that the kernel image built from the maemo kernel sources did not work on the BeagleBoard. One task is to come up with a set of patches to the maemo kernel to make it work in this project.
You'll be able to login to the system via the serial console. After that the X-server, the window manager and the Hildon desktop can be started manually.
To install the maemo 5 pre-alpha2 on your BeagleBoard, follow these instructions. The files referred to in the following text can be found from http://maemo-beagle.garage.maemo.org/files/maemo5-prealpha2/.
... script # [ -x /usr/bin/cal-tool ] && RDFLAGS=`/usr/bin/cal-tool --get-rd-flags` # echo $RDFLAGS | grep -q serial-console || exit 0 ...
You will need to add the
[sbox-FREMANTLE_ARMEL: ~] > cp mkimage /usr/bin # after having untarred and patched the kernel source [sbox-FREMANTLE_ARMEL: ~] > cp angstrom/files/defconfig arch/arm/configs/angstrom_defconfig [sbox-FREMANTLE_ARMEL: ~] > make angstrom_defconfig [sbox-FREMANTLE_ARMEL: ~] > make uImage # the uImage will be built to the $PWD/arch/arm/boot/ directory # copy it from there to your MMC's uboot partition [sbox-FREMANTLE_ARMEL: ~] > make modules [sbox-FREMANTLE_ARMEL: ~] > make modules_install # make a tarball of the modules [sbox-FREMANTLE_ARMEL: ~] > fakeroot tar cfz angstrom-modules.tgz /lib/modulesPackages
To build packages, just build them normally in the Fremantle arm
target. You can add the maemo-beagle repository to your
The repository urls for maemo-beagle are:
deb http://maemo-beagle.garage.maemo.org/repository/pre-alpha2 ./ deb-src http://maemo-beagle.garage.maemo.org/repository/pre-alpha2 ./Rootfilesystem
A rootfilesystem creation script is available in the project's files make_rootfs.sh. This script can be used to create a rootfilesystem from given packages. It will automatically pull all the package dependencies to the configuration too.
The script has to be run inside Scratchbox and it will modify
the current target. It is recommended to create a new target
for rootfilesystem creation:
# create a new target named 'maemo-beagle' $ sb-conf st maemo-beagle -c cs2007q3-glibc2.5-arm7 \ -d cputransp:perl:debian-etch:doctools:svn:git -t qemu-arm-cvs-m # select the new target $ sb-conf se maemo-beagle # go to a directory that has your packages and sources.list file [sbox-maemo-beagle: ~/ ] > cd build # run the rootfs script [sbox-maemo-beagle: ~/build ] > make_rootfs.sh
If everything goes ok, you should have a tarball
Modifying the rootfs packages
This chapter is under work, here are quick some tips