文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Ubuntu下bochs详细安装步骤(超详细!)

2023-09-05 14:55

关注

本人一年前刚学linux系统的时候花了两天时间安装bochs,完全没头绪,后来半年前尝试安装还是失败,幸运的是b站过去几个月出了一些安装视频,所以我结合之前踩过的坑为大家带来详细的安装步骤,废话不多说,开始:

我的bochs是2.7版本,不过版本不重要了,其它版本安装流程基本都一样

首先,我把安装目录放在家目录下Downloads文件夹下面,即:
在这里插入图片描述

如果新手对于路径的问题还是比较迷茫的话,可以和我安装在同一路径,完全按照我的步骤来

这里对于新手说明一下,切换到家目录的三种方式
1.在终端输入cd
2.在终端输入cd ~
3.在终端输入cd $HOME
$HOME的路径即 /home/你创建ubuntu时用到的用户名
4.直接点击左边的文件,进入我上图所示的界面,类似windows操作文件方式

然后接下来在终端中输入

cd Downloads/ //如果你是中文或者是其它语言或者其它单词,按照你系统中的输入

之后在终端输入ls,会看到:
在这里插入图片描述
那么这个就是我们bochs安装包所在的路径
接下来在终端输入:

tar zxvf bochs-2.7.tar.gz //同样,如果你是其他版本,按照你的安装包名输入

之后在Downloads目录下会看到:
在这里插入图片描述

这里的bochs-2.7就是我们的安装包
接下来,在终端输入

cd bochs2.7/

进入到bochs2.7文件夹下

接下来在命令行窗口中输入:

./configure \# 这里把bochs放在目录"$HOME/Downloads"--prefix=$HOME/Downloadsbochs \      --enable-debugger \--enable-disasm \--enable-iodebug \--enable-x86-debugger \--with-x \--with-x11

即:
在这里插入图片描述

注意事项!!!!我前两次安装的时候,看的是《操作系统真象还原》这本书,就是在这个地方卡住了,即在哪里输入?后面的 \ 符号是什么意思?也没有回答来解释,还是看视频才会的

上面的是在终端输入的!!!每行输入上面所对应的一行

#是注释,就不要输入了

每一行和 \ 之间有空格,同时 \ 也需要输入!因为在linux系统中,最后加入\,就表示可以换行输入命令,不然你输入一行直接按回车的话就会直接完成命令的输入,下面的就无法一起输入了!

第二行,即prefix那一行,表示你想把安装后的bochs放在哪里,我这里放在家目录下Downloads里面,即和bochs2.7安装包放在一起。

最后那一行就不需要加 空格\ 了

在上面安装的时候可能有如下问题:
fatal error: X11/Xlib.h: No such file or directory
Ubuntu 编译提示 configure: error: no acceptable C compiler found in $PATH
按照上面的步骤安装即可

之后输入

make

即:
在这里插入图片描述

这个过程会有点慢
完成之后,看是否有错误,没有就输入:

//因为我是用户账号来输入的,没有切换到root账号,所以需要sudo来以管理员//的权限运行sudo make install 

即:
在这里插入图片描述
这个过程就比较快了

之后切换到上一级目录,输入ls,会发现多了两个bin文件和share文件夹,
这两个文件夹就是我们配置bochs所需要的了
在这里插入图片描述
当我们进入到bin目录下会看到bximage和bochs两个文件,其中bximage是
我们配置启动盘时的核心
在这里插入图片描述

当我们进入到share目录下会看到bochs doc man三个文件夹,其中bochs文件夹中有两个文件极其重要,即我下图中画圈的两个文件
在这里插入图片描述
好,接下来就开始配置吧。
首先,我先切换到bin目录
在这里插入图片描述
输入

sudo gedic bochsrc.disk

在文件中写入:

# 设置bochs在运行中能够使用的内存,我这里设置32MBmes: 32# 设置真实机器所对应的BIOS和VGA BIOS# 这里的路径是按照我上面讲的那两个重要文件的路径来的# 如果你和我路径不一样,不要直接抄我的!roimage: file=/home/你的用户名/Downloads/share/bochs/BIOS-bochs-latestvgaromimage: file=/home/你的用户名/Downloads/share/bochs/VGABIOS-lgpl-latest# 选择启动磁盘,我这里是选择以硬盘启动# 如果你想按照软盘启动的话则boot: floppyboot: disk# 设置日志文件输出路径log: bochsout.txt# 关闭鼠标mouse: enabled=0# 磁盘设置ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14# 启动盘信息hd60M.img,下面的hd60M.img为我们启动硬盘# 我们之后创建的启动硬盘必须放在该路径下且必须同名# 下面的path也可以写成path="hd60M.img",不过要求你的hd60M.img在bin文件夹下ata0-master: type=disk, path="/home/你的用户名/Downloads/bin/./hd60M.img", mode=flat, cylinders=121, heads=16, spt=63

在终端输入ls会看到:
在这里插入图片描述
成功创建了bochsrc.disk文件

然后我们输入bochs,会看到如下界面:
在这里插入图片描述
说明安装成功,上面的BXSHARE not set. using…那一行说明我们并未使用配置文件,稍后使用

我们再输入6,会看到:
在这里插入图片描述
再输入c,会看到:
在这里插入图片描述
出现这个错误,表明我们并未创建启动盘。

下面,我们的思路是创建一个测试文件,后缀名为asm,然后经过nasm编译,生成后缀名为bin的二进制文件。然后创建一个硬盘,通过bin目录下的bximage来创建,再把刚才生成的.bin文件写入硬盘中,最后启动bochs测试。

创建硬盘命令:

/bochs/bin/bximage -hd -mode="flat" -size=60 -q hd60M.img

编译命令:

nasm test.asm -o test.bin

文件写入硬盘命令

dd if=test.bin of=/home/你的用户名/Downloads/bin/hd60M.img bs=512 count=1 conv=notrunc

一般来说,我们可以把这三个命令放入到一个后缀名为sh的脚本文件中,然后执行该脚本文件。但是我执行这个脚本文件时,会发现终端中提示:

Unknown option: -hd

原因是我的系统无法通过配置文件来执行创建磁盘的命令,所以需要在命令行通过bximage来创建,输入

sudo bximage

如下图所示,按照我的图片所示来输入:
在这里插入图片描述
再在终端输入ls,会发现成功创建了hd60M.img磁盘映像文件
在这里插入图片描述
接下来就是创建一个汇编文件来进行测试了,我们测试的汇编代码如下:

org07c00h; 告诉编译器程序加载到7c00处movax, csmovds, axmoves, axcallDispStr; 调用显示字符串例程jmp$; 无限循环DispStr:movax, BootMessagemovbp, ax; ES:BP = 串地址movcx, 16; CX = 串长度movax, 01301h; AH = 13,  AL = 01hmovbx, 000ch; 页号为0(BH = 0) 黑底红字(BL = 0Ch,高亮)movdl, 0int10h; 10h 号中断retBootMessage:db"Hello, OS world!"times 510-($-$$)db0; 填充剩下的空间,使生成的二进制代码恰好为512字节dw 0xaa55; 结束标志

然后就创建汇编文件吧,我们用的文件名为test.asm,在终端中输入

sudo gedit test.asm

之后复制上面的内容,然后保存。

再输入ls,发现成功创建了test.asm文件
在这里插入图片描述
接下来就可以对test.asm文件进行汇编了,在终端输入:

sudo nasm test.asm -o test.bin

再在终端输入ls,会看到test.bin文件成功被创建
在这里插入图片描述
最后把test.bin文件写入hd60M.img硬盘中

# 下面path也可以这么写 path=hd60M.img 不过要求你的hd60M.img在bin目录下dd if=test.bin of=/home/你的用户名/Downloads/bin/./hd60M.img bs=512 count=1 conv=notrunc

如下图:
在这里插入图片描述
然后我们创建一个run.sh脚本文件,来通过执行该脚本文件的方式,通过以bochsrc配置文件来打开bochs
创建文件:

sudo gedit run.sh

在文件中输入:

/home/你的用户名/Downloads/bin/bochs -f bochsrc.disk

在这里插入图片描述
发现成功创建了run.sh文件,执行该文件,会发现:

在这里插入图片描述

最后执行该文件,发现成功了
在这里插入图片描述
同时,上面的BXSHARE not set. using…那一行下面有:
在这里插入图片描述
可以看到,是按照配置文件来打开的。

最后,我们成功地安装了bochs,并测试成功,以后如果你想把其它编译好的文件挂载到磁盘中,让bochs运行的话,就和上面的步骤一样,用dd if=…那条命令即可。

总结,bochs安装最重要的四步:

一、配置bochsrc.disk文件

二、创建硬盘(或软盘,看你想以硬盘启动还是软盘启动了)

三、创建一个bin文件

四、把bin文件放到创建好的硬盘中,写一个run脚本来启动bochs即可

这个bochs安装费了我很长时间,我把我了解到的安装过程教给大家,希望大家少走弯路!

来源地址:https://blog.csdn.net/weixin_49635198/article/details/126831887

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-服务器
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯