美文网首页
设置工作模式与环境

设置工作模式与环境

作者: 一生逍遥一生 | 来源:发表于2021-11-17 20:09 被阅读0次

把多个文件组装在一起形成一个文件,这个文件称为内核映像文件。
可以通过lmoskrlimg 命令,将文件打包成一个映像:
lmoskrlimg -m -k plhf GRUB头文件 -o 映像文件 -f 输入文件列表
-m 表示模式:只能是k内核模式
-lhf 表示后面跟上GRUB头文件
-o 输出的映像文件名
-f 表示输入文件列表
dd命令用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。

规则二级引导器

文件名 功能
imginithead.asm GRUB头的汇编部分
inithead.c GRUB头的C语言部分,用于放置二级引导器到指定内存中
realintsve.asm 实现调用bios中断的功能
ldrkrl32.asm 二级引导器核心入口汇编部分
ldrkrlentry.c 二级引导器核心入口
bstartparm.c 实现收集机器信息建立页面数据
chkcpmm.c 实现检查CPU工作模式和内存视图
fs.c 实现解析映像文件的功能
graph.c 实现切换显卡图形模式
vgastr.c 实现字符串输出

使用命令将代码中的文件打包成映像:

lmoskrlimg -m k -lhf initldrimh.bin -o HelloOS.eki -f initldrkrl.bin initldrsve.bin

实现grub头
imginithead.asm 汇编文件可以让GRUB识别,又能设置C语言运行环境,用于调用C函数;
inithead.c文件主要功能是查找二级引导器的核心文件initldrkrl.bin,将其放置到特定的内存地址上。
imginithead.asm 主要工作是初始化CPU的寄存器,加载GDT,切换到CPU的保护模式。
要在C函数中调用BIOS中断是不可能的,因为C语言代码运行在32位保护模式下,BIOS中断工作是在16位的实模式。

相关文章

  • 设置工作模式与环境

    把多个文件组装在一起形成一个文件,这个文件称为内核映像文件。可以通过lmoskrlimg 命令,将文件打包成一个映...

  • vim编辑器

    模式 命令模式:控制光标移动,可对文本进行删除、复制、粘贴和查找。 末行模式:保存、退出与设置编辑环境。 输入模式...

  • 三、vim和用户管理

    一、ViM VI 与vim的三个模式 文本编辑 进入其它模式: 扩展命令模式: 查找替换 设置环境 : 二、文件基...

  • flask--启动服务器

    一:设置环境变量 二、开启调试模式

  • Golang学习笔记-go mod

    环境变量设置 环境变量GO111MODULE可设置三种值:on,off,auto,off表示使用GOPATH模式,...

  • 走进孩子的世界

    成人的工作模式是为了生存,与天斗,与地斗,与人斗,因为资源的有限,必须挣。 孩子的工作模式是向内寻,通过在外环境,...

  • vue - 学习笔记

    环境变量与模式 设置 基础 过滤器 观察属性 计算属性 表单绑定 表单修饰符 组件 路由 vue-router 事...

  • iOS13适配(Dark Mode)深色模式

    获取当前模式 提供两种方式设置手机当前外观模式 设置 –> 显示与亮度 控制中心, 长按亮度调节按钮 获取当前模式...

  • DHCP 服务

    配置环境 server和client 设置网卡1(仅主机模式)server :只配ip 192.168.19.2其...

  • iOS开发中设置多环境(OC+swift)

    设置多环境原因 Xcode默认只有Debug和Release两种环境模式,但我们开发中可能有多个环境:开发、测试、...

网友评论

      本文标题:设置工作模式与环境

      本文链接:https://www.haomeiwen.com/subject/tmhrtrtx.html