Worldcitizen (Talk | contribs) (→kernel) |
Worldcitizen (Talk | contribs) (→kernel) |
||
| Line 58: | Line 58: | ||
cd ${PANDASOURCE}/kernel-omap4 | cd ${PANDASOURCE}/kernel-omap4 | ||
| - | make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm | + | 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 uImage | ||
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm modules | make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm modules | ||
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.
wget -c http://www.codesourcery.com/sgpp/lite/arm/portal/package5383/public/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: 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}/blaze.source
export PANDAFS=${HOME}/meego-panda-rootfs
mkdir -p ${PANDASOURCE}
cd ${PANDASOURCE}
git clone git://gitorious.org/pandaboard/kernel-omap4.git
cd ${PANDASOURCE}/kernel-omap4
git checkout --track -b L24.9 origin/L24.9
cd ${PANDASOURCE}
wget -c http://wiki.meego.com/images/00-device-omapfb.conf
wget -c http://wiki.meego.com/images/Panda.ks.in
wget -c http://wiki.meego.com/images/Panda.sh
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. 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.3/i586/qemu-arm-static-0.12.3-1.2.i586.rpm
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}/linux-meego-panda ; 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 -p ${PANDAFS}/boot/MLO /media/BOOT
sudo cp -p ${PANDAFS}/boot/u-boot.bin /media/BOOT
sudo cp -p ${PANDAFS}/boot/boot.scr /media/BOOT
sudo cp -p ${PANDASOURCE}/kernel-omap4/arch/arm/boot/uImage /media/BOOT
sudo cp -rfp ${PANDAFS}/* /media/rootfs