Orange’s自己动手写一个OS之配置环境(全)

使用的软件:Oracle VM VirtualBox
使用的虚拟机:Ubuntu 14.04
下载工具:bochs、bximage、nasm、build-essential、libx11-dev、libxrandr-dev、libsdl1.2-dev、vgabios

按照本文进行配置相关版本,有80%的概率成功,剩下20%可能是电脑不同,出现的问题不包含在本文内。

1.安装在实验机上安装virtualbox,安装ubuntu并配置开发环境

参考链接:https://blog.csdn.net/ChaoChao66666/article/details/125670795

2.建立虚拟机与主机之间的共享连接,以便传送文件

参考链接:https://blog.csdn.net/weixin_51343683/article/details/120924203

在这里插入图片描述
在这里插入图片描述

进入终端,输入命令:

sudo mkdir /mnt/share
sudo mount -t vboxsf sharename /mnt/share

(其中sharename为刚刚设置的共享文件夹名字)
然后在主机上将需要共享的文件放入共享文件夹中。
在虚拟机中输入命令:ls /mnt/share 即可查看所共享的文件。

3.Ubuntu换源,这里更换的是阿里云

参考链接:https://blog.csdn.net/u011374791/article/details/106988255

4.安装bochs并配置相关环境

使用老师发的压缩包bochs-2.6.9.tar.gz,网友们可自行去bochs官网下载,这里需要在虚拟机中解压,解压命令:

tar -zxvf bochs-2.6.9.tar.gz

解压生成文件夹bochs-2.6.9,在该文件夹下打开终端(打不开就使用终端命令进入该文件夹),输入如下命令: (失败的话加个sudo su)

./configure --enable-debugger --enable-disasm
make
make install

然后依次安装build-essential、libx11-dev、libxrandr-dev、libsdl1.2-dev、vgabios、bximage。
编辑bochsrc配置文件:

1.###############################################################
2.# Configuration file for Bochs
3.###############################################################
4.# how much memory the emulated machine will have
5.megs: 32
6.# filename of ROM images
7.romimage: file=/usr/share/bochs/BIOS-bochs-latest
8.vgaromimage: file=/usr/share/bochs/VGABIOS-lgpl-latest
9.# what disk images will be used 
10.floppya: 1_44=a.img, status=inserted
11.# choose the boot disk.
12.boot: floppy
13.# where do we send log messages?
14.log: bochsout.txt
15.# disable the mouse
16.mouse: enabled=0

5.编辑boot.asm,并使用nasm进行汇编

首先安装nasm:sudo apt-get install nasm,将boot.asm编译成boot.bin,命令:

nasm boot.asm -o boot.bin

6.制作一个软盘a.img并导入boot.bin

终端输入:bximage ,回车。
在这里插入图片描述
创建好软盘之后,修改bochsrc文件,如果a.img,boot.asm,boot.bin以及bochsrc均在同一个文件夹内,则floppya不用修改为完整路径下的a.img,使用bochs时只需要在该文件夹下打开终端运行bochs -f bochsrc即可,否则需要写出a.img的完整路径。
在这里插入图片描述
将boot.bin导入软盘中:

dd if=boot.bin of=a.img bs=512 count=1 conv=notrunc

7.bochs执行(一波三折!!!)

在上述文件夹下输入命令:bochs -f bochsrc,回车。
在这里插入图片描述
发现报错了,解决方法:

sudo apt-get install bochs-x

再次执行bochs -f bochsrc,依然报错,提示无法打开boot.bin和a.img文件,如下图,文件被上锁(此时a.img我已解锁)
在这里插入图片描述
使用命令解锁,参考链接:https://blog.csdn.net/weixin_44260459/article/details/122713532

修改完权限后,再次执行bochs -f bochsrc,还是报错(如下图)
这次报错的问题是缺少相关软件bochs-sdl以及bochsrc文件中缺少该句:display_library: sdl
注:如果想要运行bochs时出现6个菜单选项,可以调试等等,上面那行要删去。
在这里插入图片描述
之后再次执行bochs -f bochsrc,成功!!!

8.总结

最后整理出正确的bochsrc文件:(最后一行可删去)

1.###############################################################
2.# Configuration file for Bochs
3.###############################################################
4.# how much memory the emulated machine will have
5.megs: 32
6.# filename of ROM images
7.romimage: file=/usr/share/bochs/BIOS-bochs-latest
8.vgaromimage: file=/usr/share/bochs/VGABIOS-lgpl-latest
9.# what disk images will be used 
10.floppya: 1_44=a.img, status=inserted
11.# choose the boot disk.
12.boot: floppy
13.# where do we send log messages?
14.log: bochsout.txt
15.# disable the mouse
16.mouse: enabled=0
17.display_library:sdl

以及需要配置的所有软件命令:

sudo apt-get install nasm
sudo apt-get install bximage
sudo apt-get install build-essential
sudo apt-get install libx11-dev
sudo apt-get install libxrandr-dev
sudo apt-get install libsdl1.2-dev
sudo apt-get install vgabios
sudo apt-get install bochs-x

制作不易,还望点赞收藏支持一下小编(哼唧唧)
在这里插入图片描述

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值