美丽心灵公益论坛

查看: 2522|回复: 7

自制了引导加载程序

[复制链接]
累计签到:39 天
连续签到:5 天

61

主题

632

回帖

3455

积分

论坛元老

Rank: 8Rank: 8

积分
3455
孤星1119 发表于 2021-8-7 16:54:55| 字数 756 | 显示全部楼层 |阅读模式
本帖最后由 孤星1119 于 2021-10-10 20:27 编辑

啥是“引导加载程序”?问一问百度:
Boot Loader 是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。

先看一看图片,我所自制的Boot Loader是什么?

首先启动电脑时,选U盘(USB棒)作为Boot Device:



然后你会看到"Hi"字样,就这么简单。




我是如何做到的?

参考了Redox OS的开源代码,我整理出这个Boot Loader.
  1. format binary as 'img'
  2. org 7C00h

  3.         xor     ax,ax
  4.         mov     ds,ax        
  5.         mov     es,ax
  6.         mov     ss,ax
  7.         mov     sp,7C00h
  8.         push    ax
  9.         push    start
  10.         retf

  11. start:
  12.         mov     al,72                ; "H"
  13.         call        print
  14.         mov     al,105                ; "i"
  15.         call        print
  16.         jmp     $

  17. print:
  18.             pusha
  19.             mov     bx, 7                ; Foreground color
  20.             mov     ah, 0eh                ; Write Character in Teletype (TTY) Mode
  21.             int     10h
  22.             popa
  23.             ret

  24. rb 7C00h+510-$
  25. dw 0AA55h
复制代码


上述汇编代码必须用Flat Assembler来编译成镜像文件(boot.asm --> boot.img)。

之后再刻录到U盘,或用虚拟机来测试。

如果你是用Linux, 只需键入以下命令行指令:
  1. ./fasm boot.asm
  2. sudo dd if=boot.img of=/dev/sdb
复制代码


如果你是用Windows,可以使用ISO刻录软件。

虽然我没有真正开发操作系统内核,不过很高兴能够用自己的小程序启动电脑。







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

评分

参与人数 1钻石 +48 收起 理由
simonzhd + 48 很给力!

查看全部评分

累计签到:1464 天
连续签到:6 天

521

主题

6317

回帖

519万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5198312

活跃会员热心会员发帖达人最佳新人

活跃会员
simonzhd 发表于 2021-8-7 19:43:38| 字数 24 | 显示全部楼层
不明觉厉,能开发底层语言程序的某种程度上都是大牛
累计签到:39 天
连续签到:5 天

61

主题

632

回帖

3455

积分

论坛元老

Rank: 8Rank: 8

积分
3455
 楼主| 孤星1119 发表于 2021-8-7 21:09:26| 字数 121 | 显示全部楼层
simonzhd 发表于 2021-8-7 19:43
不明觉厉,能开发底层语言程序的某种程度上都是大牛

他们是,我不是,毕竟自己是精神病人。无论如何,十分感谢你的称赞。

一般上我的专注力不强,都是喜欢做些感兴趣的项目,不能赚钱,也对社会没有贡献。哈哈。
累计签到:1464 天
连续签到:6 天

521

主题

6317

回帖

519万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5198312

活跃会员热心会员发帖达人最佳新人

活跃会员
simonzhd 发表于 2021-8-8 09:36:17| 字数 82 | 显示全部楼层
孤星1119 发表于 2021-8-7 21:09
他们是,我不是,毕竟自己是精神病人。无论如何,十分感谢你的称赞。

一般上我的专注力不强,都是喜欢做 ...

嗯,自得其乐就好~
累计签到:24 天
连续签到:1 天

271

主题

1224

回帖

211万

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2113409
james007 发表于 2021-8-8 11:48:10| 字数 9 | 显示全部楼层
孤星,还是很棒的啊
人生如棋,人如棋子
累计签到:3 天
连续签到:1 天

463

主题

5098

回帖

2万

积分

超级版主

Rank: 8Rank: 8

积分
23605

最佳新人活跃会员发帖达人

最佳新人
蓝莓糖 发表于 2021-8-9 14:12:04| 字数 3 | 显示全部楼层
Hi!

点评

嗨,哈哈,可惜不能显示汉字。  发表于 2021-8-10 15:30
累计签到:39 天
连续签到:5 天

61

主题

632

回帖

3455

积分

论坛元老

Rank: 8Rank: 8

积分
3455
 楼主| 孤星1119 发表于 2021-8-11 19:16:03| 字数 29 | 显示全部楼层
本帖最后由 孤星1119 于 2021-10-10 20:26 编辑





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|免责及版权声明|关于|美丽心灵公益论坛

GMT+8, 2025-8-13 14:10 , Processed in 0.114123 second(s), 32 queries .

Powered by Discuz! X3.4

!copyright!

快速回复 返回顶部 返回列表