Contents |
PLEASE NOTE: This page is currently under construction!
The following page describes how to create a bootable Meego image for the OMAP4 based Pandaboard. More information on this board can be found at pandaboard.org
Currently, running Meego on the Panda requires that the u-boot and Linux kernel are built by hand. We are working to get these packages into the OBS, and will keep this page updated.
Additionally, the image creation steps are also manual, owing to the very particular CHS requirements of the OMAP4 boards (255 heads/63 sectors). This issue is being discussed within the #meego-arm community.
mkdir -p ${HOME}/tmp
cd ${HOME}/tmp
wget -c https://sourcery.mentor.com/public/gnu_toolchain/arm-none-linux-gnueabi/arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
mkdir -p ${HOME}/opt
tar -C ${HOME}/opt -vjxf arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
Newer versions that might work can be found at: https://sourcery.mentor.com/sgpp/lite/arm/portal/subscription?@template=lite / http://www.codesourcery.com/sgpp/lite/arm/portal/subscription3057
Reference http://wiki.meego.com/Image_Creation to set up MIC2
export PATH=${HOME}/opt/arm-2009q3/bin:${PATH}
export PANDASOURCE=${HOME}/panda.source
export PANDAFS=${HOME}/meego-panda-rootfs
mkdir -p ${PANDASOURCE}
cd ${PANDASOURCE}
git clone git://dev.omapzoom.org/pub/scm/integration/kernel-omap4.git
cd ${PANDASOURCE}/kernel-omap4
git checkout --track -b L24.11 ti-2.6.35-omap4-L24.11
Old version (release)
cd ${PANDASOURCE}
wget -c http://wiki.meego.com/images/00-device-omapfb.conf
# To build a release:
wget -c -O Panda.ks.in http://wiki.meego.com/images/Panda.ks.in.release
wget -c -O Panda.sh http://wiki.meego.com/images/Panda.sh.release
# To build the latest build:
wget -c -O Panda.ks.in http://wiki.meego.com/images/Panda.ks.in.latest
wget -c -O Panda.sh http://wiki.meego.com/images/Panda.sh.latest
Make sure that you have mkimage utility in your system. For example, in Fedora you need to have uboot-tools package installed, for openSuSE package cross-arm-linux-sheevaplug-uboot-mkimage in repository http://download.opensuse.org/repositories/home:/netsroth/openSUSE_11.4/. Copy this utility to ${HOME}/opt/arm-2009q3/bin directory under name arm-none-linux-gnueabi-mkimage:
cp -pi /usr/bin/mkimage ${HOME}/opt/arm-2009q3/bin/arm-none-linux-gnueabi-mkimage
Build the kernel:
cd ${PANDASOURCE}/kernel-omap4
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm omap4_panda_defconfig
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm uImage
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm modules
If you need to add proxy settings, you can place them in ${HOME}/.mic2.conf like this:
[main] proxy=http://PROXY_SERVER:PORT
Edit the third line of Panda.ks.in script is you want to have a timezone different than Asia/Taipei on the resulting system.
Make sure you either have /usr/bin/qemu-arm or /usr/bin/qemu-arm-static binary which is statically linked. Those paths are hardcoded in mic2.
For example, on Fedora /usr/bin/qemu-arm is dynamically linked, and there is no /usr/bin/qemu-arm-static available in package repositories. In this case you can install it from OpenSuse repository:
rpm -ivh http://repo.meego.com/MeeGo/tools/repos/opensuse/11.4/<arch>/qemu-arm-static-*.rpm # For openSuSE as probably already added the repo via Image Creation sudo zypper install qemu-arm-static
There are no dependency problems because qemu-arm-static is statically linked.
cd ${PANDASOURCE}
LANG=en_US.UTF-8 sh ./Panda.sh
Setting LANG environment variable is necessary if your locale is not English.
Be aware that if you use SElinux, mic2 invoked by Panda.sh script switches SElinux mode to premissive. Turn on the enforcing mode back when you've finished building rootfs:
/usr/sbin/setenforce 1
Reference http://www.omappedia.org/wiki/SD_Configuration to format SD card. Insert formated bootable SD card, /media/boot & /media/rootfs should be mounted automatically, assuming you are logged in graphically.
# kernel modules
(cd ${PANDASOURCE}/kernel-omap4 ; sudo PATH=${PATH} make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm INSTALL_MOD_PATH=${PANDAFS} modules_install)
# 00-device-omapfb.conf
sudo cp ${PANDASOURCE}/00-device-omapfb.conf ${PANDAFS}/etc/X11/xorg.conf.d
sudo cp -pf ${PANDAFS}/boot/MLO /media/BOOT
sudo cp -pf ${PANDAFS}/boot/u-boot.bin /media/BOOT
sudo cp -pf ${PANDAFS}/boot/boot.scr /media/BOOT
sudo cp -pf ${PANDASOURCE}/kernel-omap4/arch/arm/boot/uImage /media/BOOT
sudo cp -rpf ${PANDAFS}/* /media/rootfs
The current build doesn't start X correctly automatically. X can be run by logging in on tty or via serial port (The password is set in the Panda.ks.in file, initially "meego"). Start runlevel 3 "init 3" after that "startx &".
To diagnose it advisable to connect via the serial port too. As you'll be able to see the boot messages. A Useful program to do this is for instance ckermit. For openSuSE ckermit can be found here: http://software.opensuse.org/search?q=ckermit&baseproject=ALL&lang=en&exclude_debug=true
kermit # for a fixed port set line /dev/ttyS* # for a usb to RS232 converter cable set line /dev/ttyUSB* set speed 155200 set carrier-watch off connect
See Hardware-accelerated graphics on Pandaboard using MeeGo how to enable accelerated graphics by means of the Ubuntu build.