操作系统制作第一弹:环境配置

前言

centos安装

安装

    centos下载

进入 CentOS 官网:https://www.centos.org/download/
鼠标向下拉,点击 alternative downloads

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

    操作系统安装

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

开发常用指令

  • 编译器和编译工具

    • gcc:GUN C语言编译器,支持C99标准并拥有独特的扩展
    • as:GAS汇编语言编译器,用于编译AT&T格式的汇编语言
    • ld:链接器,用于将编译文件链接成可执行文件。
    • nasm:NASM汇编语言编译器,用于编译Intel格式的汇编语言。
    • make:编译工具,根据编译脚本文件记录的内容编译程序。
  • 系统工具与命令

    • dd:复制指定大小的数据块,并在复制过程中转换数据格式。
    • mount:挂载命令,用于将U盘、光驱、软盘等存储设备挂载到指定路径上。
    • umount:卸载命令,与mount命令功能相反。
    • cp:复制命令,复制指定文件或目录。
    • sync:数据同步命令,将已缓存的数据回写到存储设备上。
    • rm:删除命令,删除指定文件或目录。
    • objdump:反汇编命令,负责将可执行文件反编译成汇编语言。
    • objcopy:文件提取命令,将源文件中的内容提取出来,再转存到目标文件中。

bochs配置

    采用的bochs是2.6.8版本,sourceforge站点bochs页面 https://sourceforge.net/projects/bochs/files/bochs/ 选择2.6.8,跟书上一致,乖乖一致

在这里插入图片描述
在这里插入图片描述

参考内容:在Linux下安装配置bochs,并成功

安装完成后查看版本:

bochs --version

在这里插入图片描述

Bochs运行环境配置

在bochs文件夹下新建文件bochsrc:

vim bochsrc

在文件中添加如下内容:

# configuration file generated by Bochs
plugin_ctrl: unmapped=1, biosdev=1, speaker=1, extfpuirq=1, parallel=1, serial=1, iodebug=1
config_interface: textconfig
# display_library: x, options="gui_debug"
display_library: x
#memory: host=2048, guest=2048
romimage: file="/usr/local/share/bochs/BIOS-bochs-latest"
vgaromimage: file="/usr/local/share/bochs/VGABIOS-lgpl-latest"

# 软盘启动
boot: floppy
floppy_bootsig_check: disabled=0

# 设置插入软盘的类型为容量1.44 MB的软盘,软盘镜像文件的文件名为boot.img,状态是已经插入,写保护开关置于关闭状态。
floppya: type=1_44, 1_44="boot.img", status=inserted, write_protected=0
# no floppyb
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
ata0-master: type=none
ata0-slave: type=none
ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15
ata1-master: type=none
ata1-slave: type=none
ata2: enabled=0
ata3: enabled=0
pci: enabled=1, chipset=i440fx
vga: extension=vbe, update_freq=5

cpu: count=1:1:1, ips=4000000, quantum=16, model=corei7_haswell_4770,reset_on_triple_fault=1, cpuid_limit_winnt=0, ignore_bad_msrs=1, mwait_is_nop=0, msrs="msrs.def"

cpuid: x86_64=1,level=6, mmx=1, sep=1, simd=avx512, aes=1, movbe=1, xsave=1,apic=x2apic,sha=1,movbe=1,adx=1,xsaveopt=1,avx_f16c=1,avx_fma=1,bmi=bmi2,1g_pages=1,pcid=1,fsgsbase=1,smep=1,smap=1,mwait=1,vmx=1
cpuid: family=6, model=0x1a, stepping=5, vendor_string="GenuineIntel", brand_string="Intel(R) Core(TM) i7-4770 CPU (Haswell)"

print_timestamps: enabled=0
debugger_log: -
magic_break: enabled=0
port_e9_hack: enabled=0
private_colormap: enabled=0
clock: sync=none, time0=local, rtc_sync=0
# no cmosimage
# no loader

log: -
logprefix: %t%e%d
debug: action=ignore
info: action=report
error: action=report
panic: action=ask
keyboard: type=mf, serial_delay=250, paste_delay=100000, user_shortcut=none
mouse: type=ps2, enabled=0, toggle=ctrl+mbutton
speaker: enabled=1, mode=system
parport1: enabled=1, file=none
parport2: enabled=0
com1: enabled=1, mode=null
com2: enabled=0
com3: enabled=0
com4: enabled=0

megs: 2048
  • boot:floppy:相当于设置BIOS的启动项,此处为软盘启动
  • floppya:type=1_44,1_44="boot.img",status=inserted,write_protected=0:设置插入软盘的类型为容量1.44 MB的软盘,软盘镜像文件的文件名为boot.img,状态是已经插入,写保护开关置于关闭状态。
  • cpucpuid:这两个选项描述了处理器的相关信息,可以根据个人需求自行设定,在.bochsrc文件中也有详细说明可供参考。
  • megs:2048:设置虚拟平台的可用物理内存容量,以MB为单位。目前,Bochs虚拟软件可用的内存上限是2048 MB(2 GB),如果操作系统没有足够内存,Bochs会运行失败,失败时的提示信息大致如下所示:

在这里插入图片描述

补充说明 如果把配置项display_library: x修改为display_library: x,options="gui_debug",将开启图形界面的调试窗口。

Bochs相关的调试命令

指令说明举例
b address在某物理地址上设置断点b 0x7c00
c继续执行,直到遇到断点c
s单步执行s
info cpu查看寄存器信息info cpu
r查看寄存器信息r
sreg查看寄存器信息sreg
creg查看寄存器信息creg
xp /nuf addr查看内存物理地址内容xp /10bx 0x100000
x /nuf addr查看线性地址内容x /40wd 0x90000
u start end反汇编一段内存u 0x100000 0x100010

n代表显示单元个数;u代表显示单元大小[bBytehWordwDWordgQWord(四字节)];f代表显示格式(x:十六进制、d:十进制、t:二进制、c:字符)

  • 30
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值