1.前言

因为M1芯片的缘故,没法直接在虚拟机(PD、VMware)上操作实验,故出此下策。如果有条件还是希望uu们在装配有windows系统的笔记本上操作。

此方法基于远程连接,因此需要购买云服务器。如果不想破费的话可以尝试连接公共电脑。

2.购买云服务器

本文以腾讯云为例

2.1 注册账号并实名认证

注册腾讯云账号

2.2购买服务器

学生/新用户可以优惠购买

2.3选择镜像并配置

因为是用来做实验,推荐Ubuntu系统

macos云服务器 有没有mac的云服务器_macos云服务器

 常规进行配置,既然都买了云服务器,不如进一步配置mysql、redis、jdk,不过这都是后话了。

在云服务器的“控制台”-->“防火墙”开启21端口,因为之后要用来进行SFTP连接。

安装一些必选项

$sudo apt-get install gcc
$sudo apt-get install g++
$sudo apt-get install libncurses5-dev
$sudo apt-get install libx11-dev
$sudo apt-get install libxrandr-dev
$sudo apt-get install binutils
$sudo apt-get install perl
$sudo apt-get install make
$sudo apt-get install gdb
$sudo apt-get install qemu
$sudo apt-get install geany
$sudo apt-get install git

3.使用Royal TSX进行远程连接

自行下载Royal TSX并学会使用,记得下载sftp的插件。

连接刚购买的远程服务器。

先选择terminal连接

macos云服务器 有没有mac的云服务器_macos_02

 computer name就是云服务器的ip地址

macos云服务器 有没有mac的云服务器_macos云服务器_03

 之后点击Credentials用用户名和密码登录

macos云服务器 有没有mac的云服务器_linux_04

 ubuntu系统的用户名一般是ubuntu,如果不是就填root试一下

macos云服务器 有没有mac的云服务器_ubuntu_05

 之后新建远程连接,记得用sftp,如果连接失败,可以回头看看云服务器的控制台有没有开启端口号21。

在home/ubuntu里可以新建一些文件夹和文件练习一下 vim 和 remove

4.安装Bochs

4.1在官网下载 Bochs x86 PC emulator - Browse /bochs at SourceForge.net

本人使用的bochs-2.6.8.tar.gz

4.2在Royal TSX里远程上传到home/ubuntu,并解压

tar zxvf bochs-2.6.8.tar.gz

4.3进入解压之后的文件夹配置bochs

sudo ./configure --enable-gdb-stub --with-x --with-x11 --with-term --with-nogui

之后

make

如果遇到问题:修改之后,make clean清理以后再重新make哦,之后install

make install

最后运行

bochs

如果遇到问题 

显示bochsrc:186: cpu directive malformed.

在终端输入 

bochs -help cpu

找到cpu model,我的是amd_k6_2_chomper

之后打开.bochsrc文件在187行修改cpu model为amd_k6_2_chomper(你自己的cpu model)

bochsrc:908: Bochs is not compiled with lowlevel sound support

打开.bochsrc文件,在908、919行注释掉

sound: driver=default, waveout=/dev/dsp. wavein=, midiout=
speaker: enabled=1, mode=sound

解决完问题,正常运行结果如下

macos云服务器 有没有mac的云服务器_ubuntu_06

 5.安装pintos

在home/ubuntu中使用git来安装

git clone git://pintos-os.org/pintos-anon

获得pintos-anon的文件夹,之后为了方便,我把它改名为pintos,pintos文件中的src为本实验经常使用的文件夹。

6.配置pintos

1.进入pintos/src/utils

vim pintos-gdb

修改GDBMACROS:将gdb-macros在此服务器中的完整路径赋值给该变量

eg:home/ubuntu/pintos/src/misc

2.进入同目录下的Makefile

vim Makefile

将LOADLIBES变量改为LDLIBS

3.在utils中make

make

4.进入src/threads/Make.vars

vim Make.vars

第7行:将bochs改为qemu

5.进入threads目录make

make

6.进入src/utils/pintos

vim pintos

103行:将bochs改为qemu

257行:将kernel.bin之前加入完整路径

eg:home/ubuntu/pintos/src/threads/build/kernel.bin

621行:将qemu-system-i386改为qemu-system-x86_64

7.进入src/utils/Pintos.pm

362行:将loader.bin之前加入完整路径

eg:home/ubuntu/pintos/src/threads/build/loader.bin

8.进入bashrc

vim ~/.bashrc

在最后一行加入(你自己的路径地址)

eg:

export PATH="$PATH:/home/ubuntu/pintos/src/utils"

9.在终端中输入

source ~/.bashrc

10.进入pintos目录下运行

pintos run alarm-multiple

macos云服务器 有没有mac的云服务器_macos云服务器_07

 完成之后control+c关闭即可。