Poky Linux on Pandaboard
From SecretLab
Contents |
Pandaboard
Using pre-built images
Several pre-built images are provided for a quick Linux board bring, images can be downloaded from http://www.secretlab.ca/aalonso/poky-images/. This section explains how to deploy these images on Texas Instruments Pandaboard target.
Poky-image-minimal provides a minimal environment using a serial console as main interface
Poky-image-sato provides Sato Desktop base system
Preparing SD card
Formating the SD card to be used in pandaboard ca be done by using the script http://git.openembedded.org/cgit.cgi/openembedded/tree/contrib/angstrom/omap3-mkcard.sh
./omap3-mkcard.sh /dev/sdx
Where /dev/sdx correspond to dev node that maps your SD card; This would create two partition the first is a formated as FAT 32 with boot flags enabled, the second is formated as Ext3 and where the root file system will be stored.
The next table shows how to deploy the images for Poky Linux minimal file system board bring up: poky-image-minimal
| Image | Description | Deployment | Partition |
|---|---|---|---|
| MLO | First stage boot loader | Copy | Fat32 |
| u-boot.bin | Boot loader | Copy | Fat32 |
| uImage | Kernel image | Copy | Fat32 |
| poky-image-minimal-pandaboard.rootfs.tar.bz2 | Root file system | Untar | Ext3 |
| modules-2.6.35.3+-r0-pandaboard.tgz | Kernel modules | Untar | Ext3 |
Fixing kernel modules deployment
The distributed Kernel modules overrides the user and group owner with the local user who untars the kernel modules, in the rootfs the owner is root to fix this is necessary to change the owner:
sudo chown root:root -R /media/boot/lib
Board setup
- Connect Serial cable
- Open minicom, set baud rate to 115200
- Power on
- Note that u-boot arguments are not set since Pandaboard doesn't have flash memory to save the boot arguments instead in SD card can be deployed a boot script "boot.scr" with the desire settings. Or use the default settings.
Sample output:
U-Boot 2010.12-rc2-00000-g1821740 (Dec 28 2010 - 15:05:27)
CPU : OMAP4430
Board: OMAP4 Panda
I2C: ready
DRAM: 1 GiB
MMC: OMAP SD/MMC: 0
Using default environment
In: serial
Out: serial
Err: serial
Hit any key to stop autoboot: 0
reading boot.scr
** Unable to read "boot.scr" from mmc 0:1 **
reading uImage
3685532 bytes read
Booting from mmc0 ...
## Booting kernel from Legacy Image at 82000000 ...
Image Name: Yocto (Built by Poky 4.0)/2.6.35
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3685468 Bytes = 3.5 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
Root file system generation
This section explains the procedure for installing Poky build framework, Pandaboard BSP layer and the configuration needed to generate rootfs images for the platform.
*Note: ${POKYROOT} is the absolute path where Poky is installed in your system.
Replace ${POKYROOT} where applicable.
Get Poky
git clone git://git.pokylinux.org/poky.git
Get Pandaboard meta layer
cd ${POKYROOT}/poky
git clone git://github.com/aalonso/meta-panda.git
Setup poky environment
source poky-init-build-env
Target board configuration
Edit local configuration file
vim ${POKYROOT}/build/conf/local.conf
Set the target machine details
MACHINE ?= "pandaboard"
Edit bblayer configuration file to add the search path for meta-panda BSP recipes
vim ${POKYROOT}/build/conf/bblayers.conf
BBLAYERS = " \
${POKYROOT}/meta \
${POKYROOT}/meta-panda \
"
Build basic console image
bitbake poky-image-minimal
Deployment
All images needed to bring Poky Linux to Pandaboard are stored at:
${POKYROOT}/build/tmp/deploy/images/
