type
status
date
slug
summary
tags
category
created days
new update day
icon
password
Created_time
Jul 11, 2023 12:06 PM
Last edited time
Mar 1, 2025 01:50 AM

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 中添加 whoami 与 iam 系统调用make INSTALL_MOD_STRIP=1 modules_install
Loading...