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

    科技2022-07-15  142

    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 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

    如果看到页面是

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

    恭喜你~成功了

    Processed: 0.011, SQL: 8