上面是我的微信和QQ群,欢迎新朋友的加入。
目录
1.准备工作
系统信息,硬盘整大一点,yocto会搞出一大堆内容出来,不大一点后期后比较麻烦,官方文档有提到一个120G的容量,记不大清在哪里了,不过我建议搞200G以上
硬件:不打广告,一个不是很知名的第三方板子,绿色的,主要是搞得漂亮的要掏的钱多,玩不起
2.安装软件包
注意:不用在root模式下做这些事情,yocto有提到这一点,否则后面编译的时候会出问题
参考文件i.MX_Yocto_Project_User's_Guide.pdf。
sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat libsdl1.2-dev
sudo apt-get install libsdl1.2-dev xterm sed cvs subversion coreutils texi2html docbook-utils python-pysqlite2 help2man make gcc g++ desktop-file-utils libgl1-mesa-dev libglu1-mesa-dev mercurial autoconf automake groff curl lzop asciidoc
这个时间长一点,大概1.3G的内容。
sudo apt-get install u-boot-tools
我的系统是Ubuntu16,所以用的这个软件包
3.设置REPO
cd /opt/
sudo mkdir yocto
sudo chown jun: yocto
mkdir yocto/bin
cd yocto/bin
curl https://storage.googleapis.com/git-repo-downloads/repo > /opt/yocto/bin/repo
如果失败了,直接下载
git clone https://gerrit-googlesource.lug.ustc.edu.cn/git-repo
将git-repo文件夹下面repo放到bin文件夹下面,给执行权限
将git-repo整个文件夹cp到要工作目录下,重命名为repo
懒得搭梯子
chmod a+x /opt/yocto/bin/repo
export PATH=/opt/yocto/bin:$PATH
git config --global user.name "jun"
git config --global user.email "2839084093@qq.com"
cd ..
mkdir imx-yocto-bsp
cd imx-yocto-bsp
repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-sumo -m imx-4.14.98-2.0.0_ga.xml
repo sync
半小时左右吧。
DISTRO=fsl-imx-x11 MACHINE=imx6ull14x14evk source fsl-setup-release.sh -b build
命令原型是
DISTRO=<distro name> MACHINE=<machine name> source fsl-setup-release.sh -b <build dir>
其中distro name:
其中:machine name
4.编译镜像
命令原型
bitbake <parameter> <component>
其中parameter:
其中component:
bitbake fsl-image-validation-imx
接下来就可以休息了,网速快,机器好的情况下,也要差不多一天去了。
我试过在笔记本上跑,给了1核,4g,网络还行,跑了大概五天,主要是中间是不是断了,比较烦。
跑完再回来继续写
中间要是窗口被关了,可以用这个命令恢复
source setup-environment build
/****************************************************************************************************************/
跑了两天,开了四核八G跑
5.烧录SD卡
不是官方的EVK,应该是不正常的,不过还是试一下,uboot前面应该有一部分是正常的,至少应该是可以看到串口输出
找到编译出来的镜像文件
官方烧录命令为
命令就两条,一条解压,一条DD烧录,烧录之前要先格式化,比较喜欢gparted
这是我之前烧过一次,dd命令会为SD卡分区,前面空了4M,然后8M的BOOT区(这里出问题了),1G的文件系统区
全删了。
bunzip2 -dk -f fsl-image-validation-imx-imx6ull14x14evk-20191021114330.rootfs.sdcard.bz2
解压命令没有打印过程,不要认为电脑死机了
sudo dd if=fsl-image-validation-imx-imx6ull14x14evk-20191021114330.rootfs.sdcard of=/dev/sdb bs=1M conv=fsync
烧录命令也没有打印过程。等一会
可以了。再次插拔SD卡,会看到SD卡被分为两个磁盘
一个是文件系统,一个是启动所需的东西,例如设备树、zimage那些
放到板子上,用SD卡方式启动。
如我所料
是可以起来的。
看信息是yocto编译的,对应的官方evk板子,不过DRAM不对,我实际只有256M
访问MMC的时候失败了。
进UBOOT看看
编译的时间是昨天下午三点的样子
后面尝试修改uboot让板子跑起来。目前yocto的环境算是搞好了
硬盘花了70G左右,之前只有十几G的