操作系统复现环境:VMware、Ubuntu22.04
1、如何在VMware上运行.img参考文章
补充:
- 有几个img文件,在虚拟机的设置上就要添加几个软盘,不然无法使用。
(1条消息) 虚拟机上安装bochs的过程(保姆级别)_虚拟机 bochs_Lyongui的博客-CSDN博客
2、共享文件夹找不到
补充:
- 第二个步骤中的红色部分不要照抄。改成自己想要的共享文件夹位置的父文件夹名称——即想要将共享文件夹放置的位置路径。
- -o nonempty可以去掉。实测不影响。
sudo vmhgfs-fuse .host:/ /mnt/hgfs -o nonempty -o allow_other
(1条消息) 小知识:ubuntu设置共享文件夹之后却找不到的解决方法_ubuntu共享文件夹设置后找不到_转角心静了的博客-CSDN博客
3、第三章的第7个实验(g)在VMware上面会崩溃。最后换到了bochs上成功运行。
安装记录:
- 下载bochs-2.7。链接:Bochs x86 PC emulator - Browse /bochs/2.7 at SourceForge.net
- 选择这个版本下载
- 在压缩包下载的文件夹(一般是Download)下打开终端(terminal)输入解压压缩包。 tar -zxvf bochs-2.7.tar.gz
- 在终端上进入刚刚解压的文件夹路径(一般是 cd Download/bochs-2.7 )。
-
;下载bochs需要的环境 sudo apt install build-essential sudo apt install xorg-dev sudo apt install libgtk2.0-dev
- 终端输入下面三条命令即可使用bochs
-
./configure --with-x11 --with-wx --enable-debugger --enable-disasm --enable-all-optimizations --enable-readline --enable-long-phy-address --enable-ltdl-install --enable-idle-hack --enable-plugins --enable-a20-pin --enable-x86-64 --enable-smp --enable-cpu-level=6 --enable-large-ramfile --enable-repeat-speedups --enable-fast-function-calls --enable-handlers-chaining --enable-trace-linking --enable-configurable-msrs --enable-show-ips --enable-debugger-gui --enable-iodebug --enable-logging --enable-assert-checks --enable-fpu --enable-vmx=2 --enable-svm --enable-3dnow --enable-alignment-check --enable-monitor-mwait --enable-avx --enable-evex --enable-x86-debugger --enable-pci --enable-usb --enable-voodoo make sudo make install
补充:bochsrc里面路径问题
我的系统是ubuntu22.04,路径应该改成:
romimage: file=/usr/local/share/bochs/BIOS-bochs-latest
vgaromimage: file=/usr/local/share/bochs/VGABIOS-lgpl-latest
keyboard: keymap=/usr/local/share/bochs/keymaps/x11-pc-us.map
4、ld: i386 architecture of input file `kernel/kernel.o' is incompatible with i386:x86-64 output
把makefile里面的16,17行如图修改
5、第六章之后出现page fault
【操作系统课设】《Orange‘S:一个操作系统的实现》编译运行中的关于 disp_str 函数的一些问题_SuasyYi的博客-CSDN博客