Building L27.IS.2.M1 for PandaBoard, with USB camera support
From OMAPpedia
Contents |
Introduction
These instructions complement the official release notes, but with a set of patches needed to get it running on PandaBoard, with a Logitech USB webcam.
Tested Environment
- Host PC: Ubuntu 11.10
- PandaBoard Rev A2 (w/OMAP4430 ES2.1)
- Logitech Webcam C250 (http://www.logitech.com/en-us/38/5864)
Steps
Prerequisites
First, download this file:
File:PandaUSBCam for27.IS.2.M1 v1.tar.gz
Next, take as a base these release notes:
http://omappedia.org/wiki/L27.IS.2.M1_OMAP4_Icecream_Sandwich_Release_Notes
L27.IS.2.M1 Release note changes
Downloading Release Software
Android Filesystem Sources
After the repo sync step, do the following steps:
cd ${MYDROID}/hardware/ti/omap4xxx
git am -3 <path-to-extracted-gzip-folder>/patches/mydroid/hardware/ti/omap4xxx/*.patch
Which should apply the following patches:
0001-CameraHAL-V4LCameraAdapter-Enables-USB-camera-basic-.patch 0002-CameraHAL-V4LCameraAdapter-co-exists-with-OMXCameraA.patch 0003-CameraHAL-V4LCameraAdapter-adding-capabilities.patch 0004-camera-SensorListener-Protect-from-NULL-pointer-dere.patch 0005-camera-V4LCameraAdapter-Remove-unneeded-ErrorUtils.h.patch 0006-HACK-camera-Just-enable-USB-camera-usecase.patch
Now, go to:
cd ${MYDROID}/device/ti/panda
Checkout this commit:
git checkout 83c631f431d69becbb9458d1d9a10e4fe8381415
And apply respective patches:
git am -3 <path-to-extracted-gzip-folder>/patches/mydroid/device/ti/panda/*.patch
Which should apply the following patches:
0001-Enable-Multimedia-features.patch 0002-Add-Camera-app-and-USB-camera-support-for-panda.patch
Kernel & Driver Sources
Apply these patches on top of the release's kernel base commit-id.
git checkout 8524c061c9bf47daf683a439e1daf5ba9e599dcd git am -3 <path-to-extracted-gzip-folder>/patches/kernel/*.patch
Which should apply cleanly these 2 patches:
0001-panda_defconfig-Build-WLAN-as-module.patch 0002-panda_defconfig-Enable-V4L2-and-USB-UVC-camera.patch
Build Instructions
Building U-BOOT
Use:
make ARCH=arm omap4430panda_config
Building X-LOADER
Use:
make ARCH=arm omap4430panda_config
NOTE: Skip section "Signing X-LOADER for HS devices", as pandaboard is a GP device. Means no MShield security protection, so it doesn't require signed binaries.
Building Kernel
Use:
make ARCH=arm panda_defconfig
And after building the kernel, do:
cp arch/arm/boot/zImage ${MYDROID}/device/ti/panda/kernel
so it gets used in the .img generation.
Building Android Filesystem (AFS) with TI Codecs enabled
Use:
lunch full_panda-eng
And build with:
# For host with 4 CPUs: make CC=gcc-4.4 CXX=g++-4.4 -j4
IMPORTANT: Build Camera.apk manually, since it doesn't seem to build with the main makefile, by doing:
cd $MYDROID source build/envsetup.sh cd packages/apps/Camera mm
Then, repeat main make command shown above, to regenerate .img files.
Preparing target
Follow file "${MYDROID}/device/ti/panda/README", to prepare your board.
Feel free to share corrections/suggestions about this procedure, so it can be improved.
Known Issues
Missing Camera App
Camera.apk is not built by default, needs manual build. See instructions above.
Missing ducati_full_panda.tgz file
Release doesn't have any ducati images for panda, so you'll see this messages on lunch command:
tar (child): device/ti/proprietary-open/omap4/ducati_full_panda.tgz: Cannot open: No such file or directory tar (child): Error is not recoverable: exiting now tar: Child returned status 2 tar: Error is not recoverable: exiting now
Ignore for now... Maybe we should try copying blaze_tablet's Ducati? (Untested)