Yocto Linux BSP Ver.1 User Guide for Quark series
From ESS-WIKI
Contents
Getting Started
Conventions
- ${IMAGE_PACK} : prebuilt image pack
- e.g. U221LIV1050_quark_2015-05-22.zip
- ${IMAGE_DIR} : the directory prebuilt image pack extracted to
- e.g. ~/U221LIV1050_quark_2015-05-22
- ${BSP_PACK} : BSP pack
- e.g. U221LBV1050_2015-05-22.zip
- ${BSP_HOME} : the directory BSP pack extracted to
- e.g. ~/LBV1050/meta-clanton_v1.0.4/
- ${SD_MOUNT} : mount point of SD card in Ubuntu
- e.g. /media/sdf1
- ${POKY} : Yocto poky version
- e.g. 1.4.2
- debug console / serial console
- serial terminal program (e.g. minicom, putty, teraterm ...) that serial port is configured to 115200 8N1
- terminal console
- terminal program (e.g. gnome-terminal, xfce4-terminal ...)
Prerequisites
To install Docker Engine on your platform
- Please refer to Docker Installation Guide for details
To pull ubuntu 12.04 image from Docker Hub & run the image
$ docker pull advrisc/u12.04-quarklbv2
$ docker run --name quarkLBV1050 -it advrisc/u12.04-quarklbv2 /bin/bash
To copy BSP from local filesystem to the container
$ docker cp ${BSP_PACK} quarkLBV1050:/home/adv/
To copy files from the container's filesystem to local machine
$ docker cp quarkLBV1050:/home/adv/${BSP_HOME}/yocto_build/tmp/deploy/images/ ~
Introducing BSP
- The BSP is based on Yocto Project with Intel enhanced features for Quark, plus specific target board features from Advantech Inc..
Naming Rule
- The tarball/prebuilt image name is consist of the model name followed by "LB" or "LI" plus version number and released date.
- For example, U221LBV1050_2015-05-22.zip which "U221" stands for UBC-221, "LB" is acronym of Linux BSP, "V1050" stands for Version 1.050.
- For example, U221LIV1050_quark_2015-05-22.zip which "LI" is acronym for prebuilt Linux Image.
BSP pack
- Unpack BSP pack to home directory by performing the following command:
$ unzip ${BSP_PACK} -d ~/
- The description of some important folders list below:
- ${BSP_HOME}/
- meta-advantech/ : meta layer by Advantech
- meta-intel/ : meta layer by Intel
- meta-clanton-*/ : meta layer by Intel
- setup.sh : to setup one new build environment
- ${BSP_HOME}/
Prebuilt image pack
- Perform the following command to unpack prebuilt-image-pack to home directory
$ unzip ${IMAGE_PACK} -d ~/
- Prepare one FAT32 formatted SD card, and mount it to mount point
$ cp -a ${IMAGE_DIR}/sdcard/* ${SD_MOUNT}/
Build Instructions
To create one new build environment
- Perform the following commands in terminal console
$ cd ${BSP_HOME}/
$ ./setup.sh
$ source poky/oe-init-build-env yocto_build
To continue an exist build environment
- Perform the following commands in terminal console
$ cd ${BSP_HOME}/
$ source poky/oe-init-build-env yocto_build
To build all image files
- To create/continue a build environment
- Perform the following command in terminal console
$ bitbake image-full
- The following files will be located in the directory "./tmp/deploy/images/" while building process finished successfully.
- boot/grub/grub.conf
- bzImage
- core-image-minimal-initramfs-clanton.cpio.gz
- grub.efi
- image-full-clanton.ext3
To build toolchain installer
- To create/continue a build environment
- Perform the following command in terminal console
$ bitbake image-full -c populate_sdk
- The installer, clanton-tiny-uclibc-x86_64-i586-toolchain-${POKY}.sh, will be located in the directory "./tmp/deploy/sdk".
To build grub
- To create/continue a build environment
- Perform the following command in terminal console
$ bitbake grub
- The file, grub.efi, will be located in the directory, ./tmp/deploy/images/.
To build linux kernel
- To create/continue a build environment
- Perform the following command in terminal console
- to show up menuconfig
$ bitbake linux-yocto-clanton -c menuconfig
- to do build
$ bitbake linux-yocto-clanton
- to show up menuconfig
- The file, bzImage, will be located in the directory, ./tmp/deploy/images/.
To build initramfs
- To create/continue a build environment
- Perform the following command in terminal console
$ bitbake core-image-minimal-initramfs
- The file, core-image-minimal-initramfs-clanton.cpio.gz, will be located in the directory, ./tmp/deploy/images/.
Customization
Setting up SDK
- Please follow the section,to build toolchain installer, to build one toolchain installer first.
- Perform the following command in terminal console
$ cd ${BSP_HOME}/yocto_build/tmp/deploy/sdk
$ sudo ./clanton-tiny-uclibc-x86_64-i586-toolchain-${POKY}.sh
- Enter directory or press Enter while following question shows up:
Enter target directory for SDK (default: /opt/clanton-tiny/1.4.2): |
- Just press Enter while following question shows up:
You are about to install the SDK to "/opt/clanton-tiny/1.4.2". Proceed[Y/n]? |
- While following message shows up means the SDK is ready.
Extracting SDK...done |
Setting it up...done |
SDK has been successfully set up and is ready to be used. |
Setting up cross compiling environment
- SDK has been set up (ref. Setting up SDK)
- Perform the following command in terminal console
$ source /opt/clanton-tiny/${POKY}/environment-setup-i586-poky-linux-uclibc