针对 armhf 架构的 cordova 构建失败:overlayfs 挂载错误

针对 armhf 架构的 cordova 构建失败:overlayfs 挂载错误

我的目标是为 armhf 架构(Raspbian、debian)设备(如 Raspberry Pi 和基于 armhf 架构的 Linux 操作系统)构建 html5 应用程序。

我已经在 Ubuntu-16.04 上安装了 cordova,我的 windows VMWare 工作站上有这个(https://cordova.apache.org/docs/en/latest/guide/platforms/ubuntu/)。

当我为设备构建应用程序(cordova -d build --device -- --verbose)时,遇到了以下错误:

user001@ubuntu:~/Documents/myproject$ cordova -d build --device -- --verbose
No scripts found for hook "before_build".
No scripts found for hook "before_prepare".
Checking config.xml and package.json for saved platforms that haven't been added to the project
Config.xml and package.json platforms are the same. No pkg.json modification.
Package.json and config.xml platforms are different. Updating config.xml with most current list of platforms.
Failed to require PlatformApi instance for platform "ubuntu". Using polyfill instead.
Checking config.xml for saved plugins that haven't been added to the project
Checking for any plugins added to the project that have not been installed in ubuntu platform
No differences found between plugins added to project and installed in ubuntu platform. Continuing...
Generating config.xml from defaults for platform "ubuntu"
No scripts found for hook "after_prepare".
No scripts found for hook "before_compile".
Running command: /home/user001/Documents/myproject/platforms/ubuntu/cordova/build --device --verbose
Building Phone Application...
cp -Rf /home/user001/Documents/myproject/www/img/logo.png /home/user001/Documents/myproject/platforms/ubuntu/www
E: 10mount: mount: unknown filesystem type 'overlayfs'
E: 15binfmt: update-binfmts: unable to open /var/lib/schroot/mount/click-ubuntu-sdk-15.04-armhf-7d5175c0-d77c-4493-b5d4-89eba366df9c/bin/sh: No such file or directory
E: click-ubuntu-sdk-15.04-armhf-7d5175c0-d77c-4493-b5d4-89eba366df9c: Chroot setup failed: stage=setup-start
Command returned 1: schroot -c click-ubuntu-sdk-15.04-armhf -- env DEB_TARGET_ARCH_OS=linux DEB_TARGET_GNU_SYSTEM=linux-gnueabihf DEB_BUILD_ARCH=amd64 DEB_HOST_GNU_TYPE=arm-linux-gnueabihf DEB_HOST_ARCH=armhf DEB_HOST_GNU_SYSTEM=linux-gnueabihf DEB_TARGET_ARCH_BITS=32 DEB_TARGET_GNU_TYPE=arm-linux-gnueabihf DEB_TARGET_GNU_CPU=arm DEB_BUILD_MULTIARCH=x86_64-linux-gnu DEB_HOST_ARCH_OS=linux DEB_TARGET_ARCH=armhf DEB_BUILD_GNU_TYPE=x86_64-linux-gnu DEB_HOST_ARCH_ENDIAN=little DEB_HOST_ARCH_BITS=32 DEB_BUILD_ARCH_BITS=64 DEB_HOST_GNU_CPU=arm DEB_BUILD_GNU_SYSTEM=linux-gnu DEB_BUILD_ARCH_OS=linux DEB_TARGET_ARCH_ENDIAN=little DEB_HOST_MULTIARCH=arm-linux-gnueabihf DEB_BUILD_GNU_CPU=x86_64 DEB_HOST_ARCH_CPU=arm DEB_BUILD_ARCH_ENDIAN=little DEB_TARGET_ARCH_CPU=arm DEB_BUILD_ARCH_CPU=amd64 DEB_TARGET_MULTIARCH=arm-linux-gnueabihf echo 1

Error: missing armhf chroot
run:
sudo click chroot -a armhf -f ubuntu-sdk-15.04 create
Command finished with error code 0: /home/user001/Documents/myproject/platforms/ubuntu/cordova/build --device,--verbose
No scripts found for hook "after_compile".
No scripts found for hook "after_build".
user001@ubuntu:~/Documents/myproject$ sudo click chroot -a armhf -f ubuntu-sdk-15.04 create
[sudo] password for user001: 
A chroot for that name and architecture already exists.
Please see the man-page how to use it.

有人能帮我解决这个问题吗?以下是一些信息:

user001@ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.3 LTS
Release:    16.04
Codename:   xenial
user001@ubuntu:~$ uname -a
Linux ubuntu 4.12.0-041200-generic #201707022031 SMP Mon Jul 3 00:32:52 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
user001@ubuntu:~$ cordova -v
7.0.1
user001@ubuntu:~$ node -v
v4.2.6
user001@ubuntu:~$ npm -v
3.5.2
user001@ubuntu:~$

相关内容