x86上运行LoongArch的环境

很多朋友只有x86的系统,因为我们上学时代和工作机大部分都x86系统。loongson推出LoongArch指令集后,也想尝尝鲜或者作为一个开发者又不想买新的机器,此时就可以用到我下边为大家介绍的方法。

此处也给大家提供一个debian社区发布的官方的文档:

debian社区发布:LoongArch/sbuildQEMU - Debian Wiki

也可以参考我为大家已经整理好的资料 GitHub - loongson-zn/qemu-debian

如果你翻墙困难,我将整理的readme粘贴到此处:

  • 宿主机环境

 架      构:x86_64

系统环境:debian bookworm 

具体操作步骤:

  • 安装qemu-user
root@debian:~# apt install binfmt-support
root@debian:~# apt build-dep qemu-user-static
root@debian:~# git clone https://github.com/qemu/qemu.git
root@debian:~# cd qemu
root@debian:~/qemu# ./configure --static --disable-system --target-list=loongarch64-linux-user
root@debian:~/qemu# make
root@debian:~/qemu# cp build/loongarch64-linux-user/qemu-loongarch64 /usr/bin/qemu-loongarch64-static
root@debian:~/qemu# cat >/tmp/qemu-loongarch64 <<EOF
package qemu-user-static
type magic
offset 0
magic \x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02\x01                    
mask \xff\xff\xff\xff\xff\xff\xff\xfc\x00\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff
interpreter /usr/bin/qemu-loongarch64-static
EOFroot@debian:~/qemu# update-binfmts --import /tmp/qemu-loongarch64 
  • 制作LA最小镜像
root@debian:~# apt install debootstrap sbuild debian-ports-archive-keyring
root@debian:~# debootstrap --foreign --arch=loong64 --variant=buildd --include=debian-ports-archive-keyring --verbose --components=main --keyring=/etc/apt/trusted.gpg.d/debian-ports-archive-2023.gpg --resolve-deps --extra-suites=unreleased unstable /srv/chroots/sid-loong64-sbuild/ http://ftp.ports.debian.org/debian-ports
root@debian:~# cd /srv/chroots/sid-loong64-sbuild/
root@debian:/srv/chroots/sid-loong64-sbuild# cp /usr/bin/qemu-loongarch64-static usr/bin/
root@debian:/srv/chroots/sid-loong64-sbuild# chroot .
I have no name!@loongson01:/# /debootstrap/debootstrap --second-stage
  • 准备gcc编译器(我提供的gcc及qemu是支持lasx及lsx向量的,如果不需要,用debian仓库安装即可)
git clone https://github.com/loongson-zn/qemu-debian.git
cd qemu-debian/gcc_13.2.0-7.1_nodbg
apt install ./*
apt install gcc gfortran
mount -t proc proc proc
mount -t sysfs sys sys
mount -t devtmpfs dev dev 
mount -t devpts devpts dev/pts 
mount -t tmpfs shmfs dev/shm

写这篇博客是在2023.12.15,LA还处于正在推进debian社区 的阶段,此时的地址为:

#root@loongson01:~# cat /srv/chroots/sid-loong64-sbuild/etc/apt/sources.list     
# binary default
deb http://ftp.ports.debian.org/debian-ports unstable main 
deb http://ftp.ports.debian.org/debian-ports unreleased main

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

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

相关文章

QT笔记(节选)具体图片等下载资源

QT笔记&#xff08;节选&#xff09;具体图片等下载资源 根据b站视频做的笔记&#xff1a; https://www.bilibili.com/video/BV1g4411H78N?p44&spm_id_frompageDriver&vd_sourcea3e6a48ccd3d7d1f969f662653ed68c9 qt是一个跨平台的c图形用户界面应用程序框架&#x…

js获取浏览器指纹

需要移入crypto-js-4.0.0.min.js 官方文档&#xff1a;https://cryptojs.gitbook.io/docs/ github&#xff1a;https://github.com/brix/crypto-js finger: function () {// 获取浏览器 User Agent 信息var userAgent navigator.userAgent;// 获取浏览器 Accept Headers 信息…

Linux 命令

记录一下用到的很有用的Linux 命令&#xff1a; grep指定内容并显示前后若干行 grep -A 10 ‘xxx’ test.log //打印匹配行的后10行 grep -B 10 ‘xxx’ test.log//打印匹配行的前10行 grep -10 ‘xxx’ test.log//打印匹配行的前后10行 或 grep -C 10 ‘xxx’ test.log//打印…

【最新版】PyCharm基础调试功能详解

文章目录 一、断点1. 断点的类型a. 行断点b. 异常断点 2. 设置断点a. 设置行断点b. 设置异常断点 3. 管理断点a. 删除断点b. 将断点静音 二、调试功能0. 测试代码1. 设置断点2. 调试的多种启动方式3. 观察调试控制台a. 步过b. 步入c. 单步执行代码d. 步出e. 运行到光标处f. 重新…

LVS简介及LVS-NAT负载均衡群集的搭建

目录 LVS群集简介 群集的含义和应用场景 性能扩展方式 群集的分类 负载均衡&#xff08;LB&#xff09; 高可用&#xff08;HA&#xff09; 高性能运算&#xff08;HPC&#xff09; LVS的三种工作模式 NAT 地址转换 TUN IP隧道 IP Tunnel DR 直接路由 Direct Rout…

【fabrc.js】 操作鼠标自由绘制图形:矩形、圆形、直线等图形【画图功能】

前言&#xff1a; 在图形编辑器类型的项目当中&#xff0c;通过键盘触发想要绘制的图形类型&#xff0c;然后通过鼠标在fabric画布上自由绘制你想需要的内容。从画基本的矩形、圆形、直线、文本、三角形、折线等功能中&#xff0c;可以扩展出“钢笔path贝塞尔路径”、“多图形组…

Leaflet.Graticule源码分析以及经纬度汉化展示

目录 前言 一、源码分析 1、类图设计 2、时序调用 3、调用说明 二、经纬度汉化 1、改造前 2、汉化 3、改造效果 总结 前言 在之前的博客基于Leaflet的Webgis经纬网格生成实践中&#xff0c;已经深入介绍了Leaflet.Graticule的实际使用方法和进行了简单的源码分析。认…

鸿蒙小车之多任务调度实验

说到鸿蒙我们都会想到华为mate60&#xff1a;遥遥领先&#xff01;我们一直领先&#xff01; 我们这个小车也是采用的是鸿蒙操作系统&#xff0c;学习鸿蒙小车&#xff0c;让你遥遥领先于你的同学。 文章目录 前言一、什么是任务&#xff1f;为什么要有任务二、任务的状态三、任…

AI影响谷歌正在推出新的人工智能模型,用于医疗保健。以下是医生如何使用它们的介绍

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

FreeSWITCH rtp endpoint recvonly

查了下rtp.c的源码&#xff0c;远端端口为0就意味着recvonly&#xff0c;但其实不然&#xff0c;调用switch_rtp_new会马上返回失败 经过反复测试&#xff0c;增加下面几行代码之后终于变成了recvonly: tech_pvt->mode RTP_RECVONLY; rtp_flags[SWITCH_RTP_FLAG_AUTOADJ];…

flutter Pageview组件

PageView组件说明 组件说明PageView&#xff0c;PageController的源码简单demo 组件说明 属性说明scrollDirection滑动反向 Axis.vertical上下滑动 Axis.horizontal左右滑动reverse是否反转 true从最后一个记0controllerPageController见下文physics滚动方式pageSnapping是否有…

ad23如何分层打印SCH、PCB的pdf文件

执行快捷键F --> M --> N --> N --> 选择所需的SCH和PCB --> Next --> Export a Bill of Materials&#xff08;勾选会打印物料清单&#xff09; --> Next --> 空白区右键 --> Create Final --> YES --> 可以根据层进行输出 --> 根据需要删…

彻底搞清楚多线程编程

很多时候在主线程中运行的程序需要一个while true&#xff0c;但是这样会导致程序整体上非常庞大&#xff0c;引入多线程来减少主线程的内容&#xff0c;同时也能顺利的实现功能&#xff0c;还有一个问题在于多线程还可以一定程度上减少全局变量&#xff08;但是也是需要反复运…

Python 自动化之收发邮件(二)

发邮件之Windows进程监控 文章目录 发邮件之Windows进程监控前言一、基本内容二、基本结构三、库模块四、函数模块1.进程监控2.邮件发送 五、程序运行模块1.获取时间2.用户输入3.进程监控3.1进程启动发邮件3.2进程停止发邮件 总结 前言 上一篇简单写了一下如何进行邮件的收发操…

如何正确理解和使用 Golang 中 nil ?

目录 指针中的 nil 切片中的 nil map 中的 nil 通道中的 nil 函数中的 nil 接口中的 nil 避免 nil 相关问题的最佳实践 小结 在 Golang 中&#xff0c;nil 是一个预定义的标识符&#xff0c;在不同的上下文环境中有不同的含义&#xff0c;但通常表示“无”、“空”或“…

LeetCode 2415. 反转二叉树的奇数层:深度优先搜索(DFS)

【LetMeFly】2415.反转二叉树的奇数层&#xff1a;深度优先搜索(DFS) 力扣题目链接&#xff1a;https://leetcode.cn/problems/reverse-odd-levels-of-binary-tree/ 给你一棵 完美 二叉树的根节点 root &#xff0c;请你反转这棵树中每个 奇数 层的节点值。 例如&#xff0c…

部署LVS的NET模式

实验准备 #负载调度器# 192.168.116.40 #内网 12.0.0.100 #外网 先添加双网卡 #web服务器# 192.168.116.20 #web1 192.168.116.30 #web2 #nfs共享服务# 192.168.116.10 #nfs systemctl stop firewalld setenforce 0 1.nfs共享文件 1…

Axure元件库的介绍以及个人简介和登录界面案例展示

目录 一. 元件介绍 二. 基本元件的使用 2.1 形状元件 2.2 图片元件 2.3 占位符 2.4 文本 2.5 线段元件 2.6 热区文件 三. 表单元件的使用 3.1 文本框 3.2 文本域 3.3 下拉列表 3.4 列表框 3.5 复选框 3.6 单选按钮 四. 菜单与表格元件的使用 4.1 树 4.2 表格…

Cmake基础(1)

什么是cmake 众所周知&#xff0c;对于C/C&#xff0c;不同的IDE的project文件是不同的&#xff0c;VS中叫做vcproject。在linux中make工具叫做makefile&#xff0c;codeblock中叫做cpb。而cmake是一个通用的project组织方式&#xff0c;cmake的项目文件cmakelists.txt可以转成…

持续集成交付CICD:GitLabCI操作Harbor仓库

目录 一、实验 1.GitLabCI操作Harbor仓库 二、问题 1.gitlab-runner连接docker daemon报错 一、实验 1.GitLabCI操作Harbor仓库 &#xff08;1&#xff09;修改GitLabCI共享库代码并提交到mater CI.yaml .pipelineInit:tags:- buildstage: .prevariables:GIT_CHECKOUT: …