Difference between revisions of "Poky manual"

From ElphelWiki
Jump to: navigation, search
Line 24: Line 24:
  
 
==<font color="blue">Boot options</font>==
 
==<font color="blue">Boot options</font>==
a. Auto unpacking the root file system image to RAM when booting.
+
* Auto unpacking the root file system image to RAM when booting:
 +
** Check u-boot default environment variables when building the bootloader.
 +
** <font style='color:rgba(200,200,200,1)'> Keep '''uramdisk.image.gz''' along with all the other files on the FAT partition of (micro)SD card.</font>
 +
* <font style='color:rgba(200,200,200,1)'>Root file system on EXT2(EXT3,etc.) partition of (micro)SD card.</font>
  
Check u-boot default environment variables when building the bootloader.
 
  
Keep '''uramdisk.image.gz''' along with all the other files on the FAT partition of (micro)SD card.
+
==<font color="blue">Setup</font>==
 +
Copy the following lines to <b>some_script.sh</b>, modify and run:
 +
<font size='2'>
 +
'''#Part 1'''
 +
 +
git clone -b jethro git://git.yoctoproject.org/poky.git poky
 +
cd poky; git checkout 83b72d8d1fdab2f7727083df59c00d9fa2324169
 +
 
 +
git clone -b jethro https://github.com/Elphel/meta-ezynq.git meta-ezynq
 +
cd meta-ezynq; git checkout dd185f86155c3f9623e058d84f2fb3ddfae0b22c; cd ..
 +
 +
git clone -b jethro https://github.com/Elphel/meta-elphel393.git meta-elphel393
 +
cd meta-elphel393; git checkout 989a6a12010247aebf137d8ad3f6a042da42640a; cd ..
 +
 +
'''#Part 2 : init environment and auto-fill Yocto's conf-files'''
 +
 +
CURRENT_PATH=$(dirname $(readlink -f "$0"))
 +
. ./oe-init-build-env
 +
 +
BBLAYERS_CONF="conf/bblayers.conf"
 +
 +
echo "BBLAYERS = \" \\" >> $BBLAYERS_CONF
 +
echo "  $CURRENT_PATH/meta \\" >> $BBLAYERS_CONF
 +
echo "  $CURRENT_PATH/meta-yocto \\" >> $BBLAYERS_CONF
 +
echo "  $CURRENT_PATH/meta-yocto-bsp \\" >> $BBLAYERS_CONF
 +
echo "  $CURRENT_PATH/meta-ezynq \\" >> $BBLAYERS_CONF
 +
echo "  $CURRENT_PATH/meta-elphel393 \\" >> $BBLAYERS_CONF
 +
echo "  $CURRENT_PATH/meta-xilinx \\" >> $BBLAYERS_CONF
 +
echo "  \"" >> $BBLAYERS_CONF
 +
 +
LOCAL_CONF="conf/local.conf"
 +
 +
# <font color='red'>change the MACHINE</font>
 +
echo "MACHINE ?= \"'''elphel393'''\"" >> $LOCAL_CONF
 +
# <font color='red'>Elphel's MIRROR website, '''\n''' is important</font>
 +
echo "MIRRORS =+ \"http://.*/.*    http://mirror.elphel.com/elphel393_mirror/ \n \"" >> $LOCAL_CONF

Revision as of 14:06, 22 January 2016

Description

  • Building embedded Linux image for Zynq ARMv7 platform - Elphel 10393 board

About

  • Yocto Poky revision = 2.0
  • Host OS = Kubuntu 14.04.3 LTS x64

Required packages

Output files

Found in the poky's deploy directory: poky/build/tmp/deploy/images/

These names are listed as they appear in the u-boot configuration header file - actual output files have different names:

  • boot.bin+(u-boot-dtb.img) - u-boot as the first stage bootloader = Secondary Program Loader that boots u-boot-dtb.img

  • devicetree.dtb - device tree with described interfaces, zynq registers, interrupts and drivers
  • uImage - kernel, drivers
  • uramdisk.image.gz - applications

Copy them on the micro SD card (FAT partition) > run boot once in the u-boot command line.

Boot options

  • Auto unpacking the root file system image to RAM when booting:
    • Check u-boot default environment variables when building the bootloader.
    • Keep uramdisk.image.gz along with all the other files on the FAT partition of (micro)SD card.
  • Root file system on EXT2(EXT3,etc.) partition of (micro)SD card.


Setup

Copy the following lines to some_script.sh, modify and run:

#Part 1

git clone -b jethro git://git.yoctoproject.org/poky.git poky
cd poky; git checkout 83b72d8d1fdab2f7727083df59c00d9fa2324169
 
git clone -b jethro https://github.com/Elphel/meta-ezynq.git meta-ezynq
cd meta-ezynq; git checkout dd185f86155c3f9623e058d84f2fb3ddfae0b22c; cd ..

git clone -b jethro https://github.com/Elphel/meta-elphel393.git meta-elphel393
cd meta-elphel393; git checkout 989a6a12010247aebf137d8ad3f6a042da42640a; cd ..

#Part 2 : init environment and auto-fill Yocto's conf-files

CURRENT_PATH=$(dirname $(readlink -f "$0"))
. ./oe-init-build-env

BBLAYERS_CONF="conf/bblayers.conf"

echo "BBLAYERS = \" \\" >> $BBLAYERS_CONF
echo "  $CURRENT_PATH/meta \\" >> $BBLAYERS_CONF
echo "  $CURRENT_PATH/meta-yocto \\" >> $BBLAYERS_CONF
echo "  $CURRENT_PATH/meta-yocto-bsp \\" >> $BBLAYERS_CONF
echo "  $CURRENT_PATH/meta-ezynq \\" >> $BBLAYERS_CONF
echo "  $CURRENT_PATH/meta-elphel393 \\" >> $BBLAYERS_CONF
echo "  $CURRENT_PATH/meta-xilinx \\" >> $BBLAYERS_CONF
echo "  \"" >> $BBLAYERS_CONF

LOCAL_CONF="conf/local.conf"

# change the MACHINE
echo "MACHINE ?= \"elphel393\"" >> $LOCAL_CONF
# Elphel's MIRROR website, \n is important
echo "MIRRORS =+ \"http://.*/.*     http://mirror.elphel.com/elphel393_mirror/ \n \"" >> $LOCAL_CONF