本目录为凌云实验室针对IGKBoard开发板移植的Yocto Honister (Yocto 3.4) 项目源码,关于Yocto系统的详细使用,大家可以参考NXP官方的用户手册文档,点此链接下载 。
如果想源码编译Yocto系统的话,则系统需要满足:
如果没有 git 命令,则首先安装 git 命令并配置 git 的账号信息:
guowenxue@ubuntu20:~$ sudo apt install git
guowenxue@ubuntu20:~$ git config --global user.name guowenxue
guowenxue@ubuntu20:~$ git config --global user.email "guowenxue@gmail.com"
首先下载并安装 google 的 repo 命令:
guowenxue@ubuntu20:~$ curl https://storage.googleapis.com/git-repo-downloads/repo -o repo
guowenxue@ubuntu20:~$ chmod a+x repo
guowenxue@ubuntu20:~$ sudo mv repo /usr/bin/
使用 git 命令克隆下载该项目源码:
guowenxue@ubuntu20:~$ mkdir -p ~/workspace
guowenxue@ubuntu20:~$ cd ~/workspace
guowenxue@ubuntu20:~/workspace$ git clone git://weike-iot.com/imx6ull.git
Cloning into 'imx6ull'...
remote: Counting objects: 330, done
remote: Finding sources: 100% (330/330)
remote: Getting sizes: 100% (179/179)
remote: Total 330 (delta 98), reused 330 (delta 98)
Receiving objects: 100% (330/330), 110.55 KiB | 884.00 KiB/s, done.
Resolving deltas: 100% (98/98), done.
使用 repo 命令下载 Yocto Hardknott 源码:
guowenxue@ubuntu20:~$ mkdir -p ~/workspace/imx-yocto-bsp/
guowenxue@ubuntu20:~$ cd ~/workspace/imx-yocto-bsp/
guowenxue@ubuntu20:~/workspace/imx-yocto-bsp$ repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-honister -m imx-5.15.5-1.0.0.xml
guowenxue@ubuntu20:~/workspace/imx-yocto-bsp$ repo sync
guowenxue@ubuntu20:~/workspace/imx-yocto-bsp$ ls
imx-setup-release.sh README README-IMXBSP setup-environment sources
首先将该本文件夹Yocto针对IGKBoard的移植源码拷贝到 Yocto 系统中。
guowenxue@ubuntu20:~/workspace/imx-yocto-bsp$ cp -rf ~/workspace/imx6ull/yocto/honister/meta-igkboard/ sources/
接下来执行下面命令,初始化 IGKBoard 开发板的 Yocto 编译环境:
guowenxue@ubuntu20:~/workspace/imx-yocto-bsp$ MACHINE=igkboard source sources/meta-igkboard/tools/igkboard-setup.sh -b igkboard
Build directory is igkboard
/home/guowenxue/workspace/imx-yocto-bsp
Welcome LingYun IoT Gateway Kit Board Yocto BSP, You can run 'bitbake <target>' now.
The targets should be:
linuxsys-image
core-image-minimal
imx-image-full
接下来使用下面命令,开始Yocto系统的源码编译,这个系统编译时间较长,如果编译的过程中出现错误,再重新开始编译即可。也可以使用 -k 选项先跳过编译出错的软件包。
guowenxue@ubuntu20:/workspace/imx-yocto-bsp/igkboard$ bitbake linuxsys-image
编译过程中下载的软件包存放在 ~/workspace/honister_packets/ 路径下:
guowenxue@ubuntu20:/workspace/imx-yocto-bsp/igkboard$ ls ~/workspace/honister_packets/
编译完成输出的系统镜像及文件系统存放在下面路径下:
guowenxue@ubuntu20:~/workspace/imx-yocto-bsp/igkboard$ ls ls tmp/deploy/images/igkboard/
linuxsys-image-igkboard-*.rootfs.tar.bz2 --Yocto根文件系统压缩包
linuxsys-image-igkboard-*.rootfs.wic.bz2 --Yocto烧录系统镜像文件