当前位置: 首页 > news >正文

安装mkimage工具,解决报错“Invalid CPU Type - valid names are:”

问题

前两天在编译博雅芯片厂商提供的内核时,总是无法编译通过,试了好几次都提示如下错误:

Invalid CPU Type - valid names are: alpha, arm, x86, ia64, m68k, microblaze, mips, mips64, nios2, powerpc, ppc, s390, sh, sparc, sparc64, blackfin, avr32
Usage: /usr/local/bin/mkimage -l image
          -l ==> list image header information
       /usr/local/bin/mkimage [-x] -A arch -O os -T type -C comp -a addr -e ep -n name -d data_file[:data_file...] image
          -A ==> set architecture to 'arch'
          -O ==> set operating system to 'os'
          -T ==> set image type to 'type'
          -C ==> set compression type 'comp'
          -a ==> set load address to 'addr' (hex)
          -e ==> set entry point to 'ep' (hex)
          -n ==> set image name to 'name'
          -d ==> use image data from 'datafile'
          -x ==> set XIP (execute in place)
       /usr/local/bin/mkimage [-D dtc_options] -f fit-image.its fit-image
make[1]: *** [arch/csky/boot/uImage] Error 1
make: *** [uImage] Error 2
Creating Temp DIR for building rootfs:/tmp/rootfs-20695
/tmp/rootfs-20695

分析

查看系统里是有该工具的,而且同事在同样版本的Ubuntu系统也可以编译通过,所以考虑是mkimage的问题
在这里插入图片描述
mkimage 工具可以通过两个途径获得,一般芯片厂商给的SDK里会有mkimage工具,在uboottools目录下拷贝到编译的机器使用即可(记得备份好旧的mkimage);另一个是自己从网上下载安装(一般不建议)。

我的编译机器是Ubuntu14.04的,先使用安装的方式更新mkimage,在命令行输入下面命令:
sudo apt-get install u-boot-tools

更新完继续编译,还是出错。。。

最后直接使用同事拷贝过来的mkimage,编译通过。

总结:

编译内核时,mkimage工具报错 Invalid CPU Type - valid names are: ..... 时,很可能是工具太旧了,可以尝试更新mkimage,看是否解决问题,最好使用厂商提供的 mkimage 工具,替换mkimage时,注意备份好旧的工具,以防丢失。


有用的话,帮忙点赞收藏,支持鼓励一波 !!!( *_^ )

相关文章:

  • 卡卷平台接口2
  • 尚硅谷Vue系列教程学习笔记(11)
  • win11任务栏时间显示到秒的操作方法
  • 【Saras算法】TD Learning的一种
  • 可裂解试剂142439-92-7,Biotin-bisamido-SS-NHS ester 性质特点有哪些?
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • 神经网络架构图讲解教程,神经网络架构图讲解图
  • 【分享】使用 PXE + Kickstart 无人值守安装 Linux
  • 我赢助手之爆款内容创作:爆款内容的底层逻辑,检查下自己的内容是否符合呢?
  • ISO认证证书上常见的认可标志
  • 【ES8】新特性
  • [CISCN2019 华东南赛区]Web11
  • 【JavaScript 逆向】猿人学 web 第五题:乱码增强
  • Python:不要在循环中删除元素
  • 地理标志农产品质量安全风险评估及预警研究
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • Android系统模拟器绘制实现概述
  • Brief introduction of how to 'Call, Apply and Bind'
  • C++类中的特殊成员函数
  • CODING 缺陷管理功能正式开始公测
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • golang中接口赋值与方法集
  • Javascripit类型转换比较那点事儿,双等号(==)
  • mysql_config not found
  • Promise面试题,控制异步流程
  • uva 10370 Above Average
  • ViewService——一种保证客户端与服务端同步的方法
  • 大型网站性能监测、分析与优化常见问题QA
  • 回顾 Swift 多平台移植进度 #2
  • 回流、重绘及其优化
  • 记录一下第一次使用npm
  • 排序算法之--选择排序
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • ​如何防止网络攻击?
  • # Apache SeaTunnel 究竟是什么?
  • #pragma data_seg 共享数据区(转)
  • $.ajax中的eval及dataType
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (分布式缓存)Redis分片集群
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (十六)一篇文章学会Java的常用API
  • (一) springboot详细介绍
  • (转) RFS+AutoItLibrary测试web对话框
  • (转)jQuery 基础
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .CSS-hover 的解释
  • .Family_物联网
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存