Yocto 工程快速入門
參考:http://www.yoctoproject.org/docs/2.0/yocto-project-qs/yocto-project-qs.html
Build Host
安裝linux發行版(Fedora, openSUSE, CentOS,Debian, 和Ubuntu) 的機器,並有最少50G的存儲空間.
Git : 1.7.8 or greater
tar : 1.24 or greater
Python 2.7.3 or greater,不支持Python 3.x.
Build Host Packages
編譯機器應該安裝必須且合適的編譯輔助包(工具).
Ubuntu and Debian
$ sudo apt-get install gawk wget git-core diffstat unzip texinfogcc-multilib \
build-essential chrpath socat libsdl1.2-dev xterm
Fedora
$ sudo dnf 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 \
findutils which SDL-devel xterm
OpenSUSE
$ sudo zypper install python gcc gcc-c++ git chrpath make wgetpython-xml \
diffstat makeinfo python-curses patch socat libSDL-devel xterm
CentOS
$ sudo yum install gawk make wget tar bzip2 gzip python unzip perl patch\
diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath socat\
perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue SDL-devel xterm
The Yocto project
一個Yocto工程.
Git
$ git clonegit://git.yoctoproject.org/poky
$ git checkout -b jethro origin/jethro
Web:
https://www.yoctoproject.org/downloads
編譯image:
實例:
下面以qemux86爲實例,介紹如何編譯一個Yocto的工程
$ cd ~/poky
$ git checkout -b jethro origin/jethro
$ source oe-init-build-env
配置local.conf , qemux86爲默認,所以不需要修改.
$ bitbake core-image-sato
啓動qemu: $ runqemu qemux86
加入新的板卡支持
下面介紹在已有的Yocto工程里加入一個新板卡BSP=intel-corei7-64的支持.
下載:
$ git clone git://git.yoctoproject.org/meta-intel
配置:
$ bitbake-layers add-layer "$HOME/source/poky/meta-intel"
$ echo 'MACHINE = "intel-corei7-64"' >> conf/local.conf
或者
$ echo 'MACHINE = "intel-core2-32"' >> conf/local.conf
編譯:
$ bitbake core-image-minimal
輸出:
tmp/deploy/images/intel-corei7-64/core-image-minimal-intel-corei7-64.hddimg
寫入磁盤: (U盤,硬盤,或者mmc )
$ sudo $HOME/source/poky/scripts/contrib/mkefidisk.sh HOST_DEVICE tmp/deploy/images/intel-corei7-64/core-image-minimal-intel-corei7-64.hddimg TARGET_DEVICE
啓動設備: EFI
Shell> connect -r
Shell> map -r
Shell> fs0:
Shell> bootx64 *** 32位: Shell> bootia32
啓動intel板卡:
$ sudo $HOME/source/poky/scripts/contrib/mkefidisk.sh HOST_DEVICE tmp/deploy/images/intel-corei7-64/core-image-minimal-intel-corei7-64.hddimg TARGET_DEVICE