centos-6+bochs+VirtualBox 环境搭建

centos-6+bochs+VirtualBox 环境搭建以下是《操作系统真像还原》一书中所需实验环境的搭建过程。若在任一环节出现问题,请先查看「遇到的问题」一节,看是否能帮您解决。 为了跟作者环境保持一致,我是根据书中提供的链接,直接下载的 centos-6 发行版。链接如下: 若想尝试新版本的同学也可自行查找 32 位的 cent…

以下是《操作系统真像还原》一书中所需实验环境的搭建过程。若在任一环节出现问题,请先查看「遇到的问题」一节,看是否能帮您解决。

预备环境

宿主系统版本和各软件的环境如下:

  • 宿主系统: macOS Catalina 10.15.7

  • VirtualBox: 6.0

  • centos: 6.3

  • bochs: 2.6.9

  • nasm:2.15.05

centos-i386

为了跟作者环境保持一致,我是根据书中提供的链接,直接下载的 centos-6 发行版。链接如下:


http://vault.centos.org/6.3/isos/i386/CentOS-6.3-i386-bin-DVD1.iso

若想尝试新版本的同学也可自行查找 32 位的 centos。

Virtualbox

官网自行下载即可,然后再安装 centos。我装的是桌面版,因为是只小白 O(∩_∩)O哈哈~。

nasm

官网直接下载 nasm 即可。我下载的是在 macos 上的可执行文件,开箱即用。

编译环境准备

首先,由于编译 bochs 需要安装 g++ 编译器, 我们先在 centos 中安装必要的开发软件。

  1. 安装开发套件,用于编译 bochs

yum -y groupinstall "Development Tools"

  1. 安装 vim

yum install vim

安装 bochs

这一步,我们在 centos 中安装 bochs。

  1. 下载 bochs,并解压

在命令行输入如下命令:


// 下载
curl https://jaist.dl.sourceforge.net/project/bochs/bochs/2.6.9/bochs-2.6.9.tar.gz -o bochs-2.6.9.tar.gz

// 解压
tar -zxvf bochs-2.6.9.tar.gz

  1. 安装必要的库

安装 libX11libXrandr,否则在 make 时会出现头文件找不到的问题。


yum install libX11-devel

yum install libXrandr-devel

  1. 编译安装

// 1. 执行 ./configure,生成 Makefile
./configure \

--prefix=/packages/bochs \

--enable-debugger \

--enable-disasm \

--enable-iodebug \

--enable-x86-debugger \

--with-x \

--with-x11 \

LIBS=-lX11

// 2.编译
make

// 3.安装
make install

注意在执行 ./configure 时需添加 LIBS=-lX11,否则会出现如下报错信息。


/usr/bin/ld: gui/libgui.a(x.o): undefined reference to symbol 'XSetForeground'

//lib/libX11.so.6: error adding symbols: DSO missing from command line

配置 bochs

在 bochs 安装目录下新建 bochsrc.disk 文件,填入以下内容。


megs: 32

romimage: file=/packages/bochs/share/bochs/BIOS-bochs-latest

vgaromimage: file=/packages/bochs/share/bochs/VGABIOS-lgpl-latest

boot: disk 

log: bochs.out

mouse: enabled=0

keyboard: keymap=/packages/bochs/share/bochs/keymaps/x11-pc-us.map

ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14

#gdbstub: enabled=1, port=1234, text_base=0, data_base=0, bss_base=0

注意将 romimage、vgaromimage、keyboard 中 bochs 的安装路径改成自己的。

  1. 执行命令 bin/bochs -f bochsrc.disk,启动 bochs。顺利的话,会出现如下界面。

centos-6+bochs+VirtualBox 环境搭建

选择 6,开始模拟。输入 c,continue,让其继续执行。

centos-6+bochs+VirtualBox 环境搭建

由于此时还没有启动盘,bochs 会报错 No bootable device。哈哈,当然没有这么顺利。下一节,我们会讲如何创建启动盘以及自己动手编写 MBR。

遇到的问题

如何开启 VirtualBox 辅助功能

如何开启剪贴板共享、共享文件夹、拖拽?我一直以为进行了相应设置即可,结果老是不生效。后来查到需要额外操作。具体步骤如下:

  1. 将 centos 启动后,在菜单栏上点击 Device → Insert Guest Addiontion CD Image。如下图所示。

image.png

  1. 从命令行进入 VBox 目录, cd /media/VBox_GAs_6.0.24

  2. 执行脚本进行安装, sh ./VBoxLinuxAdditons.run

  3. 安装时如果出现如下错误,Kernel headers not found for target kernel xx.xx

  • 首先尝试安装对应版本的 kernel-header,再执行第 3 步。

     yum install kernel-headers-$(uname -r) kernel-devel-$(uname -r)

  • 若仍然报错找不到对应的版本,那么升级内核,再重新载入后,继续执行第 3 步。

// 升级内核

yum install kernel-devel

// 重启载入新内核

init 6

可能是由于我下载 6.3 系统的内核版本比较老,所以需要升级。

经过以上操作后,重启系统,打开对应设置,辅助功能就应该生效了。

centos 不能上网

在 VirtualBox 中安装完 centos 后,发现竟然不能上网。一度以为是我安装或者网络设置有误,尝试重装、切换网路设置,可仍然未解决。后来通过 Google 才找到解决方案。

只需修改文件:/etc/sysconfig/network-scripts/ifcfg-eth0,将 ONBOOT 改为 yes。


 ONBOOT=yes

make install 报错

若出现如下报错信息,解决方案如下:

  1. fatal error: X11/Xlib.h: No such file or directory

需要安装 X11-devel 库。


yum install libX11-devel

  1. X11/extensions/Xrandr.h: No such file or directory

安装 Xrandr-devel 库。


yum install libXrandr-devel

今天的文章centos-6+bochs+VirtualBox 环境搭建分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/19362.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注