如何在Dockerfile上为EclipseChe构建YoctoSDK(元工具链),并获得对元工具链有利的权限?

如何在Dockerfile上为EclipseChe构建YoctoSDK(元工具链),并获得对元工具链有利的权限?,docker,yocto,toolchain,eclipse-che,Docker,Yocto,Toolchain,Eclipse Che,我正试图在Docker上构建我的yocto元工具链。我将使用Eclipse Che的Docker映像。这是我在构建过程中使用的命令。但我在其中遇到了权限拒绝错误。 我认为工具链有错误 docker build --tag="ak4721269/eclipse-che:6.5.0-1" --tag="ak4721269/eclipse-che:latest" /home/akash/dockerimage.yocto.support/ Sending build context to D

我正试图在Docker上构建我的yocto元工具链。我将使用Eclipse Che的Docker映像。这是我在构建过程中使用的命令。但我在其中遇到了权限拒绝错误。 我认为工具链有错误

     docker build --tag="ak4721269/eclipse-che:6.5.0-1" --tag="ak4721269/eclipse-che:latest" /home/akash/dockerimage.yocto.support/
Sending build context to Docker daemon  2.048kB
Step 1/5 : FROM eclipse/cpp_gcc
 ---> 8397ec8fd9d1
Step 2/5 : ENV META_TOOLCHAIN=poky-glibc-x86_64-rpi-basic-image-cortexa7hf-neon-vfpv4-toolchain-2.4.3.sh
 ---> Using cache
 ---> 66e16758f587
Step 3/5 : RUN wget -O /tmp/$META_TOOLCHAIN "https://www.dropbox.com/s/66x7y64tt94cpsr/poky-glibc-x86_64-rpi-basic-image-cortexa7hf-neon-vfpv4-toolchain-2.4.3.sh?dl=0=$META_TOOLCHAIN"
 ---> Using cache
 ---> 5c248d24999a
Step 4/5 : RUN chmod +x /tmp/$META_TOOLCHAIN
 ---> Using cache
 ---> 49a84a54e784
Step 5/5 : RUN /tmp/$META_TOOLCHAIN
 ---> Using cache
 ---> 5db84b5d1e5e
Successfully built 5db84b5d1e5e
Successfully tagged ak4721269/eclipse-che:6.5.0-1
Successfully tagged ak4721269/eclipse-che:latest
akash@akash-HP-Pavilion-15-Notebook-PC:~$ docker push ak4721269/eclipse-che
The push refers to repository [docker.io/ak4721269/eclipse-che]
a6b649da4a54: Pushed
03bc0c7d3745: Pushed
850578ed6aff: Pushed
4485ec960c74: Pushed
3c577c73bac6: Pushed
3c554a221bcf: Pushed
7fa1f922b3fd: Pushed
530847c1cbb3: Pushed
d695aab5c09b: Pushed
e97f5e74db77: Pushed
a8de0e025d94: Pushed
a5e66470b281: Pushed
ac7299292f8b: Pushed
e1a9a6284d0d: Pushed
fccbfa2912f0: Pushed
6.5.0-1: digest: sha256:8ec94e00ea0348bf992985bf7d35164f12ae6eaa02ef7172e8332ca99a3975e5 size: 3463
a6b649da4a54: Layer already exists
03bc0c7d3745: Layer already exists
850578ed6aff: Layer already exists
4485ec960c74: Layer already exists
3c577c73bac6: Layer already exists
3c554a221bcf: Layer already exists
7fa1f922b3fd: Layer already exists
530847c1cbb3: Layer already exists
d695aab5c09b: Layer already exists
e97f5e74db77: Layer already exists
a8de0e025d94: Layer already exists
a5e66470b281: Layer already exists
ac7299292f8b: Layer already exists
e1a9a6284d0d: Layer already exists
fccbfa2912f0: Layer already exists
latest: digest: sha256:8ec94e00ea0348bf992985bf7d35164f12ae6eaa02ef7172e8332ca99a3975e5 size: 3463
这是我的元工具链的local.conf文件

    DISTRO ?= "poky"
DISTRO_FEATURES_append += " virtualization"
PACKAGE_CLASSES ?= "package_rpm"

# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
# images. Some of these options are added to certain image types automatically. The
# variable can contain the following options:
#  "dbg-pkgs"       - add -dbg packages for all installed packages
#                     (adds symbol information for debugging/profiling)
#  "dev-pkgs"       - add -dev packages for all installed packages
#                     (useful if you want to develop against libs in the image)
#  "ptest-pkgs"     - add -ptest packages for all ptest-enabled packages
#                     (useful if you want to run the package test suites)
#  "tools-sdk"      - add development tools (gcc, make, pkgconfig etc.)
#  "tools-debug"    - add debugging tools (gdb, strace)
#  "eclipse-debug"  - add Eclipse remote debugging support
#  "tools-profile"  - add profiling tools (oprofile, lttng, valgrind)
#  "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
#  "debug-tweaks"   - make an image suitable for development
#                     e.g. ssh root access has a blank password
# There are other application targets that can be used here too, see
# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
# We default to enabling the debugging tweaks.
EXTRA_IMAGE_FEATURES ?= "debug-tweaks dbg-pkgs dev-pkgs tools-sdk tools-debug eclipse-debug tools-profile"



PATCHRESOLVE = "noop"
BB_DISKMON_DIRS ??= "\
    STOPTASKS,${TMPDIR},1G,100K \
    STOPTASKS,${DL_DIR},1G,100K \
    STOPTASKS,${SSTATE_DIR},1G,100K \
    STOPTASKS,/tmp,100M,100K \
    ABORT,${TMPDIR},100M,1K \
    ABORT,${DL_DIR},100M,1K \
    ABORT,${SSTATE_DIR},100M,1K \
    ABORT,/tmp,10M,1K"

PACKAGECONFIG_append_pn-qemu-native = " sdl"
PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"


CONF_VERSION = "1"
MACHINE = "raspberrypi3"
PREFERRED_VERSION_linux-raspberrypi = "4.%"
DISTRO_FEATURES_remove = "x11 wayland"
DISTRO_FEATURES_append = " systemd"
VIRTUAL-RUNTIME_init_manager = "systemd"
#openvpn recipe is set up in order to set VPN #infrastructure on Yocto_SDK
#wiringpi and wiringpi-dev recipes are set up in order to 
IMAGE_INSTALL_APPEND = " git apt dpkg opkg rpm sudo wiringpi wiringpi-dev cmake connman connman-client tzdata i2c-tools i2c-tools-dev glibc-utils rpm dhcp-server bluez5 python-smbus bridge-utils hostapd apache2 "
IMAGE_INSTALL_APPEND = " nano openvpn networkmanager"
ENABLE_UART="1"
ENABLE_SPI_BUS= "1"
ENABLE_I2C = "1"
ENABLE_PCF857x_I2C_GPIO_expanders = "1"

你能在Che外部构建映像,然后用这个映像创建一个自定义堆栈吗?

chmod+x poky-glibc-x86\u 64-meta-toolchain-cortexa7hf-neon-vfpv4-toolchain-2.4.3.sh
?我甚至尝试删除chmod+x$meta\u toolchain命令,但它仍然显示相同的错误。尝试从容器中手动运行它,我能够做到。Yocto SDK的local.conf存在一些问题。我编辑了local.conf并重新提取SDK,通过Dockerfile将其上载到dockerhub,并使用Yocto SDK的Build from Recipe设置自定义堆栈。