网站开发集成工具,建设垂直网站需要哪些流程,网站开发vsc,小程序怎么申请注册费用今天打算编译支持orange pi开发板的Raspbain Jessie系统 从github上拿下源码,下载,编译,一直比较顺利 结果在编译一半的时候报错: /second-stage: line 206: /bin/sleep: cannot execute binary file: Exec format error 根据错误提示信息,找到了该语句如下: while kill -0 $1 …今天打算编译支持orange pi开发板的Raspbain Jessie系统 从github上拿下源码,下载,编译,一直比较顺利 结果在编译一半的时候报错: /second-stage: line 206: /bin/sleep: cannot execute binary file: Exec format error 根据错误提示信息,找到了该语句如下: while kill -0 $1 2/dev/nulldoi$(( (i1) %4 ))printf \r$2 ${spin:$i:1}sleep .1done 简简单单一句sleep,怎么会格式错误呢?单独执行也没问题啊? 继续往上找,查到是在create_image脚本里调用了second-stage,调用语句如下: # ********************************************************************************
# *** If running on ARM (OrangePI) USE THE LINE WITHOUT qemu-arm-static !!! ****
# ********************************************************************************
#if ! chroot $odir /bin/bash /second-stage; then
if ! chroot $odir /usr/bin/qemu-arm-static -cpu cortex-a9 /bin/bash /second-stage; thenmv $odir/install.log . /dev/null 21echo echo ERROR on second-stage, instalation NOT FINISHED.echo exit 1
fi 原来是执行了chroot后调用的,也就是说实际调用的是 ~/orangepi/OrangePiH3/output/linux-jessie/bin/sleep 但是此处指定了是用qemu-arm-static命令调用的,怎么还出错?该命令到底是个什么用法? 于是做了以下测试: sudo chroot ~/orangepi/OrangePiH3/output/linux-jessie\
/usr/bin/qemu-arm-static -cpu cortex-a9 /bin/bash 顺利调用! 但是在该arm版的bash下面,却始终无法调用/bin/sleep,仍是同样的提示: cannot execute binary file: Exec format error 原来qemu-arm-static仅对当前程序有效,并不会改变系统程序执行环境,所以导致仍将arm版的/bin/sleep作为x86程序进行了处理,也就是调用/bin/sleep也需要使用qemu-arm-static命令来调用,难道需要改脚本?那改动的地方就不少了,有没有便捷点的办法? 于是google了下,在该文章: Emulating ARM on Debian/Ubuntu 中,发现少了关键的一步: #This can only be run as root (sudo dont work)
sudo su
echo :arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm-static: /proc/sys/fs/binfmt_misc/register
exit 该语句意思是将qemu-arm-static注册为arm可执行文件的默认解释器! 执行了这一步后,就无需指定qemu-arm-static作为解释器,直接调用arm程序即可执行 继续进行编译,成功!转载于:https://www.cnblogs.com/mmseh/p/9062239.html