首页 > 其他分享 >CMU 15445 Lab -1:: 环境配置

CMU 15445 Lab -1:: 环境配置

时间:2023-08-10 18:11:39浏览次数:49  
标签:15445 mirrors jammy Lab tsinghua https edu CMU multiverse

官网环境配置参考:lab0
本文采取 Win10 + wsl2(Ubuntu 22.04) 进行环境配置

1 wsl2安装Ubuntu22.04

wsl2的安装参考 微软官方文档

1.1 启用Linux子系统功能

系统搜索启用或关闭Windows功能,如下图开启功能




1.2 BIOS开启CPU虚拟化功能


不同的主板厂商BIOS界面设置不同,大体上的位置可参考下图 ![](/i/l/?n=23&i=blog/3166095/202308/3166095-20230810171908673-376811973.png)

1.3 安装wsl2

最好以管理员模式打开powershell,输入如下命令进行安装

 wsl -l -o
# 改命令会搜索可在线安装的发行版

默认安装Ubuntu22.04

wsl --install

或安装指定版本

wsl --install -d Ubuntu-22.04

如果使用了Windows Terminal,其选项卡中会自动添加安装的Linux发行版
也可以使用powershell进入虚拟机:

wsl -d Ubuntu

1.4 Ubuntu换源

sudo vim /etc/apt/sources.list

将其替换为如下内容

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse

然后更新源

sudo apt-get update

2 bustub仓库配置

2.1 按照官网说明进行仓库克隆

# 克隆公共仓库 
git clone --bare https://github.com/cmu-db/bustub.git bustub-public
cd bustub-public

# 上传到自己新创建的私有仓库
git push https://github.com/student/bustub-private.git master

# 删除公共存储库的本地克隆
cd ..
rm -rf bustub-public

# 克隆自己的私有仓库
git clone https://github.com/student/bustub-private.git

2.2 版本回溯

由于GitHub的仓库后续在不断更新,我们需要找到2023 spring开课前的最后一次提交,操作如下

# 找到2023 spring开课前的最后一次提交
git checkout 9dd2cf60e6433d65e7350e65e56bc760b09a1045

# 新建一个开发分支
git checkout -b new-branch-name

然后就可以在新建的分支上写lab啦!

3 工具链配置

3.1 工具链配置

工具链不需要自己手动配置,官方已经提供了配置脚本:

sudo build_support/packages.sh

如果按照之前操作进行了换源,工具链配置速度应该很快

3.2 项目编译

编译项目

mkdir build
cd build
cmake ..
make

3.3 测试

编译测试样例

make check-tests

此时由于我们还没有做完4个lab,测试样例应该只会通过60多个,看到一堆红字报错暂时不用担心

4 Clion配置

Clion对支持ws2支持虽然比不上原生的VSCode,但实际体验上,VScode在本项目的规模上,代码补全和推导的能力明显不足,所以选择Clion进行开发
Clio的安装和激活可自行百度,这里主要讲Clion对wsl2的连接。
Clion对wsl2有2中方式,其一是像打开普通项目文件一样直接打开项目目录:

另一种是使用host连接的方式打开项目,这种方式是在wsl2虚拟机中又安装了一个ide,因此对于系统路径的支持更好:
选择wsl

选择安装的发行版

选择路径

打开项目后基本上能成功,不过第二种方式只有比较新的Clion支持,而且bug还不少,如果实际测试不稳定的话建议使用第一种方式。

标签:15445,mirrors,jammy,Lab,tsinghua,https,edu,CMU,multiverse
From: https://www.cnblogs.com/toniXWD/p/17620929.html

相关文章

  • MIT6.s081/6.828 lectrue2:OS design 以及 Lab2 心得
    这节课主要介绍OS的顶层设计以及OS启动流程和系统调用流程前置知识:要求阅读xv6bookchapter2和xv6源码:kernel/proc.h,kernel/defs.h,kernel/entry.S,kernel/main.c,user/initcode.S,user/init.c,andskimkernel/proc.candkernel/exec.c一、课程内容课程主要......
  • MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类|
    原文链接:http://tecdat.cn/?p=26318原文出处:拓端数据部落公众号 最近我们被客户要求撰写关于长短期记忆(LSTM)神经网络的研究报告,包括一些图形和统计输出。此示例说明如何使用长短期记忆(LSTM)网络对序列数据的每个时间步长进行分类。要训​​练深度神经网络对序列数据......
  • Matlab决策树对空气质量和天气温度及天气数据做交通出行推荐预测|附代码数据
    全文链接:http://tecdat.cn/?p=31784原文出处:拓端数据部落公众号最近我们被客户要求撰写关于决策树的研究报告,包括一些图形和统计输出。为解决城市交通拥堵问题,本文提出了一种基于Matlab决策树的交通预测方法,我们通过采集上海地区的空气质量数据和温度数据,帮助客户在Matlab中......
  • CMU 15445 spring - project 1 Buffer Pool实验笔记
    前排提醒本项目需要在linux/mac环境下进行开发,如果是windows最好是整个linux的环境,比如云服务器、虚拟机、wsl等。整个课程需要仔细看文档,包括bustub的readme,每篇project的描述。整个课程需要仔细看文档,包括bustub的readme,每篇project的描述。整个课程需要仔细看文档,包括bustu......
  • Mac M1基于Docker Desktop部署Gitlab
    一、拉取镜像##这个是gitlab的arm64镜像dockerpullyrzr/gitlab-ce-arm64v8二、配置容器镜像下载完成后,可在DockerDesktop看到镜像点击run,弹出以下界面,配置端口映射和目录挂载后,即可生成一个容器三、启动gitlab容器四、配置Gitlab以下操作需要在Gitlab容器的命令......
  • 基于Field_II_ver_3_24_windows_gcc工具箱的超声波二维成像与三维成像matlab仿真
    1.算法理论概述1.1超声波成像的基本原理       超声波成像是一种通过超声波对物体进行成像的技术。超声波成像的原理是利用超声波在不同组织之间传播速度不同的特点,探测物体内部的结构。超声波成像可以分为二维成像和三维成像两种。二维成像是将超声波探头沿一个方向......
  • m基于DM-OFDM-IM技术的索引OFDM调制解调系统的性能matlab仿真分析
    1.算法仿真效果matlab2022a仿真结果如下:    2.算法涉及理论知识概要        随着无线通信技术的不断发展,人们对下一代移动通信系统提出了越来越高的要求。在这样的时代背景下,具有低峰均比,强频偏对抗能力和高能量效率的索引调制OFDM系统(OrthogonalFrequ......
  • Gitlab的使用
    推荐步骤:1.创建自己名字目录初始化为本地git仓库,设置管理git仓库账户密码为自己名字2.创建第一个文件自己名字.txt提交描述为v1,在自己名字文件中附加数据提交描述为v23.查看git提交日志,将数据回滚到v1版本4.创建分支为bob,模拟开发数据提交版本为v3,切换到master分支合并分支数据,删除......
  • LRU机制:哈希表+双向链表 [labuladong-刷题打卡 day9]
    今天的知识点LRU缓存机制的实现。学过计组都知道LRU算法(leastrecentlyused最近最少使用算法)是资源管理中的常用算法。那么他是如何实现的呢?LRU原理和Redis实现146.LRU缓存此题算是对LRU机制的一个简化。为了使查找删除在O(1)中实现,我们结合哈希表和双向链表各自在查找和......
  • MATLAB用改进K-Means(K-均值)聚类算法数据挖掘高校学生的期末考试成绩|附代码数据
    全文链接:http://tecdat.cn/?p=30832最近我们被客户要求撰写关于K-Means(K-均值)聚类算法的研究报告,包括一些图形和统计输出。本文首先阐明了聚类算法的基本概念,介绍了几种比较典型的聚类算法,然后重点阐述了K-均值算法的基本思想,对K-均值算法的优缺点做了分析,回顾了对K-均值改进......