arn linux编译系统时错误的解决

今天打算编译支持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=$(( (i+1) %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 2>&1echo "================================================"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 don't 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/397909.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【进出理论】投入与收益

笔者对网游相当无感,再加上以前玩过不少游戏。对现在的游戏没有多大的吸引力,倒是对爱情有所感性,及当代IT技术的发展。许多以前无法获取的东西,现在在网络寻找各种方式,或者若干想通了什么,就总可以获取到…

CSS笔记1

在divcss开发的时候,特别是新手特别喜欢追求完美,所以开发中或开发完后立即去验证开发的css是否符合w3c标准。虽然说验证w3c是好事但是,这个不是最重要的,最重要的是div css的兼容浏览器性能、css代码最优程度、特效兼容。 CSS扩展…

linux centos 光盘修复,CentOS7删除/boot/initramfsxxx.img并尝试光盘救援模式修复

CentOS7删除/boot/initramfsxxx.img并尝试光盘救援模式修复一、删除/boot/initramfs-3.10.0-957.el7.x86_64.img[rootswitch ~]# rm -f /boot/initramfs-3.10.0-957.el7.x86_64.img二、重启起不来三、插入光盘,进入修复模式(VMWare开机按esc)四、选择修复CentOS7系统…

django 模板两次for循环_Django模板之基本的 for 循环 和 List内容的显示方式

Django模板之基本的 for 循环 和 List内容的显示方式发布时间:2020-08-31 07:29:20来源:脚本之家阅读:116工程结构views.pydef home(request):TutorialList ["HTML", "CSS", "jQuery", "Python", &…

I/O多路转接之poll,epoll

1、poll函数原型&#xff1a;#include <poll.h>int poll(struct pollfd fds[], nfds_t nfds, int timeout)&#xff1b;参数说明:fds&#xff1a;是一个struct pollfd结构类型的数组&#xff0c;用于存放需要检测其状态的Socket描述符&#xff1b;每当调用这个函数之后&a…

amh在linux下修改伪静态,伪静态规则大全 - AMH云主机面板 - AMH开源社区 - amh.sh

1、WordPress伪静态if (-f $request_filename/index.html){rewrite (.*) $1/index.html break;}if (-f $request_filename/index.php){rewrite (.*) $1/index.php;}if (!-f $request_filename){rewrite (.*) /index.php;}2、PHPCMS伪静态rewrite ^/caipu-([0-9])-([0-9])-([0-9…

pn532写入手机nfc_NFC手机手环脱机模拟加密门禁卡,你get了吗?

目标&#xff1a;将门禁卡、考勤卡、会员卡、停车卡、电梯卡等等各种卡模拟进手机里&#xff0c;模拟后可用手机代替刷卡&#xff0c;无需root&#xff0c;不用电脑背景介绍&#xff1a;前言目前&#xff0c;IC卡已被广泛应用于身份识别、金融消费、安全认证等领域。大多数人每…

世纪互联云和华为共同打造的数据中心是一个很好的一步标志!

9月4日&#xff0c;华为公布高端智能手机Mate7&#xff08;2999元人民币&#xff09;&#xff0c;当中的处理器&#xff08;CPU&#xff09;是华为自产的海思麒麟&#xff08;Kirrin&#xff09;925&#xff0c;此举让高调国产操作系统者颜面丢尽&#xff0c;国家队无言以对。 …

linux安装vim plug, vim-plug 的安装和使用

正确安装 vim-plug之前写了一篇&#x1f984; 一篇文章讲清楚如何安装vim插件&#xff0c;见各位童鞋留言说 vim-plug 更好用。果然各种插件方便管理&#xff0c;安装也很简单。下面简单说下 vim-plug 的操作基本姿势&#xff1a;安装 vim-plugvim-plug 是一个 vim 的插件管理插…

测试连接oracle数据库耗时

maven项目 主程序:ConnOracle.java 1 package org.guangsoft.oracle;2 3 import java.sql.Connection;4 import java.sql.DriverManager;5 import java.sql.SQLException;6 7 import org.guangsoft.util.PropUtil;8 9 public class ConnOracle { 10 private static final S…

用尽洪荒之力整理的Mysql数据库32条军规

写在前面的话&#xff1a; 总是在灾难发生后&#xff0c;才想起容灾的重要性&#xff1b; 总是在吃过亏后&#xff0c;才记得曾经有人提醒过。 核心军规 1、不在数据库做运算 cpu计算务必移至业务层 2、控制单表数据量 int型不超过1000w&#xff0c;含char则不超过500w&#xf…

dw网页制作入学教程_简单的手机网页制作教程

很多小白会以为建站只能通过电脑&#xff0c;但实际上&#xff0c;用手机也能顺利建站&#xff0c;而且操作非常简单&#xff0c;不需要你懂技术知识哦&#xff01;下面就跟大家说说手机网页制作教程&#xff1a;首先&#xff0c;你需要选择一个比较好用的手机网页制作app。尽量…

拓展欧几里得理论基础(含一定证明)

首先有gcd(a,b)gcd(b,a%b)这个复杂度最差也是log2的 因为大数对小数取余的时候 这个小数如果是比大数的一半大 那么取余完会比大数的一半大&#xff0c;如果小数比大数的一半小 那么取余完还是会比大数的一半大&#xff0c;所以最差也是log2的。 然后是axbyc有解的充要条件是c整…

Sqli-labs less 64

Less-64 此处的sql语句为 $sql"SELECT * FROM security.users WHERE id(($id)) LIMIT 0,1"; 示例payload&#xff1a; http://127.0.0.1/sqli-labs/Less-64/?id1))and%20If(ascii(substr((select%20group_concat(table_name)%20from%20information_schema.tables%20…

linux 双显卡 黑屏 amd,Win10系统AMD双显卡笔记本开机出现黑屏怎么办?解决方法...

win10是一个全新的操作系统&#xff0c;所以我们在使用时很有可能会碰到一些没见过的新问题。比如&#xff0c;有用户在升级到Windows10后&#xff0c;发现AMD双显卡笔记本出现了开机黑屏的情况。具体表现为&#xff1a;Windows Logo加载之后&#xff0c;用户登陆之前会出现30s…

双目立体视觉建立深度图_关于双目立体视觉的三大基本算法及发展现状的总结...

作者&#xff1a;何文博双目立体视觉一直是机器视觉研究领域的发展热点和难点&#xff0c;“热”是因为双目立体视觉有着及其广阔的应用前景&#xff0c;且随着光学、计算机科学等学科的不断发展&#xff0c;双目立体技术将不断进步直到应用到人类生活的方方面面。“难”则是因…

layer弹出层

个人觉得风格不错的&#xff0c;所以收藏下来&#xff1a; layer.open({title: 提示,offset: 100px,skin: layui-layer-lan,content:这是一个open弹出框,time: 3000}); layer.open({type: 1 //Page层类型,area: [500px, 300px] //弹出层大小,title: 你好&#xff0c;layer。,sh…

[BZOJ 1834] [ZJOI2010]network 网络扩容

1834: [ZJOI2010]network 网络扩容 Time Limit: 3 SecMemory Limit: 64 MBDescription 给定一张有向图&#xff0c;每条边都有一个容量C和一个扩容费用W。这里扩容费用是指将容量扩大1所需的费用。求&#xff1a; 1、 在不扩容的情况下&#xff0c;1到N的最大流&#xff1b; 2、…

fw150us的linux驱动下载,迅捷FW150US1.0/2.0无线网卡驱动

迅捷FW150US1.0/2.0无线网卡驱动官方版是迅捷推出的一款超小型150M无线USB网卡&#xff0c;安装迅捷FW150US1.0/2.0无线网卡驱动官方版&#xff0c;即可正常连接电脑使用。迅捷FW150US1.0/2.0无线网卡驱动支持自动检测功能&#xff0c;能够自动调整速率&#xff0c;无线传输速率…

20160811

一&#xff1a;边框样式 1.边框线 border-style : none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset 例&#xff1a;div { width:300px; height:100px; border-style:solid; &#xff5d; border-top-style 设置上边框线 border-bott…