先贴一下博主当时的错误情况
ERROR: petalinux-user-image-1.0-r0 do_image_cpio: Function failed: do_image_cpio (log file is located at /media/wmd/a1f4b143-42e4-413c-8c1e-bacea116f841/newtest/build/tmp/work/plnx_zynq7-xilinx-linux-gnueabi/petalinux-user-image/1.0-r0/temp/log.do_image_cpio.10007)
ERROR: Logfile of failure stored in: /media/wmd/a1f4b143-42e4-413c-8c1e-bacea116f841/newtest/build/tmp/work/plnx_zynq7-xilinx-linux-gnueabi/petalinux-user-image/1.0-r0/temp/log.do_image_cpio.10007
Log data follows:
| DEBUG: Executing python function set_image_size
| DEBUG: 3502064.800000 = 2693896 * 1.300000
| DEBUG: 3502064.800000 = max(3502064.800000, 65536)[3502064.800000] + 1
| DEBUG: 3502065.000000 = int(3502064.800000)
| DEBUG: 3502065 = aligned(3502065)
| DEBUG: returning 3502065
| DEBUG: Python function set_image_size finished
| DEBUG: Executing python function extend_recipe_sysroot
| NOTE: Direct dependencies are ['virtual:native:/opt/petalinux/components/yocto/source/arm/layers/core/meta/recipes-devtools/pseudo/pseudo_git.bb:do_populate_sysroot', '/opt/petalinux/components/yocto/source/arm/layers/core/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb:do_populate_sysroot', 'virtual:native:/opt/petalinux/components/yocto/source/arm/layers/core/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb:do_populate_sysroot', '/opt/petalinux/components/yocto/source/arm/layers/core/meta/recipes-core/glibc/ldconfig-native_2.12.1.bb:do_populate_sysroot', 'virtual:native:/opt/petalinux/components/yocto/source/arm/layers/core/meta/recipes-extended/pigz/pigz_2.4.bb:do_populate_sysroot', 'virtual:native:/opt/petalinux/components/yocto/source/arm/layers/core/meta/recipes-extended/cpio/cpio_2.12.bb:do_populate_sysroot', 'virtual:native:/opt/petalinux/components/yocto/source/arm/layers/core/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb:do_populate_sysroot', 'virtual:native:/opt/petalinux/components/yocto/source/arm/layers/core/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb:do_populate_sysroot', 'virtual:native:/opt/petalinux/components/yocto/source/arm/layers/core/meta/recipes-bsp/u-boot/u-boot-mkimage_2018.07.bb:do_populate_sysroot', '/opt/petalinux/components/yocto/source/arm/layers/core/meta/recipes-core/glibc/cross-localedef-native_2.28.bb:do_populate_sysroot', 'virtual:native:/opt/petalinux/components/yocto/source/arm/layers/core/meta/recipes-devtools/rpm/rpm_4.14.2.bb:do_populate_sysroot', 'virtual:native:/opt/petalinux/components/yocto/source/arm/layers/core/meta/recipes-devtools/dnf/dnf_2.7.5.bb:do_populate_sysroot', 'virtual:native:/opt/petalinux/components/yocto/source/arm/layers/core/meta/recipes-devtools/makedevs/makedevs_1.0.1.bb:do_populate_sysroot', '/opt/petalinux/components/yocto/source/arm/layers/core/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb:do_populate_sysroot', '/opt/petalinux/components/yocto/source/arm/layers/core/meta/recipes-devtools/mklibs/mklibs-native_0.1.43.bb:do_populate_sysroot', 'virtual:native:/opt/petalinux/components/yocto/source/arm/layers/core/meta/recipes-devtools/opkg/opkg_0.3.6.bb:do_populate_sysroot', 'virtual:native:/opt/petalinux/components/yocto/source/arm/layers/core/meta/recipes-devtools/opkg-utils/opkg-utils_0.3.6.bb:do_populate_sysroot']
| NOTE: Installed into sysroot: []
| NOTE: Skipping as already exists in sysroot: ['pseudo-native', 'qemuwrapper-cross', 'pbzip2-native', 'ldconfig-native', 'pigz-native', 'cpio-native', 'createrepo-c-native', 'update-rc.d-native', 'u-boot-mkimage-native', 'cross-localedef-native', 'rpm-native', 'dnf-native', 'makedevs-native', 'depmodwrapper-cross', 'mklibs-native', 'opkg-native', 'opkg-utils-native', 'qemu-native', 'quilt-native', 'bzip2-native', 'shadow-native', 'zlib-native', 'automake-native', 'gettext-minimal-native', 'gnu-config-native', 'libtool-native', 'texinfo-dummy-native', 'autoconf-native', 'gdk-pixbuf-native', 'kmod-native', 'expat-native', 'ninja-native', 'libxml2-native', 'python3-native', 'cmake-native', 'sqlite3-native', 'curl-native', 'glib-2.0-native', 'pkgconfig-native', 'openssl-native', 'file-native', 'xz-native', 'flex-native', 'nss-native', 'popt-native', 'db-native', 'dbus-native', 'elfutils-native', 'libarchive-native', 'librepo-native', 'python3-iniparse-native', 'libcomps-native', 'libdnf-native', 'gtk-icon-utils-native', 'debianutils-native', 'libsolv-native', 'dtc-native', 'alsa-lib-native', 'pixman-native', 'm4-native', 'gobject-introspection-native', 'gtk-doc-native', 'libpng-native', 'shared-mime-info-native', 'libjpeg-turbo-native', 're2c-native', 'gdbm-native', 'readline-native', 'gettext-native', 'libffi-native', 'libpcre-native', 'util-linux-native', 'nspr-native', 'e2fsprogs-native', 'lzo-native', 'gpgme-native', 'attr-native', 'python3-six-native', 'libcheck-native', 'librsvg-native', 'util-macros-native', 'intltool-native', 'ncurses-native', 'swig-native', 'libgpg-error-native', 'libassuan-native', 'python3-setuptools-native', 'libcroco-native', 'pango-native', 'cairo-native', 'libxml-parser-perl-native', 'unzip-native', 'fribidi-native', 'freetype-native', 'harfbuzz-native', 'fontconfig-native', 'libx11-native', 'libxft-native', 'libxcb-native', 'libxrender-native', 'libxext-native', 'libsm-native', 'perl-native', 'meson-native', 'icu-native', 'gperf-native', 'xtrans-native', 'xorgproto-native', 'libpthread-stubs-native', 'libxdmcp-native', 'libxau-native', 'xcb-proto-native', 'libice-native']
| DEBUG: Python function extend_recipe_sysroot finished
| DEBUG: Executing shell function do_image_cpio
| 5205286 blocks
| cpio: cannot seek on output: Invalid argument
| WARNING: exit code 2 from a shell command.
| ERROR: Function failed: do_image_cpio (log file is located at /media/wmd/a1f4b143-42e4-413c-8c1e-bacea116f841/newtest/build/tmp/work/plnx_zynq7-xilinx-linux-gnueabi/petalinux-user-image/1.0-r0/temp/log.do_image_cpio.10007)
ERROR: Task (/media/wmd/a1f4b143-42e4-413c-8c1e-bacea116f841/newtest/project-spec/meta-plnx-generated/recipes-core/images/petalinux-user-image.bb:do_image_cpio) failed with exit code '1'
NOTE: Tasks Summary: Attempted 5856 tasks of which 5855 didn't need to be rerun and 1 failed.
通过翻梯子发现可以通过添加IMAGE_FSTYPES_remove = "cpio.gz cpio cpio.gz.u-boot cpio.bz2"
的办法来解决,但是原网页说明的不是很清楚
首先通过错误信息分析ERROR TASK发现错误的文件定位在/media/wmd/a1f4b143-42e4-413c-8c1e-bacea116f841/newtest/project-spec/meta-plnx-generated/recipes-core/images/petalinux-user-image.bb:do_image_cpio
然后找到该文件,在此文件最后加上IMAGE_FSTYPES_remove = "cpio.gz cpio cpio.gz.u-boot cpio.bz2"
保存 重新编译即可
经过尝试发现 该指令最终会取消rootfs.cpio文件的生成 因此部署系统时可以使用其他类型的压缩文件 效果一样