解决u-boot 2016.11 ”ERROR: Makefile:1385: recipe for target 'checkarmreloc' failed”

arm64/aarch64启动汇编代码-详细解析 /* * Low-level CPU initialisation * Based on arch/arm/kernel/head.S * * Copyright (C) 1994-2002 Russell King * Copyright (C) 2003-2012 ARM Ltd. * Authors: Catalin Marinas <catalin.marinas@ar... 阅读详情

在编译u-boot-2016.05时出现如下问题:

这里写图片描述

解决办法:
搜索 “u-boot contains unexpected relocations”,没有搜索到任何内容,那么我们再尝试搜索checkarmreloc:

lvxiaoliang@lvxiaoliang-virtual-machine:~/Ftp/tmp/u-boot-2016.05$ grep "checkarmreloc" * -nR

arch/arm/config.mk:111:ALL-y += checkarmreloc

Makefile:1384:checkarmreloc: u-boot

在顶层Makefile中有如下语句:

#########################################################################

# ARM relocations should all be R_ARM_RELATIVE (32-bit) or
# R_AARCH64_RELATIVE (64-bit).
checkarmreloc: u-boot
        @RELOC="`$(CROSS_COMPILE)readelf -r -W $< | cut -d ' ' -f 4 | \
                grep R_A | sort -u`"; \
        if test "$$RELOC" != "R_ARM_RELATIVE" -a \
                 "$$RELOC" != "R_AARCH64_RELATIVE"; then \
                echo "$< contains unexpected relocations: $$RELOC"; \
                false; \
        fi

env: scripts_basic
        $(Q)$(MAKE) $(build)=tools/$@

tools-only: scripts_basic $(version_h) $(timestamp_h)
        $(Q)$(MAKE) $(build)=tools

tools-all: export HOST_TOOLS_ALL=y
tools-all: env tools ;

cross_tools: export CROSS_BUILD_TOOLS=y
cross_tools: tools ;

.PHONY : CHANGELOG
CHANGELOG:
        git log --no-merges U-Boot-1_1_5.. | \
        unexpand -a | sed -e 's/\s\s*$$//' > $@

#########################################################################                                             

那么我们就别编译checkarmreloc了,所以我们注释掉arch/arm/config.mk的第111行:

#ALL-y += checkarmreloc

然后就能编译通过了
Linux 内核编译   对内核打上补丁,参考 https://blog.csdn.net/sunqian666888/article/details/85003007   创建输出文件夹: sun@machine:~/share/build/linux-4.9.145$ mkdir out sun@machine:~/share/build/linux-4.9.145$ 设置默认config文件 su... 阅读详情

相关推荐

AArch64 ARM64 寄存器介绍

除了上述通用寄存器,还有FPSR(浮点状态寄存器)和 FPCR(浮点控制寄存器)等。X29寄存器和X30寄存器在函数调用和堆栈帧的管理中扮演着关键角色。AArch64架构提供了31个通用寄存器,每个寄存器都可以用作64位X寄存器(X0~X30)或32位W寄存器(W0~W30)。使用X寄存器将导致64位的计算,使用W寄存器将导致32位的计算。EL0、EL1、EL2和EL3是AArch64架构中定义的四个特权级别(Exception Levels),用于支持不同的执行环境和特权级别。

lml435035844的博客 1万+

U-Boot的重定位实现机制

获取当前芯片平台的相关信息 为了深入了解ARM 64位芯片架构,笔者为u-boot添加了archinfo命令,以获取CPU当前的工作状态等信息。不过在增加完整的64位ARM架构信息查看功能之前,笔者首先增加了简单的获取当前PC指针及栈指针的函数: diff --git a/arch/arm/lib/arch-info.c b/arch/arm/lib/arch-info.c new file mode 100644 index 00000000..b9bc9fd0 --- /dev/null +++ b/a

yeholmes的专栏 2808

车道线检测(传统基于Opencv的方法)

传统车道线检测方法主要是使用颜色选择、高斯平滑、边缘检测、ROI区域选择、霍夫变换、标定车道边界等Opnecv图像处理操作去检测道路上的车道线,我自己对很多用这类处理对很多道路场景车道线进行过实验,这类算法往往需要人工根据不同街道场景手动去反复调整各算法参数,从而才能使检测效果最佳。

Yangxiaoaijiejie的博客 2073

ERROR: Makefile:1385: recipe for target 'checkarmreloc' failed

在编译u-boot-2016.05时出现如下问题:解决办法: 搜索 “u-boot contains unexpected relocations”,没有搜索到任何内容,那么我们再尝试搜索checkarmreloc:lvxiaoliang@lvxiaoliang-virtual-machine:~/Ftp/tmp/u-boot-2016.05$ grep "checkarmreloc" * -nR

Maxwell的博客 2749

从7V到28V宽压输入,手把手教你设计一个5V/3A的DCDC电源模块(附MPS1584选型与原理图避坑)

本文详细解析了基于MPS1584芯片的7V至28V宽压输入到5V/3A输出的DCDC电源模块设计全流程。从电源架构选择、原理图设计要点到实际调试经验,涵盖了输入保护电路、功率转换核心电路及系统级优化测试,帮助工程师规避常见设计陷阱,实现高效稳定的电源解决方案。

weixin_33712987的博客 499

STM32与HT7038的高精度电能计量系统设计与实现

本文详细介绍了基于STM32微控制器与HT7038三相电能计量芯片的高精度电能计量系统设计与实现。文章从项目选型出发,深入剖析了硬件电路设计、SPI驱动开发、芯片校准及系统集成等关键环节,为智能电表、能源监控等应用提供了高性价比且稳定的国产化解决方案。

pytorch8learner的博客 389

很感谢这篇文张【已解决】Makefile:xxx: recipe for target xxx failed +【顺带搞懂了】如何忽略makefile执行过程中的某些命令的错误而得以继续运行

转载自http://www.crifan.com/make_makefile_recipe_for_target_failed_omit_error_while_executing_makefile/ 【问题】 在Cygwin中,执行makefile,其中调用hhc从hhp文件生成chm文件。 结果最后一步出错: Administrator@K470 /cygd

16万+

深入解析FastDDS:SHM与DATA-SHARING传输层的性能对比与实现细节

本文深入对比了FastDDS中SHM与DATA-SHARING两种传输层的实现机制与性能差异。SHM采用端口化共享内存模型,存在两次数据拷贝;而DATA-SHARING通过共享历史实现真正的零拷贝,大幅降低延迟与CPU占用。文章结合实战测试数据,为机器人、自动驾驶等高实时性场景提供了关键的性能优化选型与配置指南。

weixin_28358083的博客 232

内核编译出现arch/arm/boot/Makefile:52: recipe for target ‘arch/arm/boot/compressed/vmlinux‘ failed

linux编译

afddasfa的博客 885

Facebook登录协议逆向实战:从加密参数到完整流程解析(附Python代码)

本文深入解析了Facebook登录协议的逆向工程实战,详细拆解了从关键加密参数(如`lgndim`、`encpass`)定位到完整登录流程的实现。文章提供了Python代码示例,重点阐述了加密逻辑的深度解析、加密函数的本地化实现,并解决了Crypto.js异步调用等常见问题,为研究Web安全和协议逆向的开发者提供了实用参考。

metal的博客 1311

SiC MOSFET 失效机制详解

TDDB 指在相对较低电场(通常接近或略高于器件工作电压)下,长时间施加电压导致介电层(如栅氧化物)逐渐退化并最终击穿的现象。与即时击穿(Immediate Breakdown,由强电场直接引起)不同,TDDB 是时间相关的渐进过程,通常发生在数小时、几天甚至数年之后。核心过程:在 MOSFET 中,栅极与衬底之间施加电压时,电子通过量子隧道效应(Tunneling)注入介电层,形成缺陷或陷阱。这些缺陷积累,最终在介电层中形成导电路径(Conductive Path),导致短路和器件失效。统计特性。

专注于前沿技术的探索与实践,热衷于从代码逻辑、架构设计到行业应用等多维度深挖技术本质。期待在技术之路上与你共同成长~ 382

dlopen-4

count.c: #include<stdio.h> int count=100; void set(int v){ count = v; } void get(){ printf("count:%d\n", count); printf("count:%p\n", &count); }aarch64-linux-gnu-gcc -o libcount.so count.c -shared -fPIC aarch64-linux-gnu-readelf...

wmzjzwlzs的专栏 651

全局注意机制 GAM | Global Attention Mechanism: Retain Information to Enhance Channel-Spatial Interactions

全局注意机制 GAM

Coding... 2576

在Ubuntu下,编译Kernel报错:Makefile:xxx: recipe for target 'xxx' failed

**在Ubuntu下,编译Kernel报如下错误:** Makefile:xxx: recipe for target 'xxx' failed make[2]:***[arch/arm/boot/compressed/piggy.lzo] Error 1 make[1]: ***[arch/arm/boot/compressed/vmlinux] Error 2 如下图所示: 原因:缺少工具l...

雾雨蓝光的博客 9万+

HTOL集成电路老化测试学习总结-20250510

电子元器件的可靠性在产品开发中至关重要,尤其是在微电子技术迅速发展的今天。电子元器件的失效率通常遵循“浴盆曲线”,分为早期失效期、可使用期和老化期。为了评估芯片的可靠性,常采用高温操作寿命测试(HTOL),通过高温和高压加速芯片老化,以筛选出早期失效的芯片并评估其长期可靠性。HTOL测试中,芯片在高温下运行并监控其性能变化,通过阿伦尼乌斯公式计算加速因子,预测芯片的失效率和寿命。此外,Burn-in测试用于加速芯片老化,提前发现并剔除不合格产品,而早期失效率测试(ELFR)则用于评估产品初期使用阶段的可靠性

歌颂苦难的行为是无耻的; 2102

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

ELF解析06 - 入口参数与傀儡进程

04 里面的重定位表没讲完,这里继续,我们说过重定位的类型有很多,04 里面基本只介绍了一种,就是 plt 表。重定位不仅仅发生在代码里面,还会发生在数据里面,比如so程序里面对一些全局变量的引用,它们的重定位信息是放在另外一个表里面:对应 section 的:里面的结构体与 rela.plt 的结构体是一样的。以第一项为例:0x05D690 表示符号地址。0x0403 表示符号重定位类型。由于它不属于符号表,所以索引为0。所以,我们只需要在这个位置按照上面的方式计算好地址填进去就行。

a5right的博客 681

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

ARM64上的动态链接

多年前的一个傍晚,在知春路上的一家饭店,我约潘爱民老师共进晚餐。我到饭店不久,潘老师如约而至,坐下后,拿出一本书送给我。书的名字就叫《程序员的自我修养》。我把这本书带回上海后,放到我的书架里。坦率说,我没有花过很大块时间读这本书,只是偶尔拿出来翻一下。为什么呢?不是因为书的内容不好,而是因为书的内容和我的知识库高度重叠,很多东西已经在我的大脑里了。最近因为要解决一个问题,需要深入理解Linux A...

advdbgger的博客 1249

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

编译内核出错:recipe for target ‘arch/arm/boot/compressed/piggy.lzo‘ failed

问题: /bin/sh: 1: lzop: not found arch/arm/boot/compressed/Makefile:180: recipe for target 'arch/arm/boot/compressed/piggy.lzo' failed make[2]: *** [arch/arm/boot/compressed/piggy.lzo] Error 1 arch/arm/boot/Makefile:52: recipe for target 'arch/arm/boot/compr

weixin_44498318的博客 2741

某GK7205V200 u-boot移植碰到无法启动问题

最近发现公司有大厂摄像头模组,但是sdk不太好用。碰到uboot刷了之后无法启动。后来在github上发现openIPC有对应的uboot,下来一试,居然可以正常启动,那问题肯定就是自己编译的有问题咯。在ubuntu上编译了uboot,kernel后,使用国科微的工具按芯片手册刷到flash上。但是一上电串口总是输出 00 00 00 00 .... 0a,不断循环。折腾了一天,一度以为厂商做了bootrom签名校验。板子不支持四线模式,只能用普通的方式获取数据!有区别,仔细一看,原来是。

mgr9525的专栏 1673

Android的ELF文件重定位详解,包括64位

0x01 引言 ELF文件格式,主要基于两种,一种是基于链接视图,链接视图即是基于节(Section)来进行解析,一种是基于执行视图,执行视图即是基于段(Segment)来进行解析。前一种是用于静态分析的时候,譬如IDA载入。后一种是在动态链接执行的时候,譬如linker载入。   所以修改节信息实际上是不影响ELF正常执行的,而且hook功能也只能在执行视图中进行符号解析。 所以修改节信...

随心散人专栏 2214

recipe for target ‘***‘ failed

编译的时候可能会出现 recipe for target '...' failed 意思是目标’…'缺少配方,也就是缺少依赖。 我在二次编译riscv-gnu-tools的时候就出现了recipe for target ‘configure-gcc’ failed,第一次编译没毛病。 我的解决办法 #首先是--prefex选择与之前不同的路径, #然后由于默认编译64位交叉编译器,因此把后缀删掉,严格按照github上readme的命令就没有报错了 ./configure --prefix=/opt/ri

weixin_48156266的博客 3万+

recipe for target ‘***‘ failed 问题的解决方法

recipe for target ‘‘ failed* 问题的解决方法

开在界限中的彼岸花 4万+

Ubuntu16.04安装qemu模拟2440开发板

参考教程: 1、https://www.cnblogs.com/zwxwill/p/9431774.html 2、https://blog.csdn.net/maxwell_nc/article/details/44279553 3、http://www.cnblogs.com/jinmu190/archive/2011/03/21/1990698.html 其他版本的ubuntu安...

zxc131313a的专栏 1677

make: *** [checkarmreloc] 错误 1

weixin_44764479的博客 282

Linux移植过程中的问题

移植工作虽然成功了,但是有些错误还是要记录一下的,如下,持续更新。。。 1.编译内核出现错误 /bin/sh: 1: lzop: not found make[2]: *** [arch/arm/boot/compressed/piggy.lzo] 错误 1 make[1]: *** [arch/arm/boot/compressed/vmlinux] 错误 2 make:

阿生的专栏 4568
上一篇: linux系统函数container_of浅析
LinuxWorking
博客等级 码龄10年 24粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值