---
# System prepended metadata

title: O-Cloud Infrastructure (INF) 安裝
tags: [Construction]

---

# O-Cloud Infrastructure (INF) 安裝
###### tags: `Construction`

首先需透過Yocto/OpenEmbedded製作安裝INF所需之inf-image-aio-installer-intel-corei7-64.iso

## Prerequisite for build environment
### 支持的linux發行版
- Ubuntu 16.04 (LTS)
- Ubuntu 18.04
- Fedora 28
- CentOS 7.x
- Debian GNU/Linux 8.x (Jessie)
- Debian GNU/Linux 9.x (Stretch)
- OpenSUSE 42.3
### Host Requirement
- 50 Gbytes 空間
- Git 1.8.3.1 or greater
- tar 1.27 or greater
- Python 3.4.0 or greater

### 需要先安裝的packages
- for Ubuntu 16.04/18.04:
```
$ sudo apt install -y gawk wget git-core diffstat unzip texinfo gcc-multilib \
  build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
  xz-utils debianutils iputils-ping make xsltproc docbook-utils fop dblatex xmlto \
  python-git vim
```
- for CentOS 7:
```
$ sudo yum install -y epel-release
$ sudo yum makecache
$ sudo yum install gawk make wget tar bzip2 gzip python unzip perl patch \
  diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath socat \
  perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue perl-Digest-SHA \
  python34-pip xz which SDL-devel xterm
```
可參考以下連結:
[Required Packages for the Build Host](https://www.yoctoproject.org/docs/2.6.3/ref-manual/ref-manual.html#required-packages-for-the-build-host)

## Use wrapper script build_inf.sh to setup build env and build the INF AIO x86 image
- 使用curl 或 wget 指令獲取build inf-image-aio-installer-intel-corei7-64.iso所需之shell script
```
$ curl -o build_inf.sh 'https://gerrit.o-ran-sc.org/r/gitweb?p=pti/rtp.git;a=blob_plain;f=scripts/build_inf.sh;hb=HEAD'
$ wget -O build_inf.sh 'https://gerrit.o-ran-sc.org/r/gitweb?p=pti/rtp.git;a=blob_plain;f=scripts/build_inf.sh;hb=HEAD'
```
- 指定安裝路徑WORKSPACE
```
$ chmod +x build_inf.sh
$ WORKSPACE=/path/to/workspace
$ ./build_inf.sh -w ${WORKSPACE}

ex.
$ ./build_inf.sh -w $HOME
```
### Note
若電腦核心數較少(e.g. core只有4個)，此過程長達數十小時，屬正常情形
![](https://i.imgur.com/pVhUWGi.png)


### 過程中可能遭遇之error

1. 此error可能發生於安裝starlingx image開始前或結束後，原因為無法連至www.example.com的DNS server，解法為改連至google DNS sever
```
WARNING: Host distribution "ubuntu-18.04" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
ERROR:  OE-core's config sanity checker detected a potential misconfiguration.
Either fix the cause of this error or at your own risk disable the checker (see sanity.conf).
Following is the list of potential problems / advisories:

Fetcher failure for URL: 'https://www.example.com/'. URL https://www.example.com/ doesn't work.
Please ensure your host's network is configured correctly,
or set BB_NO_NETWORK = "1" to disable network access if
all required sources are on local disk.

```
解法:
```
# 修改prj_oran_stx/conf/local.conf內容，添加以下幾行與最後
$ vim prj_oran_stx/conf/local.conf

#check connectivity using google
CONNECTIVITY_CHECK_URIS = "https://www.google.com/"

#skip connectivity checks
CONNECTIVITY_CHECK_URIS = ""
```

```
# NOT WORKING
# Change ${WORKSPACE}/src_layers/poky/meta/conf/distro/include/default-distrovars.inc
CONNECTIVITY_CHECK_URIS ?= "https://www.example.com/"
CONNECTIVITY_CHECK_URIS ?= "https://www.google.com/"

```

2. kubernetes-contrib-v1.18.1 checksum mismatch 問題，問題原因為upstream changed
```
WARNING: kubernetes-1.18.1+git7879fc12a63337efff607952a323df90cdc7a335-r0 do_fetch: Checksum mismatch for local file /home/mwnl/workspace/prj_shared/downloads/kubernetes-contrib-v1.18.1.tar.gz
Cleaning and trying again.
WARNING: kubernetes-1.18.1+git7879fc12a63337efff607952a323df90cdc7a335-r0 do_fetch: Renaming /home/mwnl/workspace/prj_shared/downloads/kubernetes-contrib-v1.18.1.tar.gz to /home/mwnl/workspace/prj_shared/downloads/kubernetes-contrib-v1.18.1.tar.gz_bad-checksum_9aa15af65ed89a7167b9520573bbdcd7
WARNING: kubernetes-1.18.1+git7879fc12a63337efff607952a323df90cdc7a335-r0 do_fetch: Checksum failure encountered with download of https://github.com/kubernetes-retired/contrib/tarball/89f6948e24578fed2a90a87871b2263729f90ac3;downloadfilename=kubernetes-contrib-v1.18.1.tar.gz;name=contrib - will attempt other sources if available
ERROR: kubernetes-1.18.1+git7879fc12a63337efff607952a323df90cdc7a335-r0 do_fetch: Fetcher failure for URL: 'https://github.com/kubernetes-retired/contrib/tarball/89f6948e24578fed2a90a87871b2263729f90ac3;downloadfilename=kubernetes-contrib-v1.18.1.tar.gz;name=contrib'. Checksum mismatch!
File: '/home/mwnl/workspace/prj_shared/downloads/kubernetes-contrib-v1.18.1.tar.gz' has md5 checksum 9aa15af65ed89a7167b9520573bbdcd7 when fc05d9dc693dd71e3afb98fa51419879 was expected
File: '/home/mwnl/workspace/prj_shared/downloads/kubernetes-contrib-v1.18.1.tar.gz' has sha256 checksum 97206b6c1ea8dc7cb6201f909c2d14fc68cf40faa4e2641cdefb8411e9403274 when 0e1c6f70fc167d4ff1f268bbb72a8a91fab9bdeb17cec95bd3bb7fe4f56ebdcb was expected
If this change is expected (e.g. you have upgraded to a new version without updating the checksums) then you can use these lines within the recipe:
SRC_URI[contrib.md5sum] = "9aa15af65ed89a7167b9520573bbdcd7"
SRC_URI[contrib.sha256sum] = "97206b6c1ea8dc7cb6201f909c2d14fc68cf40faa4e2641cdefb8411e9403274"
Otherwise you should retry the download and/or check with upstream to determine if the file has become corrupted or otherwise unexpectedly modified.

ERROR: kubernetes-1.18.1+git7879fc12a63337efff607952a323df90cdc7a335-r0 do_fetch: Fetcher failure for URL: 'https://github.com/kubernetes-retired/contrib/tarball/89f6948e24578fed2a90a87871b2263729f90ac3;downloadfilename=kubernetes-contrib-v1.18.1.tar.gz;name=contrib'. Unable to fetch URL from any source.
ERROR: kubernetes-1.18.1+git7879fc12a63337efff607952a323df90cdc7a335-r0 do_fetch: 
ERROR: kubernetes-1.18.1+git7879fc12a63337efff607952a323df90cdc7a335-r0 do_fetch: Function failed: base_do_fetch
ERROR: Logfile of failure stored in: /home/mwnl/workspace/prj_oran_stx/tmp/work/corei7-64-poky-linux/kubernetes/1.18.1+git7879fc12a63337efff607952a323df90cdc7a335-r0/temp/log.do_fetch.23315
NOTE: recipe kubernetes-1.18.1+git7879fc12a63337efff607952a323df90cdc7a335-r0: task do_fetch: Failed
ERROR: Task (/home/mwnl/workspace/src_layers/meta-virtualization/recipes-containers/kubernetes/kubernetes_git.bb:do_fetch) failed with exit code '1'
```
3. cluster-glue-1.0.12-r0 無效的SRC_URL，與前情況類似
```
WARNING: cluster-glue-1.0.12-r0 do_fetch: Failed to fetch URL http://hg.linux-ha.org/glue/archive/glue-1.0.12.tar.bz2, attempting MIRRORS if available
ERROR: cluster-glue-1.0.12-r0 do_fetch: Fetcher failure: Fetch command export PSEUDO_DISABLED=1; unset _PYTHON_SYSCONFIGDATA_NAME; export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus"; export SSH_AGENT_PID="1175"; export SSH_AUTH_SOCK="/run/user/1000/keyring/ssh"; export GIT_SSL_CAINFO="/home/mwnl/buildtools/sysroots/x86_64-pokysdk-linux/etc/ssl/certs/ca-certificates.crt"; export PATH="/home/mwnl/workspace/prj_oran_stx/tmp/sysroots-uninative/x86_64-linux/usr/bin:/home/mwnl/workspace/src_layers/poky/scripts:/home/mwnl/workspace/prj_oran_stx/tmp/work/corei7-64-poky-linux/cluster-glue/1.0.12-r0/recipe-sysroot-native/usr/bin/x86_64-poky-linux:/home/mwnl/workspace/prj_oran_stx/tmp/work/corei7-64-poky-linux/cluster-glue/1.0.12-r0/recipe-sysroot/usr/bin/crossscripts:/home/mwnl/workspace/prj_oran_stx/tmp/work/corei7-64-poky-linux/cluster-glue/1.0.12-r0/recipe-sysroot-native/usr/sbin:/home/mwnl/workspace/prj_oran_stx/tmp/work/corei7-64-poky-linux/cluster-glue/1.0.12-r0/recipe-sysroot-native/usr/bin:/home/mwnl/workspace/prj_oran_stx/tmp/work/corei7-64-poky-linux/cluster-glue/1.0.12-r0/recipe-sysroot-native/sbin:/home/mwnl/workspace/prj_oran_stx/tmp/work/corei7-64-poky-linux/cluster-glue/1.0.12-r0/recipe-sysroot-native/bin:/home/mwnl/workspace/src_layers/poky/bitbake/bin:/home/mwnl/workspace/prj_oran_stx/tmp/hosttools"; export HOME="/home/mwnl"; /usr/bin/env wget -t 5 -T 60 --waitretry=5 --passive-ftp --no-check-certificate -P /home/mwnl/workspace/prj_shared/downloads 'http://hg.linux-ha.org/glue/archive/glue-1.0.12.tar.bz2' --progress=dot -v failed with exit code 4, output:
--2021-09-27 02:39:10--  http://hg.linux-ha.org/glue/archive/glue-1.0.12.tar.bz2
Resolving hg.linux-ha.org (hg.linux-ha.org)... 78.142.182.100
Connecting to hg.linux-ha.org (hg.linux-ha.org)|78.142.182.100|:80... failed: Connection timed out.
Retrying.

--2021-09-27 02:40:12--  (try: 2)  http://hg.linux-ha.org/glue/archive/glue-1.0.12.tar.bz2
Connecting to hg.linux-ha.org (hg.linux-ha.org)|78.142.182.100|:80... failed: Connection timed out.
Retrying.

--2021-09-27 02:41:14--  (try: 3)  http://hg.linux-ha.org/glue/archive/glue-1.0.12.tar.bz2
Connecting to hg.linux-ha.org (hg.linux-ha.org)|78.142.182.100|:80... failed: Connection timed out.
Retrying.

--2021-09-27 02:42:17--  (try: 4)  http://hg.linux-ha.org/glue/archive/glue-1.0.12.tar.bz2
Connecting to hg.linux-ha.org (hg.linux-ha.org)|78.142.182.100|:80... failed: Connection timed out.
Retrying.

--2021-09-27 02:43:21--  (try: 5)  http://hg.linux-ha.org/glue/archive/glue-1.0.12.tar.bz2
Connecting to hg.linux-ha.org (hg.linux-ha.org)|78.142.182.100|:80... failed: Connection timed out.
Giving up.


ERROR: cluster-glue-1.0.12-r0 do_fetch: Fetcher failure for URL: 'http://hg.linux-ha.org/glue/archive/glue-1.0.12.tar.bz2'. Unable to fetch URL from any source.
ERROR: cluster-glue-1.0.12-r0 do_fetch: 
ERROR: cluster-glue-1.0.12-r0 do_fetch: Function failed: base_do_fetch
ERROR: Logfile of failure stored in: /home/mwnl/workspace/prj_oran_stx/tmp/work/corei7-64-poky-linux/cluster-glue/1.0.12-r0/temp/log.do_fetch.23324
NOTE: recipe cluster-glue-1.0.12-r0: task do_fetch: Failed
ERROR: Task (/home/mwnl/workspace/src_layers/meta-starlingx/meta-stx-integ/recipes-support/cluster-glue/cluster-glue_1.0.12.bb:do_fetch) failed with exit code '1'
NOTE: Tasks Summary: Attempted 10023 tasks of which 10000 didn't need to be rerun and 2 failed.
```
解法:
```
# go to src_layers/meta-starlingx
# and change as the following


diff --git a/meta-stx-cloud/recipes-support/puppet/puppetlabs-create-resources_git.bb b/meta-stx-cloud/recipes-support/puppet/puppetlabs-create-resources_git.bb

index 7b05ca3..f551304 100644

--- a/meta-stx-cloud/recipes-support/puppet/puppetlabs-create-resources_git.bb

+++ b/meta-stx-cloud/recipes-support/puppet/puppetlabs-create-resources_git.bb

@@ -13,7 +13,7 @@ S = "${WORKDIR}/git"

 

SRC_URI = " \

-       git://github.com/puppetlabs/puppetlabs-create_resources.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \

+       git://github.com/jackiehjm/puppetlabs-create_resources.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \

        file://${PN}/Add-gemspec.patch \

        file://${PN}/metadata.json.patch \

        "

diff --git a/meta-stx-integ/recipes-devtools/python/python-google-auth_git.bb b/meta-stx-integ/recipes-devtools/python/python-google-auth_git.bb

index 4258427..ca332a9 100644

--- a/meta-stx-integ/recipes-devtools/python/python-google-auth_git.bb

+++ b/meta-stx-integ/recipes-devtools/python/python-google-auth_git.bb

@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327

 

SRCREV = "1322d896ba725b8d73fd7ac4793601d9f574a839"

PROTOCOL = "https"

-BRANCH = "master"

+BRANCH = "main"

S = "${WORKDIR}/git"

PV = "1.6.3+git${SRCPV}"

 

# downloads tarballs

cd prj_shared/downloads

wget https://github.com/jackiehjm/staging-stx/raw/jackiehjm/master/dl-mirrors/glue-1.0.12.tar.bz2

touch glue-1.0.12.tar.bz2.done

wget https://github.com/jackiehjm/staging-stx/raw/jackiehjm/master/dl-mirrors/kubernetes-contrib-v1.18.1.tar.gz

touch kubernetes-contrib-v1.18.1.tar.gz.done
```

4. elastic
```
NOTE: Running task 3804 of 17624 (virtual:native:/home/user/src_layers/poky/meta/recipes-support/atk/atk_2.30.0.bb:do_install)
NOTE: recipe atk-native-2.30.0-r0: task do_install: Started
WARNING: monitor-helm-elastic-1.0.0+gitAUTOINC+9450172875-r0 do_fetch: Failed to fetch URL git://github.com/elastic/helm-charts;protocol=https, attempting MIRRORS if available
ERROR: monitor-helm-elastic-1.0.0+gitAUTOINC+9450172875-r0 do_fetch: Fetcher failure: Unable to find revision 945017287598479ba8653d9baf3ff26f7fe31e50 in branch master even from upstream
ERROR: monitor-helm-elastic-1.0.0+gitAUTOINC+9450172875-r0 do_fetch: Fetcher failure for URL: 'git://github.com/elastic/helm-charts;protocol=https'. Unable to fetch URL from any source.
ERROR: monitor-helm-elastic-1.0.0+gitAUTOINC+9450172875-r0 do_fetch: 
ERROR: monitor-helm-elastic-1.0.0+gitAUTOINC+9450172875-r0 do_fetch: Function failed: base_do_fetch
ERROR: Logfile of failure stored in: /home/user/prj_oran_stx/tmp/work/all-poky-linux/monitor-helm-elastic/1.0.0+gitAUTOINC+9450172875-r0/temp/log.do_fetch.7911
NOTE: recipe monitor-helm-elastic-1.0.0+gitAUTOINC+9450172875-r0: task do_fetch: Failed
ERROR: Task (/home/user/src_layers/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm-elastic_git.bb:do_fetch) failed with exit code '1'
NOTE: Running task 3805 of 17624 (/home/user/src_layers/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.1.bb:do_fetch)
NOTE: recipe libnftnl-1.1.1+gitAUTOINC+d379dfcb6c-r0: task do_fetch: Started
NOTE: recipe atk-native-2.30.0-r0: task do_install: Succeeded
NOTE: recipe libnftnl-1.1.1+gitAUTOINC+d379dfcb6c-r0: task do_fetch: Succeeded
NOTE: recipe etcd-3.3.15+gitAUTOINC+94745a4eed-r0: task do_fetch: Succeeded
NOTE: recipe mariadb-native-10.3.16-r0: task do_compile: Succeeded
NOTE: recipe monitor-helm-1.0.0+gitAUTOINC+92b6289ae9-r0: task do_fetch: Succeeded
NOTE: recipe binutils-cross-x86_64-2.32.0-r0: task do_fetch: Succeeded
NOTE: recipe binutils-native-2.32.0-r0: task do_fetch: Succeeded
NOTE: recipe erlang-R16B03-1-r0: task do_fetch: Succeeded
NOTE: recipe erlang-native-R16B03-1-r0: task do_fetch: Succeeded
NOTE: recipe rocksdb-5.18.2-r0: task do_fetch: Succeeded
NOTE: recipe kubernetes-1.18.1+git7879fc12a63337efff607952a323df90cdc7a335-r0: task do_fetch: Succeeded
NOTE: recipe linux-yocto-rt-5.0.19+gitAUTOINC+7f6e97c357_e6cb812b55-r0: task do_fetch: Succeeded
NOTE: Tasks Summary: Attempted 3805 tasks of which 0 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
  /home/user/src_layers/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm-elastic_git.bb:do_fetch
Summary: There were 9 WARNING messages shown.
Summary: There were 4 ERROR messages shown, returning a non-zero exit code.

```


5. go-native OSError Cannot allocate memory (Ubnutu 1604)
```
NOTE: Running task 2602 of 17624 (virtual:native:/home/user/src_layers/poky/meta/recipes-graphics/xorg-lib/libfontenc_1.1.4.bb:do_configure)
NOTE: recipe libfontenc-native-1_1.1.4-r0: task do_configure: Started
ERROR: go-native-1.14.15-r0 do_populate_sysroot: Error executing a python function in exec_python_func() autogenerated:

The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
     0001:
 *** 0002:relocatable_binaries_preprocess(d)
     0003:
File: '/home/user/src_layers/poky/meta/classes/relocatable.bbclass', lineno: 6, function: relocatable_binaries_preprocess
     0002:
     0003:SYSROOT_PREPROCESS_FUNCS += "relocatable_binaries_preprocess relocatable_native_pcfiles"
     0004:
     0005:python relocatable_binaries_preprocess() {
 *** 0006:    rpath_replace(d.expand('${SYSROOT_DESTDIR}'), d)
     0007:}
     0008:
     0009:relocatable_native_pcfiles () {
     0010:	if [ -d ${SYSROOT_DESTDIR}${libdir}/pkgconfig ]; then
File: '/home/user/src_layers/poky/meta/classes/chrpath.bbclass', lineno: 122, function: rpath_replace
     0118:
     0119:    for bindir in bindirs:
     0120:        #bb.note ("Processing directory " + bindir)
     0121:        directory = path + "/" + bindir
 *** 0122:        process_dir (path, directory, d)
     0123:
File: '/home/user/src_layers/poky/meta/classes/chrpath.bbclass', lineno: 98, function: process_dir
     0094:            # Skip symlinks
     0095:            continue
     0096:
     0097:        if os.path.isdir(fpath):
 *** 0098:            process_dir(rootdir, fpath, d)
     0099:        else:
     0100:            #bb.note("Testing %s for relocatability" % fpath)
     0101:
     0102:            # We need read and write permissions for chrpath, if we don't have
File: '/home/user/src_layers/poky/meta/classes/chrpath.bbclass', lineno: 98, function: process_dir
     0094:            # Skip symlinks
     0095:            continue
     0096:
     0097:        if os.path.isdir(fpath):
 *** 0098:            process_dir(rootdir, fpath, d)
     0099:        else:
     0100:            #bb.note("Testing %s for relocatability" % fpath)
     0101:
     0102:            # We need read and write permissions for chrpath, if we don't have
File: '/home/user/src_layers/poky/meta/classes/chrpath.bbclass', lineno: 98, function: process_dir
     0094:            # Skip symlinks
     0095:            continue
     0096:
     0097:        if os.path.isdir(fpath):
 *** 0098:            process_dir(rootdir, fpath, d)
     0099:        else:
     0100:            #bb.note("Testing %s for relocatability" % fpath)
     0101:
     0102:            # We need read and write permissions for chrpath, if we don't have
File: '/home/user/src_layers/poky/meta/classes/chrpath.bbclass', lineno: 98, function: process_dir
     0094:            # Skip symlinks
     0095:            continue
     0096:
     0097:        if os.path.isdir(fpath):
 *** 0098:            process_dir(rootdir, fpath, d)
     0099:        else:
     0100:            #bb.note("Testing %s for relocatability" % fpath)
     0101:
     0102:            # We need read and write permissions for chrpath, if we don't have
File: '/home/user/src_layers/poky/meta/classes/chrpath.bbclass', lineno: 111, function: process_dir
     0107:                perms = None
     0108:            else:
     0109:                # Temporarily make the file writeable so we can chrpath it
     0110:                os.chmod(fpath, perms|stat.S_IRWXU)
 *** 0111:            process_file(cmd, fpath, rootdir, baseprefix, tmpdir, d)
     0112:
     0113:            if perms:
     0114:                os.chmod(fpath, perms)
     0115:
File: '/home/user/src_layers/poky/meta/classes/chrpath.bbclass', lineno: 7, function: process_file_linux
     0003:
     0004:def process_file_linux(cmd, fpath, rootdir, baseprefix, tmpdir, d):
     0005:    import subprocess as sub
     0006:
 *** 0007:    p = sub.Popen([cmd, '-l', fpath],stdout=sub.PIPE,stderr=sub.PIPE)
     0008:    out, err = p.communicate()
     0009:    # If returned successfully, process stdout for results
     0010:    if p.returncode != 0:
     0011:        return
File: '/usr/lib/python3.5/subprocess.py', lineno: 947, function: __init__
     0943:                                startupinfo, creationflags, shell,
     0944:                                p2cread, p2cwrite,
     0945:                                c2pread, c2pwrite,
     0946:                                errread, errwrite,
 *** 0947:                                restore_signals, start_new_session)
     0948:        except:
     0949:            # Cleanup if the child failed starting.
     0950:            for f in filter(None, (self.stdin, self.stdout, self.stderr)):
     0951:                try:
File: '/usr/lib/python3.5/subprocess.py', lineno: 1490, function: _execute_child
     1486:                            close_fds, sorted(fds_to_keep), cwd, env_list,
     1487:                            p2cread, p2cwrite, c2pread, c2pwrite,
     1488:                            errread, errwrite,
     1489:                            errpipe_read, errpipe_write,
 *** 1490:                            restore_signals, start_new_session, preexec_fn)
     1491:                    self._child_created = True
     1492:                finally:
     1493:                    # be sure the FD is closed no matter what
     1494:                    os.close(errpipe_write)
Exception: OSError: [Errno 12] Cannot allocate memory

ERROR: go-native-1.14.15-r0 do_populate_sysroot: [Errno 12] Cannot allocate memory
ERROR: go-native-1.14.15-r0 do_populate_sysroot: Function failed: relocatable_binaries_preprocess
ERROR: Logfile of failure stored in: /home/user/prj_oran_stx/tmp/work/x86_64-linux/go-native/1.14.15-r0/temp/log.do_populate_sysroot.110349
NOTE: recipe go-native-1.14.15-r0: task do_populate_sysroot: Failed
ERROR: Task (/home/user/src_layers/meta-starlingx/meta-stx-integ/recipes-devtools/go/go-native_1.14.bb:do_populate_sysroot) failed with exit code '1'
NOTE: Running task 2603 of 17624 (virtual:native:/home/user/src_layers/poky/meta/recipes-graphics/xorg-app/mkfontscale_1.1.3.bb:do_fetch)
NOTE: recipe mkfontscale-native-1.1.3-r0: task do_fetch: Started
NOTE: recipe mkfontscale-native-1.1.3-r0: task do_fetch: Succeeded
ERROR: Worker process (3570) exited unexpectedly (-9), shutting down...
ERROR: Worker process (3570) exited unexpectedly (-9), shutting down...
WARNING: /home/user/src_layers/poky/bitbake/lib/bb/runqueue.py:1291: ResourceWarning: unclosed file <_io.BufferedWriter name=31>
  self.worker = {}

NOTE: Tasks Summary: Attempted 2592 tasks of which 0 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
  /home/user/src_layers/meta-starlingx/meta-stx-integ/recipes-devtools/go/go-native_1.14.bb:do_populate_sysroot
Summary: There were 8 WARNING messages shown.
Summary: There were 5 ERROR messages shown, returning a non-zero exit code.
```

最後便能於以下路徑找到製作好的映象檔:
![](https://i.imgur.com/egzfpQP.jpg)


> ${WORKSPACE}/prj_oran_inf_anaconda/tmp-glibc/deploy/images/intel-corei7-64/inf-image-aio-installer-intel-corei7-64.iso 

## Target Hardware Requirements
![](https://i.imgur.com/26O4fSa.png)
