1.前言
因为M1芯片的缘故,没法直接在虚拟机(PD、VMware)上操作实验,故出此下策。如果有条件还是希望uu们在装配有windows系统的笔记本上操作。
此方法基于远程连接,因此需要购买云服务器。如果不想破费的话可以尝试连接公共电脑。
2.购买云服务器
本文以腾讯云为例
2.1 注册账号并实名认证
2.2购买服务器
2.3选择镜像并配置
因为是用来做实验,推荐Ubuntu系统
常规进行配置,既然都买了云服务器,不如进一步配置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连接
computer name就是云服务器的ip地址
之后点击Credentials用用户名和密码登录
ubuntu系统的用户名一般是ubuntu,如果不是就填root试一下
之后新建远程连接,记得用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
解决完问题,正常运行结果如下
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
完成之后control+c关闭即可。