qemu-riscv64: could not open ‘/lib/ld-linux-riscv64-lp64d.so.1‘

告别空谈:用QEMU模拟器5分钟跑通你的第一个RISC-V程序 本文详细介绍了如何使用QEMU模拟器在5分钟内快速运行第一个RISC-V程序,从环境配置、编写代码到编译运行的完整流程。通过极简工具链和实战示例,帮助开发者快速上手RISC-V架构开发,并深入理解其指令集和工具链组成。 阅读详情
AI摘要

本文档介绍了在Ubuntu 22.04上配置RISC-V交叉编译工具链以及QEMU环境时遇到的问题。在尝试运行QEMU时,由于文件路径不正确导致找不到`ld-linux-riscv64-lp64d.so.1`文件。解决方法是通过安装必要的库,并将文件复制到正确的位置。通过提供的命令安装库,然后测试运行,如果遇到问题,使用`cp`命令将文件从`/usr/riscv64-linux-gnu/lib/*/lib/`复制到相应目录。

问题

  • 缺少文件,或者说文件下载到了一个调用不到的地方

解决办法

先把对应的库下载好


sudo apt install libc6-riscv64-cross
sudo apt install binutils-riscv64-linux-gnu
sudo apt install gcc-riscv64-linux-gnu
sudo apt install binutils-riscv64-unknown-elf
sudo apt install gcc-riscv64-unknown-elf
sudo apt install qemu-system-misc
sudo apt install qemu-user

测试一下看看行不行

出现输出,则成功
在这里插入图片描述

这里失败了,原因是没找到文件 ‘/lib/ld-linux-riscv64-lp64d.so.1‘
在这里插入图片描述

解决办法:
没找到文件的原因是,因为文件下载的地方,和查找的地方不一样,只要把文件cp一下就可以了。


sudo cp /usr/riscv64-linux-gnu/lib/* /lib/

在这里插入图片描述

参考

在Ubuntu22.04中配置riscv64-toolchain以及QEMU
qemu /lib/ld-linux-aarch64.so.1: No such file or directory
qemu 运行 riscv 内核失败记录

RISC-V交叉编译工具链riscv-gnu-toolchain从零安装与避坑指南 在x86架构上开发RISC-V程序,绕不开交叉编译这一基础概念:用A架构的电脑编译出能在B架构CPU上运行的程序。而riscv-gnu-toolchain正是RISC-V官方整合的GCC交叉编译工具链,它集成了binutils、GCC、C标准库和GDB,避免了自行配置各组件版本不匹配的麻烦。理解工具链变体(如riscv64-unknown-elf与riscv64-linux-gnu)的区别,是正确选择安装目标的前提。该工具链广泛应用于嵌入式裸机开发、RTOS移植、QEMU模拟运行和RISC-V Linux用 阅读详情

相关推荐

RISCV学习(2)玄铁C910处理器体验

LicheePi 4A 是基于 Lichee Module 4A 核心板的 高性能 RISC-V Linux 开发板。

张一西的博客 2695

qemu 运行 riscv 内核失败记录

https://risc-v-getting-started-guide.readthedocs.io/en/latest/linux-qemu.html [longyu@debian-10:20:59:52] busybox-1.30.1 $ file ./busybox ./busybox: ELF 64-bit LSB executable, UCB RISC-V, version 1 (SYSV), statically linked, for GNU/Linux 5.4.0, stripped [

龙瑜的博客 5789

IMU预积分【SLAM】

预积分的推导过程比较多,所以这里只记录关键结论。 其实这些公式不太好记忆,因为预积分推导过程的想法来源很巧妙,无法看出物理意义。一切推导的来源: 最好记忆的旋转相对运动量: △Rij≐RiTRj=∏k=ij−1Exp((ω~k−bg,k−ηgd,k)△t)\triangle R_{ij} \doteq R_{i}^{T}R_{j} = \prod_{k=i}^{j-1}Exp((\tilde{\omega}_{k}-b_{g,k}-\eta_{gd,k})\triangle t) △Rij​≐RiT​Rj​

Tong_1024_的博客 1369

ubuntu20.04使用binfmt透明执行riscv64程序

【代码】ubuntu20.04使用binfmt透明执行riscv64程序。

omnibots的博客 645

超声信号处理——硬件电路中的混频应用

本文介绍了超声多普勒系统的信号处理原理。系统通过波形振荡器产生高频信号,经换能器转换为超声波发射,接收反射信号后与原始信号混频,利用三角函数的积化和差特性产生包含多普勒频移的低频差频信号和高频和频信号。通过低通滤波器滤除高频成分后,即可获得纯净的多普勒信号。这种处理方法将MHz级高频信号转换为可听低频信号,降低了系统复杂度与成本。数学推导表明,差频信号频率正好

fcxgfdjy的博客 1123

STM32 FATFS文件系统按行读取SD卡数据

STM32 SD数据实现按行读取

qq_32216815的博客 7824

Could not open ‘/lib/ld-linux-aarch64.so.1‘: No such file or directory【docker前端开发环境】

https://www.cnblogs.com/savorboard/p/bash-guide.html#file-operations

fantastic的博客 8862

Pointnet++改进91:2025最新改进模块-RepMBConv模块

本文提出了一种改进PointNet++网络的方法,通过在特征提取模块中引入RepMBConv结构来提升模型性能。主要内容包括:1)理论部分介绍了RepMBConv的设计原理,包含自监督学习框架、动态上下文建模等创新点;2)详细给出了三步修改步骤:创建包含RepMBConv的Python模块、在pointnet2_utils.py中添加注意力机制、修改pointnet2_sem_seg.py主网络结构;3)代码实现展示了如何将RepMBConv集成到PointNetSetAbstraction模块中,形成Po

AIcurator的博客 274

qemu-x86_64: Could not open ‘/lib/ld-musl-x86_64.so.1‘: No such file or directory

因此如果您可以选择从 ARM64 映像开始,并且可以在构建期间在容器内编译任何您无法安装为 ARM64 二进制文件的软件。在基于 M1 的 Mac 上运行容器时, ARM64 CPU 上被模拟为 x86_64。在Dockerfile中From中添加 --platform=linux/amd64。如果你有其他方案请留言。

陈万洲的专栏 1753

用ChatGPT 5.5掌握SCI的4个实操润色技巧,论文质量极速提升!(附提示词)

ChatGPT 5.5的发布,在学术写作中的应用变得更加精准和安全,通过正确的使用方法,不仅可以改善语法与表达,让论文达到SCI发表水准,还能最大程度保留作者原意,将AIGC检测率控制在低风险区间。可以帮大家省下大量纠结语法、梳理逻辑的时间,在保证润色质量的同时,兼顾AIGC检测的合规要求,为论文投稿成功率提供实实在在的提升。通过智能调整语序、优化用词和句式结构,该方法能够在保留学术质感的同时,使文章表达更自然、贴近人工撰写的风格,从而避免文字过于程式化,提升论文整体可读性和表达的个性化特征。

智能AI让学术科研更容易 64

医疗AI多智能体资源调度:用Python构建高性能MCU资源池

本文介绍了医疗AI服务平台中多智能体资源争用问题的解决方案。作者设计了一个基于MCU(多点控制单元)理念的中央资源调度器,通过三层架构(资源抽象层、调度策略层、执行控制层)实现对GPU、API、数据库等医疗资源的统一管理。系统采用增强版信号量机制处理可计数并发资源,优化令牌桶算法管理速率资源,并支持急诊优先、配额限制、审计合规等医疗场景特殊需求。核心代码提供了带优先级抢占的并发控制和医疗专用令牌桶实现,可有效解决多智能体资源争用导致的优先级混乱、资源利用不均等问题。

AllenLV的博客 3213

MIT 6.S081工具链必须自编译的底层原理与实操指南

RISC-V工具链并非即插即用的黑盒,而是由Binutils、GCC、GDB和Newlib构成的强耦合系统,其核心在于ABI兼容性、指令集支持与调试语义对齐。理解工具链各组件如何协同解析ELF、生成机器码、捕获CSR寄存器(如sepc)并支撑ecall系统调用调试,是操作系统开发的基础能力。在XV6等裸机环境中,预编译包因版本错位常导致gdb无法读取陷阱寄存器、printf参数传递错乱或链接重定位失败——这些问题本质是工具链与内核‘数字孪生’关系的断裂。本文聚焦RISC-V嵌入式开发中最具代表性的教学场景,

weixin_33875564的博客 332

SimSwap复现指引及代码分析【2023有更新】

我的环境!!!😚😚😚 之后会遇到:还会遇到至此环境配置完毕!下面是所需要的checkpoint。至此环境准备结束。先试试环境是否有问题,图片是代码包中给的。我用的是512的checkpoint,无水印,a是源脸,b是目标脸。输出到./output/result_whole_swapsingle.jpg 如图是可以成功换脸的:(为了方便查看将图像裁剪到了128x128) 表示图像预处理,相应的改为也是一样。不加就是对已经面部对齐的图像进行简单的面部交换。 加上就是无水印。 交换一张图片中的所有面孔。

zik的博客 2047

Pony 0.51.2 发布解析:构造表达式自动恢复、RISC-V 支持与运行时统计跟踪

> 本文基于 Pony 编译器(ponyc)仓库的版本发布说明 [.release-notes/0.51.2.md](https://link.gitcode.com/i/32692289a7cac50902a3b8f6d8b02805) 编写,结合 [src/libponyc](https://link.gitcode.com/i/c7e98186c6c140d1dfa9b2f8b8cf4cb3

gitblog_00659的博客 1024

【JAVA】海康威视门禁机ISAPI接口开发,人脸上传更新接口

本文实现了一个HTTP工具类HTTPClientUtil,提供GET/POST/PUT/DELETE请求方法,支持摘要认证。工具类封装了Apache HttpClient,设置连接超时、最大连接数等参数,通过DeviceInfoDTO传递设备IP、端口和认证信息。文中还展示了两个应用示例:userInfoAdd()用于添加人员信息,FaceDataRecordAdd()用于添加人脸数据,均通过POST请求与设备ISAPI接口交互。该工具类简化了HTTP请求处理,支持设备管理系统的集成开发。

qq_27246521的博客 587

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

LLVM项目深度解析:模块化架构、IR设计与RISC-V工具链实战

LLVM是一个以中间表示(IR)为核心的模块化编译器基础设施,其静态单赋值(SSA)形式的IR设计实现了跨语言、跨架构的统一优化基础。它并非传统意义上的编译器,而是提供可复用的前端、优化器、后端和链接器组件,支撑C/C++、Rust、Zig等多种语言的高效代码生成。技术价值在于解耦——Clang负责语法解析,LLVM Core专注IR变换与优化,Lld实现高性能链接,Compiler-RT提供运行时安全能力。典型应用场景包括嵌入式RISC-V工具链构建、AI算子编译、二进制安全分析及GPU着色器优化。本文围

weixin_33966095的博客 293

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

qemu /lib/ld-linux-aarch64.so.1: No such file or directory

qemu user-space emulation 在使用 qemu 进行用户态模拟 aarch64 或其他平台的程序时,如果是动态链接的,会遇到下面两个错误。 /lib/ld-linux-aarch64.so.1: No such file or directory error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory 提示找不到相应的动态链接库。

深空深蓝的博客 2万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

解决不同架构的ELF在linux上运行报错的问题

如果不可以运行就去下载对应的gcc编译器它会将libc文件也下载下来,再将libc文件复制到目标目录就可以运行了!下载好的编译器都在这个目录:/usr/

一个啥也不会的小菜鸡! 1521

m1芯片 遇到 /lib64/ld-linux-x86-64.so.2: No such file or directory 报错

mac m1芯片,安装java环境报错

liangliang233的博客 2790

qemu执行ELF文件时加载器的路径问题

QEMU执行ELF文件时,找不到加载器路径的问题

Book_liuguang的博客 547

ubuntu的aarch64版本上安装anaconda

问题背景:今天在基于docker安装的ubuntu18-04的版本上想要安装anaconda,但是出现了问题,发现ubuntu的版本18-04对应的是aarch64,因此记录安装方法。

DanielSmith 2675

linux目录误删文件 /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory

bash: /usr/bin/ls: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory

soledad1030的专栏 4817

macbook m1 docker中使用go

但是,执行 go version时会报错:qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory。已经有一个centos8的镜像,本来打算在centos8中安装go。

大菜菜的博客 1101

ld-linux.so.2 (No such file or directory)的解决方法

原因:是因为64位系统中安装了32位程序解决方法:   yum install glibc.i686  重新安装以后还有如下类系错误再继续安装包  error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory  yum install l...

大熊03150的博客 1万+

学习开发一个RISC-V上的操作系统(汪辰老师) — 环境配置

学习开发一个RISC-V上的操作系统(汪辰老师) — 环境配置

在嵌入式嵌入式领域奋斗的程序猿的博客 1396

linux错误解决记录_安装

1 pi@raspbian:~/src$ sudo apt install git E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable) E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it? 这个错误是系统连接的是局域网

Tlwhisper的博客 4436
上一篇: 插件 图片取模软件 支持16位数组 Bmp2RGB
下一篇: 嵌入式学习资源跳转链接
嵌入一下?
博客等级 码龄6年 324粉丝 66原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入一下?

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值