电脑常识操作系统实战45讲01:运行HelloOS

电脑常识操作系统实战45讲01:运行HelloOS

根据IAB E“2021年欧洲广告报告”,2021年下半年欧洲数字广告强劲复苏,全年增长6%,达到694亿欧元。刷赞平台的相关资讯可以到我们网站了解一下,从专业角度出发为您解答相关问题,给您优质的服务!教程弟

目录

1. HelloOS说明

1.1 HelloOS构成

1.2 HelloOS编译

2. 部署HelloOS

2.1 设置grub进入引导菜单

2.2 增加HelloOS启动选项

2.3 启动HelloOS


1. HelloOS说明

1.1 HelloOS构成

HelloOS为极客时间《操作系统实战45讲》中引入的示例OS,在L02中由如下文件构成,

各文件内容简介如下,

① entry.asm

供grub调用的引导程序,用于设置CPU工作模式与工作环境,并调用C语言编写的main函数

② main.c

实现main函数,此处用于打印字符串

③ vgastr.c / vgastr.h

实现字符串在显示器上的输出

④ hello.lds

链接器脚本,用于指导链接过程,设定不同程序段的布局

⑤ Makefile

编译脚本,用于指导编译过程

1.2 HelloOS编译

HelloOS编译过程如下图所示,

说明1:nasm汇编器

X86体系结构的汇编语言编译器有多种,如MASM / FASM / TASM / AS86 / NASM等,此处使用的nasm汇编器有如下特点,

① 开源免费(有些汇编语言编译器是需要付费的)

② 支持多种操作系统平台

③ 允许汇编语言源程序中只包含指令(作为对比,MASM编译器需要在源程序中定义很多组件才能开始编程)

Ubuntu中默认未安装nasm汇编器,可使用如下命令安装,

sudo apt-get install nasm

说明2:链接器-map选项

在Makefile中,在链接生成HelloOS.elf时,使用了-map选项

该选项将使得在链接过程中,生成链接布局文件,通过该文件可知HelloOS的内存映射布局

2. 部署HelloOS

说明:实验环境为VMware + Ubuntu 16.04

2.1 设置grub进入引导菜单

我们将HelloOS作为一个操作系统启动项供grub启动,因此需要能够在PC启动时进入grub引导菜单,并选择启动HelloOS

为了能够每次启动时进入grub引导菜单,需要进行如下设置

① 修改/etc/default/grub

a. 注释掉HIDDEN所在的2行

b. 将GRUB_TIMEOUT设置为30(使用默认值10其实也可以)

c. 将GRUB_CMDLINE_LINUX_DEFAUL设置为text

参考资料:https://jingyan.baidu.com/article/6dad50755e35d1a123e36ecc.html

② 执行如下命令,更新grub配置

sudo update-grub

2.2 增加HelloOS启动选项

修改/boot/grub/grub.cfg,增加HelloOS启动项

说明:set root属性需要根据实际情况填写,应填写/boot目录所在分区,可使用df命令查看

mount命令也可查看

2.3 启动HelloOS

此时重启虚拟机,便可见到HelloOS启动项

选择该启动项,即可启动HelloOS

文章来源:https://blog.csdn.net/chenchengwudi/article/details/116707122

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
本文地址:https://www.jcdi.cn/fwq1/5750.html

阿哇教育
www.awaedu.com
作文哥
www.zuowenge.cn
搜码吧
www.somanba.cn
搜白度
www.sobd.cc
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值