• I.MX6 yocto project build


    Host machine: Ubuntu 16.04,

    根据I.MX_Yocto_project_User‘s_Guild

    1.Set up the Repo ultility

    1. $ mkdir ~/bin (this step may not be needed if the bin folder already exists)
    2. $ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
    3. $ chmod a+x ~/bin/repo

    然后改写 vi .~/.bashrc,在最后一行加上:

    export PATH=~/bin:$PATH

    用于设置环境变量,后面可以直接调用repo命令

    2.Set up Yocto project

    首席配置好git信息,如果已经配置好可以忽略

    1. $ git config --global user.name "Your Name"
    2. $ git config --global user.email "Your Email"
    3. $ git config --list

    然后创建一个目录imx-yocto-bsp,目录名可以自定义,这个名字是官方文档中用的

    1. $ mkdir imx-yocto-bsp
    2. $ cd imx-yocto-bsp
    3. $ repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-honister -m imx-5.15.5-1.0.0.xml
    4. $ repo sync

    这里调用repo init命令会报错,显示链接失败,报错:

    fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle

    因为前面我们用是命令:

    $ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

    用是的谷歌的源,国内被墙了。

    解决方案是:

    在命令后面增加:--repo-url=https://gerrit-googlesource.lug.ustc.edu.cn/git-repo

    修改后的命令为

    $ repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-honister -m imx-5.15.5-1.0.0.xml --repo-url=https://gerrit-googlesource.lug.ustc.edu.cn/git-repo

    再次调用还是报错:

    Traceback (most recent call last):
      File "/home/gateway/imx-yocto-bsp/.repo/repo/main.py", line 42, in
        from git_config import RepoConfig
      File "/home/gateway/imx-yocto-bsp/.repo/repo/git_config.py", line 774
        self._Set(f'superproject.{key}', value)
                                      ^
    SyntaxError: invalid syntax

     原因是Ubuntu默认安装的python3.5,这里需要python3.7.

    运行如下命令:

    wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz

    下载3.7的安装包,

    然后安装下面的依赖项

    1. sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus \
    2. dist-upgrade build-essential libncursesw5-dev libgdbm-dev libc6-dev \
    3. zlib1g-dev libsqlite3-dev tk-dev libssl-dev openssl libffi-dev

    调用

    1. sudo mkdir /usr/local/python3/
    2. sudo cp ./Python-3.7.3.tgz /usr/local/python3/
    3. cd /usr/local/python3/
    4. tar -zxvf Python-3.7.3.tgz
    5. cd Python-3.7.3
    6. sudo ./configuration
    7. sudo make
    8. sudo make install

    这时候再回去调用命令

    $ repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-honister -m imx-5.15.5-1.0.0.xml --repo-url=https://gerrit-googlesource.lug.ustc.edu.cn/git-repo

    不再报错。

    下载完成后 内容如下:

     然后执行命令:

    1. DISTRO=fsl-imx-fb MACHINE=imx6ull14x14evk source imx-setup-release.sh -b build_dir
    2. echo "UBOOT_CONFIG = \"emmc\"" >> conf/local.conf

    上面的命令会生成build_dir目录,并且会进入到build_dir,然后执行echo命令将上述的Uboot配置写入到conf/local.conf。

    执行命令,安装编译环境:

    bitbake meta-toolchain

    报错:

    ERROR: The following required tools (as specified by HOSTTOOLS) appear to be unavailable in PATH, please install them in order to proceed:
      lz4c pzstd zstd

    提示这几个安装包没有,在Ubuntu16.04 下用apt-get 命令安装不了,准备换到Ubuntu20.04下再来一波

  • 相关阅读:
    【机器学习合集】人脸表情分类任务Pytorch实现&TensorBoardX的使用 ->(个人学习记录笔记)
    【Linux】线程池 | 自旋锁 | 读写锁
    【Python】基本使用
    【英雄哥六月集训】第 30天: 拓扑排序
    魔百盒CM102_移动版9280_刷机固件包
    Java常用类
    Python可视化招聘信息聚合系统 (附源码)!
    sqlite3数据库Linux 系统移植和使用
    SpringBoot——MVC自动配置原理《课时十三》
    “突破边界,创新无限”2024年HCSD校园大使圆桌会圆满举办
  • 原文地址:https://blog.csdn.net/MashiMaroJ/article/details/126268961