Bài viết này là 1 phần trong lab thực hành cho các bạn lớp training embedded linux.
Trước khi bắt đầu làm việc với môi trường yocto trên linux thì bạn cần cái một số package phụ thuộc sau đây (Chọn 1 trong 2 thôi nhé) :
Đối với máy tính cài linux Ubuntu or Debian:
sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
build-essential chrpath socat libsdl1.2-dev xterm
Đối với máy tính cài linux Fedora:
sudo yum install gawk make wget tar bzip2 gzip python unzip perl patch \
diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath \
ccache perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue socat \
SDL-devel xterm perl-Thread-Queue
Sau khi đã cài xong các gói trên cho linux host thì bắt đầu với yocto qua các bước sau :
- Bước 1 : Tải về source yocto và bsp cho raspberry pi
mkdir ./yocto
cd ./yocto
git clone -b fido http://git.yoctoproject.org/git/poky poky-fido
cd poky-fido
git clone -b fido http://git.yoctoproject.org/git/meta-raspberrypi
git clone -b fido http://git.openembedded.org/meta-openembedded
Sau khi download hoàn thành thì bạn sẽ có các thư mục như sau :

- Bước 2 : Khởi tạo môi trường build
cd ~/yocto
$source poky-fido/oe-init-build-env build
- Bước 3 : Add layer meta-raspberrypi vào file yocto/build/conf/bblayer.conf như sau :
# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
LCONF_VERSION = "6"BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS ?= " \
/home/dongpv/data/rpi/poky-fido/meta \
/home/dongpv/data/rpi/poky-fido/meta-yocto \
/home/dongpv/data/rpi/poky-fido/meta-yocto-bsp \
/home/dongpv/data/rpi/poky-fido/meta-raspberrypi \
"
BBLAYERS_NON_REMOVABLE ?= " \
/home/dongpv/data/rpi/poky-fido/meta \
/home/dongpv/data/rpi/poky-fido/meta-yocto \
"
Bước 4 : Tiến hành fetch và build linux bằng yocto, chắc chắn rằng bạn đang đứng tại thư mục build, vì nếu đứng sai directory sẽ không chạy được :Đồng thời kiểm tra nội dung file yocto/build/conf/local.conf phải có dòng này : MACHINE ?= “raspberrypi2”
$bitbake core-image-minimal
- Bước 5 : Quá trình biên dịch ở bước 4 sẽ mất 1 thời gian khá lâu, tùy theo cấu hình máy tính sẽ mất đến vài giờ hoặc cả ngày. Sau khi build thành công sẽ có file image để flash cho raspberry pi tại :
build/tmp/deploy/images/raspberrypi2/core-image-minimal-raspberrypi2.rpi-sdimg
. Bây giờ mình sẽ dùng file này để flash cho thẻ nhớ bằng lệnh sau, chú ý cần cắm thẻ nhớ vào máy linux đang sử dụng và kiểm tra device file nhận vào, ví dụ thẻ nhớ cắm vào nhận với device là : /dev/sdb thì flash với lệnh sau :
$sudo dd if=/home/dongpv/yocto/build/tmp/deploy/images/raspberrypi2/core-image-minimal-raspberrypi2.rpi-sdimg of=/dev/sdb; sync
*Chú ý : /home/dongpv/rpi/ là đường dẫn trên máy tính của mình, còn trên máy bạn build cần thay cho đúng nhé. Sau khi flash xong thì có thể cắm thẻ nhớ vào board và boot.
Chúc các bạn thành công !
Leave a comment
embedded
http://hethongnhung.com , http://laptrinhnhung.com