《一个操作系统的实现》windows用vm安装CentOS——从bochs环境搭建到第一个demo跑通

这篇具有很好参考价值的文章主要介绍了《一个操作系统的实现》windows用vm安装CentOS——从bochs环境搭建到第一个demo跑通。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  1. vm安装CentOS虚拟机带有桌面的版本。
  2. su输入密码123456。更新yum -y update 。一般已经安装好后面这2个工具:yum install -y net-tools wget
  3. 看下ip地址ifconfig,然后本地终端连接ssh root@192.168.249.132输入密码即可,主要是为了复制网址方便些。大概率wget https://nchc.dl.sourceforge.net/project/bochs/bochs/2.7/bochs-2.7.tar.gz无法下载bochs,所以直接下载到本地然后复制过去 scp .\bochs-2.7.tar.gz root@192.168.249.132:~
  4. 安装bochs。tar -zvxf bochs-2.7.tar.gzcd bochs-2.7,安装过程主要参考这两篇文章:最新Linux(centos)安装bochs和【实现操作系统 01】CentOS 9 安装配置 Bochs 2.7 虚拟机,及编写简单的 bootloader 并写入软盘启动
// 1、先安装依赖
yum install gcc-c++ glibc-headers
yum install libX11-devel.x86_64
yum install  libXrandr-devel.x86_64
yum install -y epel-release

// 2.configure
./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-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

// 3.修改文件cpp为cc且修改配置文件路径
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.cpp iodev/hdimage/vpc.cc
cp iodev/hdimage/vbox.cpp iodev/hdimage/vbox.cc
cp bx_debug/parser.cpp bx_debug/parser.cc

vi bx_debug/debug.h
修改:
#include "config.h"为#include "../config.h"
#include “osdep.h"为#include "../osdep.h"
#include "cpu/decoder/decoder.h"为#include "../cpu/decoder/decoder.h"

make
make install
  1. 生成个软盘镜像。在家目录bximage,选择创建软盘fd其他默认,成功后目录中出现a.img文件。
  2. 按照书上的,编写asm代码,vi boot.asm
        org     07c00h								;org指令规定程序的起始地址,不规则则默认是0000h
        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 World!"
times   510-($-$$)      db      0					;一共512字节,最后2字节写0xaa55,所以中间插入很多0字节,数量就是512-2-上面那段代码占用的字节(当前行地址-这一节开头地址即程序初地址)
dw      0xaa55										;最后补这个是由于加电自检后寻找启动盘会优先查找软盘00磁道1扇区(1扇区512字节),并发现如果扇区最后字节以0xaa55结尾则认为这是引导扇区,并把这512字节数据复制到0000:7c00处并把控制交由这段引导程序,即我们这段程序,那我们这段程序怎么跑到7c00处的?请看第一行代码!
  1. 安装nasm。
sudo yum install automake gcc kernel-devel
wget https://www.nasm.us/pub/nasm/releasebuilds/2.15/nasm-2.15.tar.gz
tar -zvxf nasm-2.15.tar.gz
./autogen.sh
./configure
make && make install
  1. 编译代码: nasm boot.asm -o boot.bin
  2. 写进软盘镜像: dd if=boot.bin of=a.img bs=512 count=1 conv=notrunc
  3. 配置文件,在家目录中vi bochsrc
################################################
#configure file for Bochs
################################################

# how much memory the emulated machine will have
megs: 32

# filename of Rom images, 注意下边要根据你安装目录来调整
romimage: file=/usr/local/share/bochs/BIOS-bochs-latest
vgaromimage: file=/usr/local/share/bochs/VGABIOS-lgpl-latest

#what disk images will be used
floppya: 1_44=/root/a.img, status=inserted

#choose the boot disk.
boot: floppy

#where do we send log messages?
log: bochsout.txt

#disable the mouse
mouse: enabled=0

# enable key mapping, using US layout as default.
keyboard: keymap=/usr/local/share/bochs/keymaps/x11-pc-us.map
  1. 在家目录启动bochs -f bochsrc,后面是指定配置文件,其实可以省略,因为bochs会默认从几个目录中找配置文件。询问操作时默认或按6,之后按c表示continue?就启动了,虽然这个启动界面有些奇怪,但至少显示了自定义的信息。
    《一个操作系统的实现》windows用vm安装CentOS——从bochs环境搭建到第一个demo跑通,windows,centos,linux

  2. 上面制作并把数据写到a.img镜像后,可以vi查看这个文件,输入命令%!xxd可以以16进制查看,这时候32行末尾即512字节处最后2个字节就是55aa,即我们程序最后一行的dw 0xaa55文章来源地址https://www.toymoban.com/news/detail-665908.html

到了这里,关于《一个操作系统的实现》windows用vm安装CentOS——从bochs环境搭建到第一个demo跑通的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CentOS-7操作系统安装与配置

    1.软硬件准备 软件:VMware工作站允许一台真实的计算机同时运行数个操作系统,如Windows、Linux、BSD等衍生版本。 VMware 15.5 PRO下载:https://my.vmware.com/cn/web/vmware/downloads 镜像:CentOS是一个基于Red Hat Linux提供的可自由使用源代码的企业级Linux发行版本。CentOS 7下载:http://www.centos

    2024年02月11日
    浏览(51)
  • 再生龙clonezilla还原windows、linux操作系统(包含银河麒麟、ubuntu、centos等)

    重启,一直按 F 11 ,选择UEFI:VendorCoProductCode 2.00,Pratition 1这个u盘 进入系统 进入ventoy,选择再生龙 选择第二个,实际上选择 1或者2 或者3 都是可以的 选择简体中文,方便操作 下方黑底文字出现提示,按enter继续 识别出下面几个盘 /dev/nvmen1: 需要还原的系统盘,服务器上

    2024年01月24日
    浏览(48)
  • 安装Linux操作系统CentOS 6详细图文步骤

    为满足业务对Linux操作系统部署的要求,本文档主要提供CentOS 6操作系统的最小化安装和基本配置, 安装本系统建议最少1GB内存和2GB磁盘空间。 1、    使用光盘或者挂载ISO镜像,在出现如下图形界面时选择【Install or upgrade an existing system】并按Enter键进行下一步。 2、    下一

    2024年02月13日
    浏览(57)
  • 如何批量安装电脑或服务器操作系统(CentOS)

            在实践场景中遇到大量电脑或服务器需要安装操作系统用U盘一个个去安装效率太低且工作量很大,有一种方式可以让局域网内所有没有安装操作系统的主机批量安装操作系统大大的减小工作量并提高工作效率。         下面所有操作在VM虚拟机实现。      

    2024年02月10日
    浏览(65)
  • CentOS7操作系统离线安装docker

    有时候我们没有办法联网安装各种软件包,这时候就需要提前下载好所需要的包,然后把包上传到服务,在服务器上进行安装。 今天我们一起来探讨了在centos7操作系统上,安装docker。 专栏地址:容器管理 , 此专栏是沐风晓月容器篇的学习和汇总,希望能够加深自己的印象

    2023年04月21日
    浏览(58)
  • CentOS 7系统安装与配置、常用100条操作命令

    CentOS 7 是一个广泛使用的开源 Linux 操作系统,它是 Red Hat Enterprise Linux (RHEL) 的一个免费重建版本,以稳定性和安全性而著称。在 CentOS 7 上安装虚拟机通常使用虚拟化技术,如 VirtualBox 或 VMware 等。以下是 CentOS 7 的简要介绍以及如何安装 CentOS 7 虚拟机的步骤。 特点: 稳定性

    2024年02月07日
    浏览(45)
  • VMware安装CentOS7操作系统超详细图文教程

    目录 一.下载镜像 二.镜像安装 三.继续进行虚拟机设置 四.虚拟机启动设置 一些供参考的视频教程 官网镜像下载地址(需要开梯) 清华大学镜像站地址 点击虚拟机后鼠标就不会出VMare,想要鼠标返回个人的计算机,则按下Ctrl+Alt 自定义方式安装 步骤比较繁琐,与本文章的图文教

    2024年03月09日
    浏览(98)
  • Centos操作系统 前期必备工具VMWare软件介绍及安装

            大家想要安装Centos系统之前,必须先安装VMware虚拟机软件         VMware下载地址https://www.onlinedown.net/soft/984087.htm         后期我会发布centos7操作系统的详细安装教程        https://blog.csdn.net/m0_68495664/article/details/129272170 VMWare 软件介绍         VMware WorkSt

    2024年02月09日
    浏览(60)
  • 在Centos7上安装PXE装机环境来批量安装操作系统

    首先,需要确保系统已安装 dhcp 、 tftp-server 和 httpd 等软件包。可以使用以下命令进行安装: 接下来,需要配置 DHCP 服务器以向客户端分配 IP 地址。在 /etc/dhcp/dhcpd.conf 文件中添加以下内容: 这将启用 DHCP 服务器,并设置子网,IP 范围,子网掩码,网关和 DNS 服务器。还需要

    2024年02月05日
    浏览(56)
  • CentOS系列:【Linux】CentOS7操作系统安装nginx实战(多种方法,超详细)

    本次的实验环境见下表: 操作系统 服务器IP hostname centos7.6 192.168.1.41 mufengrow41 如何查看相应的参数: 查看操作系统: 查看ip 2.1 添加yum源 nginx不在的默认的yum源中, 可以使用epel或者官网提供的yum源来安装。 以下两种方法,选择任意一种即可,也就是2.1.1和2.1.2两个小节的内

    2024年04月15日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包