type
status
slug
summary
tags
category
icon
password
new update day
Property
Oct 22, 2023 01:31 PM
created days
Last edited time
Oct 22, 2023 01:31 PM

0 实验内容

此次实验的基本内容是:
  1. 阅读《Linux 内核完全注释》的第 6 章,对计算机和 Linux 0.11 的引导过程进行初步的了解;
  1. 按照下面的要求改写 0.11 的引导程序 bootsect.s
  1. 有兴趣同学可以做做进入保护模式前的设置程序 setup.s。
改写 bootsect.s 主要完成如下功能:
  1. bootsect.s 能在屏幕上打印一段提示信息“XXX is booting...”,其中 XXX 是你给自己的操作系统起的名字,例如 LZJos、Sunix 等(可以上论坛上秀秀谁的 OS 名字最帅,也可以显示一个特色 logo,以表示自己操作系统的与众不同。)
改写 setup.s 主要完成如下功能:
  1. bootsect.s 能完成 setup.s 的载入,并跳转到 setup.s 开始地址执行。而 setup.s 向屏幕输出一行"Now we are in SETUP"。
  1. setup.s 能获取至少一个基本的硬件参数(如内存参数、显卡参数、硬盘参数等),将其存放在内存的特定地址,并输出到屏幕上。
  1. setup.s 不再加载 Linux 内核,保持上述信息显示在屏幕上即可。

1 实验要求一

1.1 bootsect.s 代码编写

1.2 执行测试

notion image

2 实验要求二

2.1 bootsect.s 代码编写

2.2 setup.s 代码编写

2.3 运行测试

notion image

参考资料

linux 0.11 修改时间片大小后的表现make INSTALL_MOD_STRIP=1 modules_install