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

操作系统 专栏收录该内容
1 篇文章 0 订阅

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

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


我的环境:

  • 虚拟机用的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 07c00h
  mov ax,cs
  mov ds,ax
  mov es,ax
  call DispStr
  jmp $
DispStr:
  mov ax,BootMessage
  mov bp,ax
  mov cx,16
  mov ax,01301h
  mov bx,000ch
  mov dl,0
  int 10h
  ret
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

恭喜你~成功了

  • 2
    点赞
  • 0
    评论
  • 2
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值