1、Linux 启动过程分析 毕业论文(设计) 题目题目: : L Linuxinux 启动过程分析启动过程分析及及 DNSDNS 服务器服务器 Linux 启动过程分析 引引 言言 Linux 最初是由瑞典赫尔辛基大学的学生 Linus Torvalds 在 1991 年开发出来的,之后在 GNU 的支持下,Linux 获得了巨大的发 展。1 个嵌入式 Linux 系统从软件角度看可以分为 4 个部分:引导 加载程序 bootloader),Linux 内核,文件系统,应用程序。其中 bootloader 是系统启动或复位以后执行的第 1 段代码,它主要用来 初始化处理器及外设,然后调用 Lin
2、ux 内核。Linux 内核在完成系 统的初始化之后需要挂载某个文件系统做为根文件系统(Root Filesystem)。根文件系统是 Linux 系统的核心组成部分,它可以 做为 Linux 系统中文件和数据的存储区域。应用程序可以说是嵌入 式系统的“灵魂”, 它所实现的功能通常就是设计该嵌入式系统所要 达到的目标。如果没有应用程序的支持,任何硬件上设计精良的嵌入 式系统都没有实用意义。从以上分析我们可以看出 bootloader 和 Linux 内核在嵌入式系统中的关系和作用。bootloader 在运行过程 中虽然具有初始化系统和执行用户输入的命令等作用, 但它最根本的 功能就是为了启动
3、 Linux 内核。在嵌入式系统开发的过程中,很大 1 部分精力都是花在 bootloader 和 Linux 内核的开发或移植上。 如果能清楚的了解 bootloader 执行流程和 Linux 的启动过程,将 有助于明确开发过程中所需的工作,从而加速嵌入式系统的开发过 程。而这正是本文的所要研究的内容。 Linux 启动过程分析 目目 录录 第一章第一章 绪论绪论 . 4 1.1 Linux 1.1 Linux 操作系统操作系统 4 1.1.1 Linux 1.1.1 Linux 操作系统的历史操作系统的历史 4 1.1.2 LinuxLinux 操作系统的特点操作系统的特点 5 1.1.
4、3 嵌入式嵌入式 LINUX的应用的应用. 5 2.12.1 Linux Linux 的安装的安装 . 5 第二章第二章 BootloaderBootloader 7 2.1 Bootloader2.1 Bootloader 的概念和作用的概念和作用 8 2.2 Bootloader2.2 Bootloader 的执行过程的执行过程 8 2.3 bootloader2.3 bootloader 必须具备的必须具备的功能功能 8 第三章第三章 LinuxLinux 内核的启动过程内核的启动过程 . 11 3.1 Linux3.1 Linux 内核入口内核入口 11 3.2 start_kerne
5、l3.2 start_kernel 函数函数 11 3.3 3.3 结论结论 11 第四章第四章 ShellShell 13 4.1 Shell 13 4.2 4.2 常用常用 ShellShell 命令命令 .15 第五章第五章 总结总结 20 Linux 启动过程分析 第一章第一章 绪论绪论 1.11.1 Linux Linux 操作系统操作系统 1.1.1 1.1.1 Linux Linux 操作系统的历史操作系统的历史 Linux 操作系统刚开始时并没有被称作 Linux,Linus 给他的操 作系统取名为 FREAX,其英文含义是怪诞的、怪物、异想天开等意 思。在他将新的操作系统上载
6、到 ftp,funet。fi 服务器上时,管理员 Ari Lemke 很不喜欢这个名称。他认为既然是 Linus 的操作系统就取 其谐音 Linux 作为该操作系统的目录吧,于是 Linux 这个名称就开 始流传下来。在 Linus 的自传Just for Fun一书中,Linus 解释说: “坦白地说,我从来没有想到过要用 Linux 这个名称发布这个操作系 统,因为这个名字有些太自负了。而我为最终发布版准备的是什么名 字呢 Freax。实际上内核代码中某些早期的 Makefile - 用于描述如何 编译源代码的文件 - 文件中就已经包含有“Freax“这个名字了,大约 存在了半年左右。 但其实这也没什么关系, 在当时还不需要一个名字, 因为我还没有向任何人发布过内核代码。而 Ari Lemke,他坚持要用 自己的方式将内核代码放到 ftp 站点上, 并且非常不喜欢 Freax 这个 名字。 他坚持要用现在这个名字(Linux), 我承认当时我并没有跟他多 争论。但这都是他取的名字。所以我可以光明正大地说我并不自负, 或者部分坦白地说我并没有本位主义思想。