《操作系统真象还原》第一章 部署工作环境

这篇具有很好参考价值的文章主要介绍了《操作系统真象还原》第一章 部署工作环境。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

配合视频阅读体验更佳!https://www.bilibili.com/video/BV1kg4y1V7TV/?pop_share=1&vd_source=701807c4f8684b13e922d0a8b116af31

环境vmware + deepin-desktop-community-20.8-amd64
(已在纯净ubuntu 22.04上验证过此教程,完全可行!只是需要安装vim 命令: sudo apt install vim
先安装其他需要的东西:

sudo apt install build-essential

sudo apt-get install libghc-x11-dev

sudo apt-get install xorg-dev

下载Bochs https://udomain.dl.sourceforge.net/project/bochs/bochs/2.6.8/bochs-2.6.8.tar.gz

下载完毕之后将其移动至虚拟机中想要的位置,然后解压,命令:tar -zxvf bochs-2.6.8.tar.gz

为即将要安装的bochs创建一个空目录

mkdir bochs

进入解压后的bochs-2.6.8文件夹 cd bochs-2.6.8

配置bochs的config文件(–prefix这后面填的是你想要安装bochs的目录),编译,安装

./configure --prefix=/home/kanshan/Desktop/bochs --enable-debugger --enable-disasm --enable-iodebug --enable-x86-debugger --with-x --with-x11 LDFLAGS='-pthread'

make

make install

进入安装好bochs的目录 cd .. cd bochs创建bochsrc.disk 命令: touch bochsrc.disk,在其中写下配置信息(修改romimage:romimage:keyboard:后面路径信息的前部分为自己的bochs安装路径)

megs : 32

romimage: file=/home/kanshan/Desktop/bochs/share/bochs/BIOS-bochs-latest
vgaromimage: file=/home/kanshan/Desktop/bochs/share/bochs/VGABIOS-lgpl-latest

boot: disk

log: bochs.out

mouse:enabled=0
keyboard:keymap=/home/kanshan/Desktop/bochs/share/bochs/keymaps/x11-pc-us.map

ata0:enabled=1,ioaddr1=0x1f0,ioaddr2=0x3f0,irq=14
ata0-master: type=disk, path="hd60M.img", mode=flat,cylinders=121,heads=16,spt=63

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


创建启动磁盘

bin/bximage

然后在输入框依次输入以下,输入一个,按一次回车

1

hd

flat

60

hd60M.img

测试代码

cd ..

touch mbr.s

SECTION MBR vstart=0x7c00
	mov ax,0x0000	;设置栈指应该是程序一开始就应该做的事情,这个值是参照1m内存空间布局图选择的,以后会刻意避开
	mov ss,ax
	mov ax,0x7c00
	mov sp,ax	
 
	mov ax,0x0600
	mov bx,0x0700	;BH是设置缺省属性,属性是指背景色,前景色,是否闪烁等,例如07H表示黑底白字,70H表示灰底黑字等等。
	mov cx,0x0000
	mov dx,0x184f	;这个看书p61,同时看其中关于页的知识
	int 0x10
	
	mov ax,0x0300	
	mov bx,0x0000	
	int 0x10
	
	mov ax,0x0000
	mov es,ax
	mov ax,message
	mov bp,ax
	mov ax,0x1301
	mov bx,0x0007	;设置字体属性,02是黑底绿字,07是黑底白字
	mov cx,0x000c
	int 0x10
	
	jmp $
	message db "Hello World!"
	times 510-($-$$) db 0
	db 0x55,0xaa

安装编译器nasm 命令: sudo apt install nasm

编译 nasm -o test mbr.s

写入虚拟机启动磁盘 dd if=/home/kanshan/Desktop/test of=/home/kanshan/Desktop/bochs/hd60M.img bs=512 count=1 conv=notrunc

启动虚拟机查看效果(在bochs目录下)

cd bochs

bin/bochs -f bochsrc.disk

启动之后,输入c即可看见Hello world!文章来源地址https://www.toymoban.com/news/detail-477638.html

到了这里,关于《操作系统真象还原》第一章 部署工作环境的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Linux操作系统基础教程 第一章 绪论

    第一章 绪论 一、 Unix 家族中的一员 ① UNIX , 1971 年由 ATT 发布, 73 年重写, 70 年代末, ATT 成立了 Unix 系统实验室( Unix System Lab , USL ),宣布对 Unix 产品拥有所有权, 1983 年发布了 SYSTEM V 。在 UNIX7 之前, UNIX 是免费或收取少量费 用开放源码的。 UNIX 的研发诞生了 C 语言

    2024年02月04日
    浏览(62)
  • 第一章 计算机系统概述 四、操作系统的运行机制

    状态的切换: 内核态转用户态 ,是指操作系统让出cpu使用权给应用程序。(一条修改PSW的特权指令) 用户态转内核态 ,指操作系统 发出一个中断信号 ,将应用程序强行停止, 转换为内核程序 ,并 得到cpu的使用权 。(由中断引起,硬件自动完成) 注意: 一个共性是,但

    2024年02月09日
    浏览(66)
  • 【操作系统】24王道考研笔记——第一章 计算机系统概述

    1.1 定义 1.2 特征 并发 (并行:指两个或多个事件在同一时刻同时发生) 共享 (并发性指计算机系统中同时存在中多个运行着的程序,共享性指系统中的资源可供内存中多个并发执行的进程共同使用) 虚拟 异步 并发和共享互为存在条件。没有并发和共享,就谈不上虚拟和异

    2024年02月12日
    浏览(80)
  • 基于STM32的homeassistant(采用FreeRTOS操作系统)【第一章:设备配网、连接服务器、断网重连、断服务器重接】

      主控 STM32F103C8T6 WIFI模块 ESP01S 开发语言 C 开发编译器· KEIL 组网方式 WIFI 服务器协议 MQTT ESP01S的AT指令配网以及服务器连接 STM32与ESP01S的usart协议通信 断网重连以及断服务器重连 STM32向服务器端口发送对应指令         ESP01S的配网方式为AT指令集,通过识别对对应的AT指令

    2024年02月12日
    浏览(53)
  • 台式电脑系统还原如何操作

    大家在使用电脑的事后可能会遇到各种各样的故障问题,而解决办法一般都是只能是通过电脑系统还原,对于还不是十分熟悉,那么到底该怎么操作呢?别担心,今天,小编就将台式电脑系统还原方法带给大家。 工具/原料: 系统版本:windows10专业版 品牌型号:惠普 V3913TU 方法

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

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

    2024年01月24日
    浏览(50)
  • 操作系统 面试第一弹

    进程(Process)和线程(Thread)是操作系统中的重要概念,它们表示执行中的程序的不同执行单元。下面是它们的区别: 定义:进程是一个独立的执行环境,具有独立的内存空间,包含程序代码、数据和执行状态。线程是进程内的一个执行单元,共享相同的内存空间和系统资

    2024年02月09日
    浏览(39)
  • 基于STM32的homeassistant(采用FreeRTOS操作系统)【第一、二章优化拓展:Wifi、服务器连接验证以及UASRT串口区分】

      主控 STM32F103C8T6 WIFI模块 ESP01S 开发语言 C 开发编译器· KEIL 组网方式 WIFI 服务器协议 MQTT STM32 ESP01S 3.3V 3.3V GND GND GPIO2  (USRAT2-TX) RX GPIO3 (USART3-RX) TX 对ESP01S的AT指令的反馈指令进行验证解析 对ESP的USART2通信串口进行printf端口重映射 对调试用的USART1通信串口编写USART_printf函数并

    2024年02月17日
    浏览(52)
  • UOS服务器操作系统部署EFK

    Elasticsearch 是一个实时的、分布式的可扩展的搜索引擎,允许进行全文、结构化搜索,它通常用于索引和搜索大量日志数据,也可用于搜索许多不同类型的文档。 Beats 是数据采集的得力工具。将 Beats 和您的容器一起置于服务器上,或者将 Beats 作为函数加以部署,然后便可在

    2024年02月17日
    浏览(62)
  • 在Linux操作系统上部署wgcloud监控

    1.1 介绍 ​ 这是一款开源的主机监控系统,可以支持主机各种指标监测(cpu使用率,cpu温度,内存使用率,磁盘容量空间,磁盘IO,硬盘SMART健康状态,系统负载,连接数量,网卡流量,硬件系统信息等)。支持监测服务器上的进程应用、文件、端口、日志、DOCKER容器、数据库

    2024年02月01日
    浏览(38)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包