本目录为凌云实验室针对IGKBoard开发板移植的Yocto Honister (Yocto 3.4) 项目源码,关于Yocto系统的详细使用,大家可以参考NXP官方的用户手册文档,[点此链接下载](https://www.nxp.com/docs/en/user-guide/IMX_YOCTO_PROJECT_USERS_GUIDE.pdf) 。 如果想源码编译Yocto系统的话,则系统需要满足: * 推荐使用 Ubuntu 20.04 系统; * 推荐使用 4核以上CPU; * 硬盘空间至少要求 200GB+; ### 1. 下载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 ``` ### 2. 编译Yocto系统 首先将该本文件夹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 ' 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 ``` ### 3. Yocto编译输出 编译过程中下载的软件包存放在 ***~/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烧录系统镜像文件 ```