MIT6.S081学习——一、环境搭建、资料搜集

news2024/11/6 8:15:26

MIT6.S081学习——一、环境搭建、资料搜集

  • 1、环境准备
  • 2、资料搜集
  • 2、环境搭建
    • 2.1 Linux环境准备
    • 2.2 环境搭建
      • 2.2.1 根据官网指导代码进行相关工具的安装
      • 2.2.2 下载并且编译QEMU
  • 3、VSCode远程连接Ubuntu
    • 3.1 安装remote-ssh
      • 3.1.1 安装插件
      • 3.1.2 配置config文件
    • 3.2 Ubuntu安装SSH
      • 3.2.1 安装SSH
      • 3.2.2 配置SSH
  • 3、远程VSCode连接Ubuntu

1、环境准备

  • MIT6.S081(2020版本)
  • Windows10
  • VMware Workstation
  • Ubuntu20.04
    2020版的081完整资料较多,同时Ubuntu20.04版本环境较好配置

2、资料搜集

1、MIT6.S081(2020版)
2、lab中文教程网站
3、中文教程MIT6.S081
4、教学视频翻译网站
6、博主讲解B站视频
7、xv6中文翻译-riscv-book-Chinese
10、GitHub仓库 - duguosheng/6.S081-All-in-one: 6.S081课程全记录,包括课程使用的书籍、论文、实验要求的中文翻译,以及实验过程记录

看这些资料中提到的最多的一句话就是

在做出Lab之前,不要看别人的源码和解答,反复阅读课本及课程资料,努力写每一行代码

2、环境搭建

2.1 Linux环境准备

  • 在Windows中安装VMware Workstation
  • 在VMware Workstation中安装Ubuntu20.04

2.2 环境搭建

  • 参考连接
    课程官网指导
    网友指导

2.2.1 根据官网指导代码进行相关工具的安装

sudo apt-get install git build-essential gdb-multiarch qemu-system-misc gcc-riscv64-linux-gnu binutils-riscv64-linux-gnu

在这里插入图片描述在这里插入图片描述

sudo apt-get remove qemu-system-misc

在这里插入图片描述

sudo apt-get install qemu-system-misc=1:4.2-3ubuntu6
//最开始用的ubuntu18.04版本找不到这个版本,推荐使用ubuntu20.04版本

在这里插入图片描述

//检查上述安装的工具是否安装成功
riscv64-unknown-elf-gcc --version

在这里插入图片描述

//没有找到命令,根据上述代码提到的解决办法解决
sudo apt install gcc-riscv64-unknown-elf

在这里插入图片描述

//再次检查,出现9.3.0,说明安装正确
riscv64-unknown-elf-gcc --version

在这里插入图片描述

//检查qemu安装,出现1:4.2-3ubuntu6说明安装正确
qemu-system-riscv64 --version

在这里插入图片描述

2.2.2 下载并且编译QEMU

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

在这里插入图片描述

cd xv6-labs-2020

在这里插入图片描述

git checkout util

在这里插入图片描述

make qemu

在这里插入图片描述在这里插入图片描述

若想退出QEMU,先按Ctrl+a,再按x即可。

在这里插入图片描述

3、VSCode远程连接Ubuntu

3.1 安装remote-ssh

3.1.1 安装插件

在这里插入图片描述

3.1.2 配置config文件

在这里插入图片描述

3.2 Ubuntu安装SSH

网友指导

3.2.1 安装SSH

//安装SSH
sudo apt-get install openssh-server

在这里插入图片描述

//检查是否安装了SSH
ssh -V

在这里插入图片描述

//查看SSH服务是否已经启动,如果查询结果中已经有了sshd信息,那么说明SSH服务已经正常启动
sudo ps -e |grep ssh

在这里插入图片描述

//如果没有ssh的信息的话,我们可以启动SSH服务
sudo service ssh start

3.2.2 配置SSH

  • 启动之后还需要进行ssh服务的配置使我们能够远程登录
  • SSH服务的配置文件在/etc/ssh/sshd_config下
//修改一:把配置文件中的"PermitRootLogin without-password“前面加一个”#“号,把它注释掉

在这里插入图片描述

//修改二:增加一句”PermitRootLogin yes"(增加sudo权限)

在这里插入图片描述

//保存,退出。重启ssh服务:
/etc/init.d/ssh restart

在这里插入图片描述

3、远程VSCode连接Ubuntu

  • 配置好config文件后,点击“远程”后面的刷新按钮,可以刷新出最新的连接配置
    在这里插入图片描述
    在这里插入图片描述

网友指导连接不上问题
visual studio code could not establish connection to *: XHR failed

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

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

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

相关文章

springcloud:2.OpenFeign 详细讲解

OpenFeign 是一个基于 Netflix 的 Feign 库进行扩展的工具,它简化了开发人员在微服务架构中进行服务间通信的流程,使得编写和维护 RESTful API 客户端变得更加简单和高效。作为一种声明式的 HTTP 客户端,OpenFeign 提供了直观的注解驱动方式,使得开发人员可以轻松定义和调用…

Redis突现拒绝连接问题处理总结

一、问题回顾 项目突然报异常 [INFO] 2024-02-20 10:09:43.116 i.l.core.protocol.ConnectionWatchdog [171]: Reconnecting, last destination was 192.168.0.231:6379 [WARN] 2024-02-20 10:09:43.120 i.l.core.protocol.ConnectionWatchdog [151]: Cannot reconnect…

win32 汇编读文件

做了2个小程序,没有读成功;文件打开了; .386.model flat, stdcalloption casemap :noneinclude windows.inc include user32.inc includelib user32.lib include kernel32.inc includelib kernel32.lib include Comdlg32.inc includelib …

Pormise---如何解决javascript中回调的信任问题?【详解】

如果阅读有疑问的话,欢迎评论或私信!! 本人会很热心的阐述自己的想法!谢谢!!! 文章目录 回调中的信任问题回调给我们带来的烦恼?调用过早调用过晚调用的次数太少或太多调用回调时未能…

数据结构之链表经典算法QJ题目

目录 单链表经典算法题目1. 单链表相关经典算法OJ题:移除链表元素思路一:思路二: 2. 单链表相关经典算法QI题:链表的中间节点思路一思路二 3. 单链表相关经典算法QJ题:反转链表思路一思路二 4. 单链表相关经典算法QJ题…

pytest 框架自动化测试

随笔记录 目录 1. 安装 2. 安装pytest 相关插件 2.1 准备阶段 2.2 安装 2.3 验证安装成功 3. pytest测试用例的运行方式 3.1 主函数模式 3.1.1 主函数执行指定文件 3.1.2 主函数执行指定模块 3.1.3 主函数执行某个文件中的某个类、方法、函数 3.1.4 主函数执行生…

学习鸿蒙背后的价值?星河版开放如何学习?

现在是2024年,华为在1月18开展了鸿蒙千帆起仪式发布会。宣布了鸿蒙星河版,并对开发者开放申请,此次发布会主要是说明了,鸿蒙已经是全栈自研底座,鸿蒙星河版本的编程语言改为ArkTS/仓颉,内核改为鸿蒙原生内核…

操作系统虚拟内存(上)

一、虚拟内存简要 1.为什么需要虚拟内存? 如果第一个程序在 2000 的位置写入一个新的值,将会擦掉第二个程序存放在相同位置上的所有内容,所以同时运行两个程序是根本行不通的,这两个程序会立刻崩溃,所以想要在这种情况下&#…

SQL 练习题目(入门级)

今天发现了一个练习SQL的网站--牛客网。里面题目挺多的,按照入门、简单、中等、困难进行了分类,可以直接在线输入SQL语句验证是否正确,并且提供了测试表的创建语句,也可以方便自己拓展练习,感觉还是很不错的一个网站&a…

OpenAI 的 GPTs 提示词泄露攻击与防护实战:防御卷(一)

前面的OpenAI DevDay活动上,GPTs技术的亮相引起了广泛关注。随着GPTs的创建权限开放给Plus用户,社区里迅速涌现了各种有趣的GPT应用,这些都是利用了Prompt提示词的灵活性。这不仅展示了技术的创新潜力,也让人们开始思考如何获取他…

Java 面向对象进阶 15 接口(黑马)

案例: 代码: Animal类代码: public abstract class Animal {private String name;private int age;public Animal() {}public Animal(String name, int age) {this.name name;this.age age;}public String getName() {return name;}public…

揭秘H5与小程序的测试奥秘!

最近接触了较多关于H5页面的测试,H5页面的测试除了业务逻辑功能测试外,其他部分的测试方法基本是可以通用的,在此对H5页面和小程序的一些通用测试方法进行总结分享给大家。 H5优势 H5可以跨平台,开发成本相对较低; H…

洛谷p1002过河卒

[NOIP2002 普及组] 过河卒 题目描述 棋盘上 A A A 点有一个过河卒,需要走到目标 B B B 点。卒行走的规则:可以向下、或者向右。同时在棋盘上 C C C 点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为…

having子句

目录 having子句 having和where的区别 Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645 现在要求查询出每个职位的名称,职位的平均工资,但是要求显示平均工资高于 200 的职位 按照职位先进行分组,同…

2000-2022年各省城乡收入差距泰尔指数数据(原始数据+计算过程+结果)

2000-2022年各省城乡收入差距泰尔指数数据(原始数据计算过程结果) 1、时间:2000-2022年 2、指标:地区、居民可支配收入(元)、农村家庭可支配(元)、城市家庭可支配(元&a…

Java线程基础知识和使用

目录 什么是线程 Java中线程的使用 线程的实现 并运行一个线程 如何为线程命名 查看当前jvm中运行的所有线程 线程池的基本使用 线程休眠 设置线程的优先级(都仅供参考) 线程的插队 线程的中断 线程的分类 线程的状态 什么是线程 线程是操…

Walmart 砸23亿美元收购 Vizio | 百能云芯

美国零售巨头沃尔玛(Walmart)宣布以 23 亿美元的价格收购智能电视品牌 Vizio,该举措旨在加速其广告业务 Walmart Connect 的增长。市场研究机构 TrendForce 看好此收购案,认为这有助于 Vizio 挑战三星的地位,成为美国第…

一个诗词网站的设计与实现

诗词网 0、前言 ​  前段时间非常喜欢诗词,又恰逢想开发一个社区类的系统,于是便有将两者结合起来的构想,说干就干,便有了诗词网(诗词社区系统)这个项目。 ​  由于是利用空闲时间进行开发&#xff0c…

更高效的构建工具-vite

更高效的构建工具-vite 前言Vite是什么Vite和webpack的比较1. 运行原理2. 使用成本 Vite的初体验 前言 首先我们要认识什么时构建工具? 企业级项目都具备什么功能呢? Typescript:如果遇到ts文件,我们需要使用tsc将typescript代码…

百度智能云分布式数据库 GaiaDB-X 与龙芯平台完成兼容认证

近日,百度智能云的分布式关系型数据库软件 V3.0 与龙芯中科技术股份有限公司的龙芯 3C5000L/3C5000 处理器平台完成兼容性测试,功能与稳定性良好,获得了龙架构兼容互认证证书。 龙芯系列处理器 通用 CPU 处理器是信息产业的基础部件&#xf…