提取软件包时如何将计算机设置为Yocto的镜像服务器?

时间:2019-04-11 05:48:22

标签: yocto petalinux

使用Petalinux(Yocto的一种)构建项目时,它需要Internet才能从服务器(git serve或其他服务器)中获取软件包。

我的工作计算机没有访问Internet的权限(仅具有LAN),因此我计划在此LAN中设置一台可以访问Internet成为Yocto镜像服务器的计算机。

有人有这样的想法来设置服务器吗?请帮忙。

2 个答案:

答案 0 :(得分:0)

您可以检查以下页面来设置源镜像:

基本上,您可以使用以下选项在源镜像计算机上启动构建:

 SOURCE_MIRROR_URL ?= "file:///source_mirror/sources/"
 INHERIT += "own-mirrors" 
 BB_GENERATE_MIRROR_TARBALLS = "1" 

您只能使用以下命令获取源: bitbake -c target runall="fetch"。 然后,您启动一​​个服务于./source_mirror/sources/http://example.com/my-source-mirror文件夹的ftp​​服务器。

然后在离线计算机上设置

 INHERIT += "own-mirrors"
 SOURCE_MIRROR_URL = "http://example.com/my-source-mirror"
 BB_NO_NETWORK = "1" # or BB_FETCH_PREMIRRORONLY = "1"

如果您有权访问代理服务器,则可以进行以下检查:

答案 1 :(得分:0)

复制粘贴粘贴快捷方式:在下面的工作配置下,您可以复制粘贴粘贴而无需花费时间来了解每个小细节:)

体系结构:在此示例中,有两种类型的计算机。 “构建服务器”和“ developer pc”的多个实例。

机器准备: 在所有机器(服务器和开发人员)上安装一个共享文件夹,以访问任何将其存储映射到/ mnt / mirror的文件服务器(例如nfs)。 如果您是NFS的新手,请使用NFS的示例,如果已经安装了NFS,请跳过以下操作:https://pelux.io/2017/06/19/How-to-create-a-shared-sstate-dir.html(停止在标题“ Yocto”上的读数,然后按以下步骤操作)

总体配置: 将我粘贴到此票证末尾的代码添加到文件conf / local.conf中,并删除所有先前冲突的行(即与我们定义的任何变量(如DL_DIR一样混乱)

机器配置: 对于开发人员计算机,请使用A(结果B),对于构建服务器,请使用B(结果A)。

命中它: 服务器PC第一次位烘烤时,它会填充镜像文件夹。在第一个服务器构建完成之后,客户端将使用镜像。 (源镜像绕过Internet依赖项和状态缓存以加快构建速度)。

local.conf:

# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Activate either A or B depending on it this is a developer pc or the build server
# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
MIRROR_SERVER = "file:///mnt/mirror/"

# ########################################################
# A) Settings for developer PC operation
# ########################################################
BB_FETCH_PREMIRRORONLY = "1"
SOURCE_MIRROR_URL = "${MIRROR_SERVER}/source-mirror"
UNINATIVE_URL = "${SOURCE_MIRROR_URL}"
INHERIT += "own-mirrors"
SSTATE_MIRRORS = "\
file://.* ${MIRROR_SERVER}/sstate-cache/PATH;\
downloadfilename=PATH \n \
"

# ########################################################
# B) SETTINGS FOR BUILDSERVER OPERATION
# ########################################################
#SSTATE_DIR = "/mnt/remux/sstate-cache"
#BB_GENERATE_MIRROR_TARBALLS = "1"
##To populate the source mirror start a normal server build or run: bitbake --runall=fetch <image>

# ########################################################
# SETTINGS FOR BOTH, A and B
# ########################################################
DL_DIR = "/mnt/mirror/source-mirror“