清华大学操作系统rCore实验-第零章-Lab环境搭建

这篇具有很好参考价值的文章主要介绍了清华大学操作系统rCore实验-第零章-Lab环境搭建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


零、前言

一直想动手写一个操作系统,但是没有能力从零开始写,故跟着清华大学操作系统实验,完成这个目标,这一篇文章开始,将进行清华大学操作系统rCore实验。本章是环境搭建,有一些个人特色,完成实验的基础上,尝试回答实验后的编程题问答题,如有错误,请大家指出并帮助纠正,不胜感激。


一、VirtualBox

由于VMWare专业版要收费,又不想使用盗版,故采用了VirtualBox 。VirtualBox是一款开源虚拟机软件。使用者可以在VirtualBox上安装并且执行Solaris、Windows、DOS、Linux、OS/2 Warp、BSD等系统作为客户端操作系统。
下载地址为[https://www.virtualbox.org/wiki/Downloads],可以根据不同的系统装不同的版本(https://www.virtualbox.org/wiki/Downloads)。
清华大学操作系统rCore实验-第零章-Lab环境搭建,清华大学操作系统rCore实验,rust,汇编,bash,c语言,risc-v,linux
注意,windows11下载安装前需要下载Microsoft Visual C++ Redistributable packages。
清华大学操作系统rCore实验-第零章-Lab环境搭建,清华大学操作系统rCore实验,rust,汇编,bash,c语言,risc-v,linux
选择64位的,下载好后可以安装了,安装路径建议不要装在C盘,其余选项默认即可。


二、Kali Linux

由于我的专业是信息安全,故我选择我最常用的Kali Linux系统作为实验环境。
在官网https://www.kali.org/get-kali/#kali-virtual-machines下载,
清华大学操作系统rCore实验-第零章-Lab环境搭建,清华大学操作系统rCore实验,rust,汇编,bash,c语言,risc-v,linux
选择VirtualBox版本,下载并解压号后,双击打开kali-linux-2023.4-virtualbox-amd64.vdi文件。
清华大学操作系统rCore实验-第零章-Lab环境搭建,清华大学操作系统rCore实验,rust,汇编,bash,c语言,risc-v,linux
注意打开后,在网络那一栏需要将网卡先设置为NAT模式,最终配置好环境后为保安全起见,需要将网卡设置为仅主机模式
清华大学操作系统rCore实验-第零章-Lab环境搭建,清华大学操作系统rCore实验,rust,汇编,bash,c语言,risc-v,linux
然后启动系统,默认用户名为kali,密码为kali
清华大学操作系统rCore实验-第零章-Lab环境搭建,清华大学操作系统rCore实验,rust,汇编,bash,c语言,risc-v,linux
打开后可以在DisplayPanel中设置界面字体外观。
然后右键打开命令行,输入sudo su,切换到root权限,默认密码为kali
清华大学操作系统rCore实验-第零章-Lab环境搭建,清华大学操作系统rCore实验,rust,汇编,bash,c语言,risc-v,linux
由于下载工具的自带源很慢,故我们需要更换国内源,我这里用的是中科大的源。
修改/etc/apt/sources.list文件,输入vim /etc/apt/sources.list,按i进入编辑模式,将原本的路径注释掉,然后输入

deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib

清华大学操作系统rCore实验-第零章-Lab环境搭建,清华大学操作系统rCore实验,rust,汇编,bash,c语言,risc-v,linux

编辑好后保存。
然后更新环境,逐条输入,

apt-get upgrade
apt-get update
apt-get clean

三、C

由于会涉及C语言的开发,我们需要安装用于本机开发环境交叉开发环境的C语言编译环境。

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

等待安装好,然后重新升级软件:

apt-get upgrade
apt-get update
apt-get clean

四、Rust

首先安装 Rust 版本管理器 rustup 和 Rust 包管理器 cargo:

export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
curl https://sh.rustup.rs -sSf | sh

等待安装好,我们可以确认一下我们正确安装了 Rust 工具链:

rustc --version

可以看到当前安装的工具链的版本。
清华大学操作系统rCore实验-第零章-Lab环境搭建,清华大学操作系统rCore实验,rust,汇编,bash,c语言,risc-v,linux
最后安装一些Rust相关的依赖包,依次输入:

rustup target add riscv64gc-unknown-none-elf
cargo install cargo-binutils
rustup component add llvm-tools-preview
rustup component add rust-src

五、QEMU 模拟器安装

首先我们安装编译所需的依赖包

apt install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev \
              gawk build-essential bison flex texinfo gperf libtool patchutils bc \
              zlib1g-dev libexpat-dev pkg-config  libglib2.0-dev libpixman-1-dev libsdl2-dev \
              git tmux python3 python3-pip ninja-build

然后逐条输入apt-get upgradeapt-get update,将这些依赖包更新到最新版本。
然后我们安装qemu,输入apt-get install qemu-systemapt-get install qemu-user-staticapt-get install qemu-user
此时我们可以确认 QEMU 的版本:

qemu-system-riscv64 --version
qemu-riscv64 --version

清华大学操作系统rCore实验-第零章-Lab环境搭建,清华大学操作系统rCore实验,rust,汇编,bash,c语言,risc-v,linux


六、Hello,world测试

我们利用cargo工具建立一个项目,命令行输入cargo new neos --bin
清华大学操作系统rCore实验-第零章-Lab环境搭建,清华大学操作系统rCore实验,rust,汇编,bash,c语言,risc-v,linux
可以看到默认项目的结构,我们在neos根目录输入cargo run,启动项目。
清华大学操作系统rCore实验-第零章-Lab环境搭建,清华大学操作系统rCore实验,rust,汇编,bash,c语言,risc-v,linux
成功显示Hello,world!文章来源地址https://www.toymoban.com/news/detail-804252.html


到了这里,关于清华大学操作系统rCore实验-第零章-Lab环境搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 操作系统实验报告【太原理工大学】

    温馨提示:仅供参考! 1.程序清单 2.运行结果 ① 简单轮转法: ② 优先数法 3.分析总结 此实验运用了俩种方法进行了程序的调度。在简单轮转方法中,本程序代码中timesch函数下的重要性用priority表示,使用priority次数用尽后,继续执行下一个进程,在进程都结束后,占用cp

    2024年02月06日
    浏览(47)
  • 【ChatGPT散文篇】ChatGPT-清华大学的讲座要点

    刚听了清华大学关于ChatGPT的讲座,总结几个要点: 1、AI有可能成为地球上最初的硅基生命。 2、AI已迭代至博士研究生的智力水平。 3、以后将不存在学科和专业的概念,也不存在文科理科的区分,将是学科大融合。因为一个文科生哪怕不懂代码,只要会向AI提问,就能编程。

    2024年02月08日
    浏览(41)
  • 数据结构(期末复习篇) 清华大学出版社

    1.1.1 数据结构的定义 数据:描述客观事物的数和字符的集合 数据元素: 数据的基本单位 数据对象: 性质相同的数据元素的集合,是数据的一个子集 数据结构: 数据元素以及数据元素之间的关系,可以看作互相之间有着特定关系的集合 1.1.2 逻辑结构 1.逻辑结构的表示 一 

    2024年01月20日
    浏览(50)
  • Kali Linux 更换国内源(中科大、阿里、浙大、清华、东软大学、重庆大学)

          本文详细的介绍了Kali Linux如何更换国内源。       由于Kali Linux官方源下载速度较慢,我们可以通过更换国内源以提高下载速度。    1.       进入Kali Linux系统并打开命令行窗口,输入“ sudo -i ”回车输入密码以获取系统最高权限。    2.       输入vim /etc/apt/sources

    2024年03月11日
    浏览(69)
  • 图解数据结构系列丛书(由清华大学出版社出版)

    由清华大学出版社出版的“图解数据结构系列丛书”提供 C++、C、C#、Python、JavaScript、Java 等多种语言版本,通过丰富的图例和视频教程,让学习更加直观、高效,让你轻松掌握数据结构。无论您选择哪种语言版本,都能帮助您快速理解和掌握数据结构的核心概念,提升编程能

    2024年02月04日
    浏览(53)
  • npm ,yarn 更换使用国内镜像源,阿里源,清华大学源

    在平时开发当中,我们经常会使用 Npm,yarn 来构建 web 项目。但是npm默认的源的服务器是在国外的,如果没有梯子的话。会感觉特别特别慢,所以,使用国内的源是非常有必要的。 Nnpm, yarn 常用命令 常用命令: npm,yarn 使用国内源 原淘宝 npm 域名即将停止解析!!使用老域

    2024年01月23日
    浏览(60)
  • Mac brew安装失败的解决方案 (使用清华大学镜像)

    Mac上常用HomeBrew进行安装包管理,HomeBrew的代码托管在github上:GitHub - Homebrew/brew: 🍺 The missing package manager for macOS (or Linux) brew官网提供的安装命令如下,从github上下载安装脚本: 由于国内网络的原因,执行命令一般会提示下载失败: curl: (7) Failed to connect to raw.githubusercontent.

    2024年02月10日
    浏览(40)
  • Windows下cpu部署运行清华大学ChatGLM-6B语言模型(详解)

    ChatGLM-6B 清华大学实现的 一个开源的、支持中英双语 、 支持图像理解 的对话语言模型 。 它 基于

    2024年02月12日
    浏览(55)
  • Docker CE 软件仓库镜像使用帮助-清华大学开源软件镜像站

    注意:本镜像只提供 Debian/Ubuntu/Fedora/CentOS/RHEL 的 docker 软件包,非 dockerhub 自动安装 Docker 提供了一个自动配置与安装的脚本,支持 Debian、RHEL、SUSE 系列及衍生系统的安装。 以下内容假定 您为 root 用户,或有 sudo 权限,或知道 root 密码; 您系统上有 curl 或 wget Debian/Ubuntu 用户

    2024年02月05日
    浏览(53)
  • C程序设计-方法与实践(清华大学出版社)习题解析

    本习题解析只是作为一种参考,代码不唯一! 补充:书本重要例题点击跳转 补充: 江西财经大学研究生2016-2022年真题解析及归纳总结 补充:感谢大家一路以来对本文的支持!由于作者本人现在已经考完研了,准备找工作了,开始回去学习我的主修课程JAVA了,由于时间问题

    2024年02月11日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包