Linux0.11内核的学习——工具的准备

本文详细介绍了如何在Linux环境下实现操作系统引导程序的编译和虚拟软盘的创建,利用nasm、bximage和dd命令。此外,讲解了Bochs这款专业的X86架构虚拟机的安装与配置,包括其特点、调试命令和配置文件bochsrc.txt的编写。文章还提到了使用FreeDos对软盘进行格式化的步骤,是操作系统开发和调试的实用教程。
摘要由CSDN通过智能技术生成

实现操作系统引导程序的前置工作

一 . 用到的命令
1.nasm
nasm boot.asm -o boot.bin
实现汇编代码的编译
2.bximage
bximage a.img -q -fd -size=1.44
-fd是创建虚拟软盘,大小为1.44M
3.dd
dd if=boot.bin of=a.img bs=512 \count=1 conv=notrunc
将二进制虚拟码写入软盘
if:代码的是输入,编译后的结果
of:代表的是输出,输出到a.img
bs=512:写入的大小
conv=notrunc:连续的写入
实现步骤
1.在linux下实现一个.asm文件
在命令行总编译
nasm boot.asm -o boot.bin
2.创建虚拟软盘:
bximage
经过创建好得到a.img
3.将二进制机器码写到a.img中

二 . 虚拟机创建

三 . Bochs软件

特点:
1.专业模拟X86架构虚拟机
2.开源软件(c++实现)
3.支持操作系统开发中的断点调试
4.简单配置就可以运行大主流操作系统

安装注意:
1.确定bochs安装路径(which bochs)
2.安装vgabios(apt-get install vgabios)
3.确定vgabios的安装路径(whereis vgabios)

使用方法:
1.安装完毕后,直接运行
bochs->continue

补充说明:
1.bochs的运行需要启动文件,在当前路径下,准备bochsrc.txt文件,这个文件模板如下

###############################################################
# Configuration 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/share/vgabios/vgabios.bin
# what disk images will be used
floppya: 1_44=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_mapping: enabled=1, map=/usr/local/share/bochs/keymaps/x11-pc-us.map

填入bochs的两个romimage 文件路径,接着安装vgabios并找到vgaromimage:的所在路径。
接着填入map的值,map的值也在keymap的路径之下。
2.bochs调试常用命令
b 设置断点
c 继续执行
s 单步执行
info b 查看当前所有断点
info cpu 查看cpu状态
r 查看常规寄存器状态
x 查看内存中的数据
trace on 打印执行指令
trace-reg on 打印寄存器的数值

四.创建虚拟软盘
bximage
FreeDos操作系统进行对软盘的格式化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值