手写简单操作系统内核

这篇博客详细介绍了如何从零开始创建一个简单的操作系统HelloOS,包括设置GRUB引导菜单,增加启动选项,理解引导流程,分析引导汇编代码,主函数实现,以及控制计算机屏幕的方法。操作过程中涉及Ubuntu环境,GRUB配置,汇编语言编程和屏幕字符输出等关键步骤。
摘要由CSDN通过智能技术生成

在这里插入图片描述

本文目的在于自定义一个简易操作系统,通过引导程序启动后打印一行字符串,先演示操作,最后介绍原理。


1 操作过程

我的环境:
  在virtualBox上面先安装好虚拟机Ubuntu 16.04


源码:
  https://gitee.com/hnuwjw/os-hello-os


1.1 设置grub进入引导菜单

  1. 安装nasm,才能执行make

先安装nasm:

sudo apt-get install -y nasm

然后在HelloOS目录下执行:

make -f Makefile

就可以得到HelloOS.bin文件了
在这里插入图片描述

  1. 配置下启动项,不然无法选择HelloOS菜单

先修改文件:

/etc/default/grub

在这里插入图片描述

如果修改的时候报错“readonly option is set XXXXX”,则使用超级管理员角色编辑文件:

sudo vim grub

然后执行:

sudo update-grub

1.2 增加HelloOS启动选项

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

menuentry 'HelloOS' {
   
     insmod part_msdos #GRUB加载分区模块识别分区
     insmod ext2 #GRUB加载ext文件系统模块识别ext文件系统
     set root='hd0,msdos1' #注意boot目录挂载的分区,这是我机器上的情况
     multiboot2 /boot/HelloOS.bin #GRUB以multiboot2协议加载HelloOS.bin
     boot #GRUB启动HelloOS.bin
}

在这里插入图片描述

在这里插入图片描述

文件系统          1K-块    	  已用     	  可用      已用% 	挂载点
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小王曾是少年

如果对你有帮助,欢迎支持我

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值