(五)Yocto更改源码的获取位置与git clone 地址

我在第一次编译的时候十分痛苦,因为不知道会出现什么样的问题,只是按部就班的按照教程编写,一个不起眼的小问题都纠结半天。在编译的时候有一个问题令我十分头疼,就是下载源码的时候经常下一半就不下了,一个文件下半天,而且只能下载到默认位置。那我比如说,我想把内核和u-boot的源码拿出来编译的时候再放进去,或者说我们自己从meta-xilinx中定义的源码下载地址提前下载好源码,然后在指定配置文件中更改为从本地目录获取。那将大大减少第一次编译的时间和效率。之前一直被这个问题所困扰,但是一直也没找到相关的资料和更改的方法,只知道是.bb文件定义了文件的获取方式和地址。这几天终于让我找到了解决这个问题的方法。

好了,废话不多说,下面就说一下怎么更改配置文件,从文从本地获取提前下好的源码。

首先,得确定软件包的下载地址,比如linx-xilin内核源码和u-boot-xilin源码。我在第一次编译的时候经常卡在这两个,一下下好几次才能成功。报错之后我们可以从报错的信息中找到下载地址。

从错误信息中可以看到.bb或者inc文件中定义的下载地址,以及protocol指定的下载方式,分支。以及默认的下载到的地址为绿框所示。

还有一种方法是直接到相关的.bb文件中查看,查找配置文件

在u-boot目录下我们找到了定义获取源码信息的u-boot-xilinx.inc文件。

### Linux Yocto 源码包下载 为了获取用于构建嵌入式Linux系统的Yocto源码及相关工具,需利用`repo`这一命令行工具完成操作。`repo`是一个由Google开发的Python脚本,旨在管理多个Git仓库,简化大型项目的版本控制过程[^1]。 #### 使用 `repo` 初始化并同步 Yocto 项目 首先,在Ubuntu环境中安装必要的依赖项: ```bash sudo apt-get update && sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \ build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping libncurses5-dev \ libgmp-dev libsdl1.2-dev xterm zstd ``` 接着,设置工作目录并将`repo`初始化到该路径下: ```bash mkdir ~/yocto_workdir cd ~/yocto_workdir curl https://mirrors.tuna.tsinghua.edu.cn/git-repo/repo > repo chmod a+x repo ./repo init -u https://source.yoctoproject.org/yocto-release.git -b dunfell ``` 上述命令中的`dunfell`代表所选的Yocto发布分支名称;可根据需求更改为其他稳定版本或最新版本标签。之后执行同步命令以拉取所有子模块及其对应的历史记录: ```bash ./repo sync --no-clone-bundle --no-tags ``` 此过程可能耗时较长,取决于网络状况和个人计算机性能表现。完成后即可获得完整的Yocto Project源代码树形结构以及配套的基础元数据集合。 对于特定硬件平台的支持文件(如RK356X系列芯片),通常会额外提供相应的layer层扩展资源库链接地址,以便集成进现有框架内实现定制化功能特性开发[^2]。 #### 探索 Yocto 基础目录布局 一旦成功克隆整个项目后,则可以深入研究各个重要组成部分的作用范围内部机制。例如,位于顶层下的`meta`文件夹包含了核心配置定义和其他第三方贡献者维护的不同领域应用实例集锦;而`poky`则是指代官方默认提供的最小精简型根文件系统模板方案之一[^3]。 ```python import os def explore_yocto_base(): base_path = '~/yocto_workdir/poky' directories = ['conf', 'meta', 'scripts'] for directory in directories: full_path = os.path.join(base_path, directory) print(f"Exploring {directory} at path: {full_path}") explore_yocto_base() ``` 这段简单的 Python 脚本可以帮助快速浏览主要的兴趣点所在位置,并为进一步学习打下了坚实基础。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值