前2天安装eldk时总是提示以下错误:
ubuntu@ubuntu-virtual-machine:/soft/tmp$ sudo ./install.sh -d ../soft/eldk_v6/ -s - armv6
--------------------------------------------------------------------
NOTICE: superuser priviledges will be needed to install the
root file system; make sure you have sufficient permissions.
--------------------------------------------------------------------
Error: Can't read rootfs tarball "./targets/armv6/core-image-minimal-dev-generic-armv6.tar.gz ./targets/armv6/core-image-minimal-generic-armv6.tar.gz ./targets/armv6/core-image-minimal-mtdutils-generic-armv6.tar.gz ./targets/armv6/core-image-minimal-xenomai-generic-armv6.tar.gz"
在网上查了许久,都没有找到合适的解决方案。由于对shell脚本并不熟悉,一直像个无头苍蝇,不知道问题原因。后来受到一篇别人博客的启发,在install.sh的324行中加入一些自己的打印信息看看。所以自己照猫画虎的写了以下的shell脚本:
#!/bin/bash
if [ ! -r "./targets/test.txt" ] ; then
echo "Error: Can't read rootfs tarball123"
else
echo "oK123"
fi
if [ ! -r "./targets/armv6/core-image-base-generic-armv6.tar.gz ./targets/armv6/test.txt" ] ; then
echo "Error: Can't read rootfs tarballxcvc"
else
echo "oKxcvx"
fi
exit 0
然后输出是:
ubuntu@ubuntu-virtual-machine:/soft/tmp$ ./install-bak.sh
oK123
Error: Can't read rootfs tarballxcvc
然后猜想是不是自己的安装命令是不是有问题,所以有重新看eldk的安装指南,然后尝试了下面这条命令:
ubuntu@ubuntu-virtual-machine:/soft/tmp$ sudo ./install.sh -d ../soft/eldk_v6/ -s qte -r minimal armv6
Error: SDK image "qte" is not available
Available SDK images for target 'armv6':
'toolchain', 'toolchain-qte', 'toolchain-xenomai-qte'.
根据提示信息得到安装包里没有qte的sdk镜像,只有 'toolchain', 'toolchain-qte', 'toolchain-xenomai-qte'.这些,所以就有了下面这条命令:
ubuntu@ubuntu-virtual-machine:/soft/tmp$ sudo ./install.sh -d ../soft/eldk_v6/ -s toolchain-qte -r "minimal-dev" armv6
*** Installing ./targets/armv6/eldk-eglibc-i686-arm-toolchain-qte-5.6.sh
into ../soft/eldk_v6//armv6
--------------------------------------------------------------------
NOTICE: superuser priviledges will be needed to install the
root file system; make sure you have sufficient permissions.
--------------------------------------------------------------------
*** Installing ./targets/armv6/core-image-minimal-dev-generic-armv6.tar.gz
into ../soft/eldk_v6//armv6/rootfs-minimal-dev
然后就有了希望。
这个问题的根本原因是自己对shell脚本不熟,安装时shell脚本不能对错误信息进行分析,没有分析shell脚本,导致浪费了大量时间。另外看eldk的安装指南也不够仔细,文章里已经说明使用-l参数可以查看安装包支持的sdk images和 RFS images,只有使用命令就可查看:
ubuntu@ubuntu-virtual-machine:/soft/tmp$ sudo ./install.sh -l armv6
[sudo] password for ubuntu:
Available SDK images for target 'armv6':
'toolchain', 'toolchain-qte', 'toolchain-xenomai-qte'.
Available RFS images for target 'armv6':
'base', 'clutter', 'full-cmdline', 'lsb-dev', 'lsb', 'lsb-sdk',
'minimal-dev', 'minimal', 'minimal-mtdutils', 'minimal-xenomai',
'qte-sdk', 'qte-xenomai-sdk', 'sato-dev', 'sato', 'sato-sdk',
'x11'.