配合视频阅读体验更佳!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
文章来源:https://www.toymoban.com/news/detail-477638.html
启动之后,输入c即可看见Hello world!
文章来源地址https://www.toymoban.com/news/detail-477638.html
到了这里,关于《操作系统真象还原》第一章 部署工作环境的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!