当前位置: 代码迷 >> 综合 >> Centos7+bochs 最小的操作系统搭建
  详细解决方案

Centos7+bochs 最小的操作系统搭建

热度:5   发布时间:2024-02-25 04:42:26.0

Centos7+bochs 最小的操作系统搭建

作业要求搭建一个最小的操作系统,网上找到的博客主要是ubuntu系统下的,与centos7的略有不同,故记录一下。

文章目录

  • Centos7+bochs 最小的操作系统搭建
    • 安装编译环境和依赖包
    • 下载并安装bochs
    • 安装NASM
    • 编写文件
    • bochs配置文件
    • 启动bochs

我的环境:

  • 虚拟机用的vmware
  • 虚拟机中的系统为Centos7

安装编译环境和依赖包

yum install -y gcc glibc-headers gcc-c++ libXrandr-devel

下载并安装bochs

下载到你想安装的目录

curl -O https://nchc.dl.sourceforge.net/project/bochs/bochs/2.6.9/bochs-2.6.9.tar.gz

解压

tar -zxvf bochs-2.6.9.tar.gz

进入解压后的目录

cd bochs-2.6.9

配置编译选项

./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-cpp --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

然后分别输入

cp misc/bximage.cpp misc/bximage.cc
cp iodev/hdimage/hdimage.cpp iodev/hdimage/hdimage.cc
cp iodev/hdimage/vmware3.cpp iodev/hdimage/vmware3.cc
cp iodev/hdimage/vmware4.cpp iodev/hdimage/vmware4.cc
cp iodev/hdimage/vpc-img.cpp iodev/hdimage/vpc-img.cc
cp iodev/hdimage/vbox.cpp iodev/hdimage/vbox.cc

make命令编译

make

make执行成功后,安装。

make install

安装NASM

yum -y install nasm

编写文件

step1、编写boot.asm文件

  org 07c00hmov ax,csmov ds,axmov es,axcall DispStrjmp $
DispStr:mov ax,BootMessagemov bp,axmov cx,16mov ax,01301hmov bx,000chmov dl,0int 10hret
BootMessage:    db "Hello,OS"
times  510-($-$$) db 0
dw 0xaa55

step2、使用nasm汇编boot.asm生成“操作系统”的二进制代码。

nasm boot.asm –o boot.bin

step3、使用bximage命令生成虚拟软盘.

bximage -> fd -> 1.44 -> a.img

step4、使用dd命令将操作系统写入软盘

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

bochs配置文件

在bochs解压目录bochs-2.6.9下,复制一份配置文件。

cp .bochsrc bochsrc

vi编辑bochsrc文件

# romimage: file=$BXSHARE/BIOS-bochs-latest, options=fastboot改为如下,其中$BXSHARE改为你的解压目录下+bios
romimage: file=/usr/local/bochs-2.6.9/bios/BIOS-bochs-latest, options=fastboot
# 同上
vgaromimage: file=/usr/local/bochs-2.6.9/bios/VGABIOS-lgpl-latest# floppya: 1_44=/dev/fd0, status=inserted这行改为你的软盘镜像,我的是a.img
floppya: 1_44=a.img, status=inserted#ata0-master: type=disk, mode=flat, path="30M.sample"这行要加注释注释掉# 启动盘修改,改为软盘启动
boot: floppy
#boot: disk#sound: driver=default, waveout=/dev/dsp. wavein=, midiout=注释掉这行声音配置

启动bochs

bochs -f bochsrc

如果看到页面是1

说明是debug模式,那么只需要按c,即可显示

2

恭喜你~成功了

  相关解决方案