配置MIT6.S081环境

news2025/1/18 6:12:26

配置环境

  • 1实现环境
  • 2更换源
  • 3.安装RISC-V交叉编译工具
  • 4.安装QEMU
  • 5.检测安装
  • 6.下载源码
  • 7.检查调试工具
  • 8.安装vim
  • 9.进行初步调试

1实现环境

  • 虚拟机(我用的VMware Workstation Pro)
  • Ubantu20.04
  • 安装QEMU

注意必须使用ubuntu20.04版本,因为后面安装RISC-V交叉编译工具时,某个文件只有ubuntu20.04才有镜像源

2更换源

#2.1 首先备份源列表
sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup

#2.2 打开sources.list文件
sudo gedit /etc/apt/sources.list

#2.3
#中科大源
deb https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse

#添加阿里源
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

#添加清华源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse multiverse

#2.4刷新列表
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential

3.安装RISC-V交叉编译工具

sudo apt install git build-essential gdb-multiarch qemu-system-misc gcc-riscv64-linux-gnu binutils-riscv64-linux-gnu libglib2.0-dev libpixman-1-dev gcc-riscv64-unknown-elf 

4.安装QEMU

在主目录下安装qemu

wget https://download.qemu.org/qemu-5.1.0.tar.xz

tar xvf qemu-5.1.0.tar.xz

cd qemu-5.1.0

./configure --disable-kvm --disable-werror --prefix=/usr/local --target-list="riscv64-softmmu"

make

sudo make install

5.检测安装

riscv64-unknown-elf-gcc --version

预期:riscv64-unknown-elf-gcc (GCC) 10.1.0

qemu-system-riscv64 --version

预期:QEMU emulator version 5.1.0

6.下载源码

git clone git://g.csail.mit.edu/xv6-labs-2020
cd xv6-labs-2020
git checkout util


预期:
Branch 'util' set up to track remote branch 'util' from 'origin'.
      Switched to a new branch 'util'

#在项目目录下编译
make
make qemu
ls

#ctrl+a再按x退出qemu 

7.检查调试工具

需要开启两个窗口,都是在xv6源码目录下

1.make qemu-gdb

make CPUS=1 qemu-gdb
sed "s/:1234/:26000/" < .gdbinit.tmpl-riscv > .gdbinit

如果第一次使用则需要在终端添加(具体的不记得了,在主目录和xv6目录下都添加下面代码则没错)

echo set auto-load safe-path / >> ~/.gdbinit

2.gdb-multiarch

gdb-multiarch -q kernel/kernel

8.安装vim

为了便于调试,则安装vim并配置vim

sudo apt install vim


#Vim配置
sudo vim /etc/vim/vimrc

##常用配置(其余配置可自行查找)
 
set ai                    自动缩进,与上一行保持一致的自动空格
set ic                    在查询模型与匹配模式下忽略大小写
set number                左侧显示行号
set showmatch             显示括号配对,并高亮显示相匹配的括号
set showmode              文本输入模型下,加亮显示模式指示器
set showcmd               在状态栏显示所执行的指令,未完成的指令片段
set warn                  长行显示自动折行
set cindent               以C/C++模式缩进
set ruler                 打开状态栏标尺
set scrolloff=6           设置光标离窗口上下6行时窗口自动滚动
set tabstop=4             设置Tab长度为4
set wrap                  自动换行显示
syntax enable
syntax on                 自动语法高亮


#常用命令
##打开文件
vim [文件路径]/[文件名]
 
##打开并有编辑权限
sudo vim [文件路径]/[文件名]

9.进行初步调试

在xv6目录下打开两个窗口后,用vim打开对应的文件,则可以进行调试。
调试界面

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

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

相关文章

Webpack打包图片-JS-Vue

1 Webpack打包图片 2 Webpack打包JS代码 3 Babel和babel-loader 5 resolve模块解析 4 Webpack打包Vue webpack5打包 的过程&#xff1a; 在webpack的配置文件里面编写rules&#xff0c;type类型有多种&#xff0c;每个都有自己的作用&#xff0c;想要把小内存的图片转成bas…

华为OD机试之不含101的整数(Java源码)

不含101的数 题目描述 小明在学习二进制时&#xff0c;发现了一类不含 101的数&#xff0c;也就是&#xff1a; 将数字用二进制表示&#xff0c;不能出现 101 。 现在给定一个整数区间 [l,r] &#xff0c;请问这个区间包含了多少个二进制不含 101 的整数&#xff1f; 输入描述…

WalkRE--刷图流程(超具体)

1、打开WalkRE软件&#xff0c;界面如下&#xff1a; 2、选择“根据模板新建工程”。操作如下&#xff1a; 3、导入数据。需要入准备好的dxf格式的CAD地形数据。操作如下&#xff1a; 在空白处右键&#xff0c;先关闭所有层&#xff08;大部分层在刷图时用不上&#xff0c;仅打…

自动化测试2:selenium常用API

目录 1.webdirver API 1.1.定位元素 1.2CSS 1.语法 2,使用 1.3XPath定位 1.语法 2.使用 2.操作测试对象 2.1.鼠标点击与键盘输入 2.2submit 提交表单 2.3text 获取元素文本 3.添加等待 3.1.sleep休眠 3.2.智能等待 3.2.1.隐式等待 3.2.2显示等待 4.打印信息 …

web前端 --- CSS(04) -- 盒子模型、div+css网页布局、css3新特性

盒子模型 &#xff08;1&#xff09;网页标签分类&#xff1a; 行内元素&#xff1a;块级元素&#xff1a;有宽高&#xff0c;可以设置大小&#xff0c;同时不会让其他块元素默认占据当前行 &#xff08;2&#xff09;内边距&#xff1a; 内容和边线之间存在空白区域&#x…

路径规划算法:基于猫群优化的路径规划算法- 附代码

路径规划算法&#xff1a;基于猫群优化的路径规划算法- 附代码 文章目录 路径规划算法&#xff1a;基于猫群优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要&#xff1a;本文主要介绍利用智能优化算法猫群…

数据库基础——3.SQL概述及规范

这篇文章我们来讲一下SQL概述和使用规范 目录 1.SQL概述 1.1SQL背景 1.2 SQL语言排行榜 1.3 SQL分类 2.SQL规则与规范 2.1基本规则 2.2 SQL大小写规范 &#xff08;建议遵守&#xff09; 2.3 注 释 2.4 命名规则&#xff08;暂时了解&#xff09; 2.5 数据导入指令 1…

【硬件】嵌入式电子设计基础之数字电路

数字电路与模拟电路的设计思想和应用方法有许多不同之处。 计算器是一个典型的由数字电路实现的电子设备&#xff0c;用户通过数字或符号摁键输入运算式&#xff0c;计算器经过运算之后把结果显示在屏幕上。现代数学电子学始于1946年&#xff0c;其标志是一台以电子管为核心器件…

奥地利博士联培申请签证经验(奥地利签证)

记录一下奥地利申请签证经验&#xff0c;供有需要的小伙伴借鉴&#xff1a; 我申请的是去克拉根福大学联合培养一年&#xff0c;正常的居留签证需要半年之久&#xff0c;但是如果有托管协议&#xff08;Hosting Agreement&#xff09;可以先申请D类签证&#xff0c;抵达奥地利再…

Shell脚本攻略:循环语句for

目录 一、理论 1.for循环 二、实验 1.实验一 2.实验二 3.实验三 4.实验四 5.实验五 6.实验六 7.实验七 一、理论 1.for循环 &#xff08;1&#xff09;for循环的常见三种用法 Ubuntu系统在6.10版本后默认使用dash环境&#xff1b; 而CentOS系统常见默认使用的是ba…

00后是真卷不过,工作没两年,跳槽到我们公司起薪22K都快接近我了

在程序员职场上&#xff0c;什么样的人最让人反感呢? 是技术不好的人吗?并不是。技术不好的同事&#xff0c;我们可以帮他。 是技术太强的人吗?也不是。技术很强的同事&#xff0c;可遇不可求&#xff0c;向他学习还来不及呢。 真正让人反感的&#xff0c;是技术平平&…

C++搜索二叉树

一、搜索二叉树概念 搜索二叉树是一种树形结构&#xff0c;常用于map当中。搜索二叉树严格遵守左小右大的规则 C语言中实现搜索二叉树有一些困难&#xff0c;并且在面对一些特定题目实现较困难。因此采用C的方式再次实现搜索二叉树 二、搜索二叉树的实现 插入 搜索二叉树在…

ASEMI代理长电可控硅BT136参数,BT136规格,BT136说明

编辑-Z 长电可控硅BT136参数&#xff1a; 型号&#xff1a;BT136 RMS通态电流IT(RMS)&#xff1a;6A 非重复浪涌峰值导通电流ITSM&#xff1a;25A 峰值栅极电流IGM&#xff1a;2A 平均栅极功耗PG(AV)&#xff1a;0.5W 存储接点温度范围Tstg&#xff1a;-40 to 150℃ 工…

Linux -- 进阶 Web服务器 搭建基于 https 协议的静态网站 ( 预备知识 )

概念引入 &#xff1a; 什么是 HTTPS ? HTTPS 协议背景 &#xff1f; >>> HTTP 协议 即 超文本传输协议 &#xff0c; 它出生的很早&#xff0c;在早期&#xff0c;网络服务的相关攻击呢&#xff0c;或者病毒啥的几乎没有&#xff0c;安全类的问 题也是少之又…

【SpringCloud】Gateway网关

文章目录 1、网关的作用2、搭建网关服务3、路由断言4、GatewayFilter5、全局过滤器6、过滤器的执行顺序7、限流过滤器8、跨域问题处理 1、网关的作用 服务就像一个景点&#xff0c;如果人人可以访问&#xff0c;不管是游客还是搞破坏的人都放进来&#xff0c;那一定出事。由此…

零基础去学习渗透,很难吗?

前言&#xff1a; 很多朋友问我&#xff0c;想搞网络安全&#xff0c;编程重要吗&#xff0c;选什么语言呢&#xff1f; 国内其实正经开设网络安全专业的学校很少&#xff0c;大部分同学是来自计算机科学、网络工程、软件工程专业的&#xff0c;甚至很多非计算机专业自学的。…

抖音seo源码开发|矩阵号排名|账号矩阵系统开发搭建

源码展示 抖音seo又叫抖音搜索引擎&#xff0c;只要能做到布词&#xff0c;和过去的百度seo优化一样&#xff0c;布词&#xff0c;布关键词&#xff0c;当搜索栏搜索时可以搜索到该短视频。优化视频关键词&#xff0c;做好关键词的优化&#xff0c;就能在别人抖音搜索栏搜索的时…

C++数据结构:Python风格双向链表Pylist的实现

文章目录 前言一、目的二、代码详解1、Node类模板2、Pylist类构造3、内嵌迭代器4、Python风格insert方法5、Python风格append方法6、Python风格[]下标操作方法7、Python风格、 方法8、Python风格pop方法9、Python风格remove方法10、length、get方法 三、使用示例总结原创文章&a…

算法基础学习笔记——⑨C++STL使用技巧

✨博主&#xff1a;命运之光 ✨专栏&#xff1a;算法基础学习 目录 ✨CSTL简介 ✨CSTL使用技巧 前言&#xff1a;算法学习笔记记录日常分享&#xff0c;需要的看哈O(∩_∩)O&#xff0c;感谢大家的支持&#xff01; ✨CSTL简介 vector变长数组&#xff0c;倍增的思想//系统为…

六级备考24天|CET-6|翻译技巧4-1|翻译红楼梦|22:40~23:40

目录 1 ANSWER 2 PRACTICE ANSWER ​ 3​ PRACTICE ANSWER 合并 ​ 全文翻译​ 1 ANSWER depict / dɪˈpɪkt / v.描述&#xff0c;描绘 第三人称单数 depicts 现在分词 depicting 过去式 depicted 过去分词 …