上海古都建筑设计集团,上海办公室装修设计公司,上海装修公司高质量的内容分享社区,上海装修公司我们不是内容生产者,我们只是上海办公室装修设计公司内容的搬运工平台

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

guduadmin44小时前

清华大学操作系统实验—rCore环境搭建

    • 零、前言
    • 一、VirtualBox
    • 二、Kali Linux
    • 三、C
    • 四、Rust
    • 五、QEMU 模拟器安装
    • 六、Hello,world测试

      零、前言

      一直想动手写一个操作系统,但是没有能力从零开始写,故跟着清华大学操作系统实验,完成这个目标,这一篇文章开始,将进行清华大学操作系统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环境搭建,在这里插入图片描述,第1张

      注意,windows11下载安装前需要下载Microsoft Visual C++ Redistributable packages。

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

      选择64位的,下载好后可以安装了,安装路径建议不要装在C盘,其余选项默认即可。


      二、Kali Linux

      由于我的专业是信息安全,故我选择我最常用的Kali Linux系统作为实验环境。

      在官网https://www.kali.org/get-kali/#kali-virtual-machines下载,

      清华大学操作系统rCore实验-第零章-Lab环境搭建,在这里插入图片描述,第3张

      选择VirtualBox版本,下载并解压号后,双击打开kali-linux-2023.4-virtualbox-amd64.vdi文件。

      清华大学操作系统rCore实验-第零章-Lab环境搭建,打开虚拟机,第4张

      注意打开后,在网络那一栏需要将网卡先设置为NAT模式,最终配置好环境后为保安全起见,需要将网卡设置为仅主机模式。

      清华大学操作系统rCore实验-第零章-Lab环境搭建,打开kali,第5张

      然后启动系统,默认用户名为kali,密码为kali。

      清华大学操作系统rCore实验-第零章-Lab环境搭建,设置外观,第6张

      打开后可以在Display、Panel中设置界面字体外观。

      然后右键打开命令行,输入sudo su,切换到root权限,默认密码为kali。

      清华大学操作系统rCore实验-第零章-Lab环境搭建,切换root权限,第7张

      由于下载工具的自带源很慢,故我们需要更换国内源,我这里用的是中科大的源。

      修改/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环境搭建,源,第8张

      编辑好后保存。

      然后更新环境,逐条输入,

      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环境搭建,版本,第9张

      最后安装一些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 upgrade、apt-get update,将这些依赖包更新到最新版本。

      然后我们安装qemu,输入apt-get install qemu-system、apt-get install qemu-user-static、apt-get install qemu-user。

      此时我们可以确认 QEMU 的版本:

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

      清华大学操作系统rCore实验-第零章-Lab环境搭建,qemu版本,第10张


      六、Hello,world测试

      我们利用cargo工具建立一个项目,命令行输入cargo new neos --bin,

      清华大学操作系统rCore实验-第零章-Lab环境搭建,在这里插入图片描述,第11张

      可以看到默认项目的结构,我们在neos根目录输入cargo run,启动项目。

      清华大学操作系统rCore实验-第零章-Lab环境搭建,在这里插入图片描述,第12张

      成功显示Hello,world!。


网友评论

搜索
最新文章
热门文章
热门标签