📄 install.htm
字号:
<html>
<head>
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>通过Redhat 7</title>
<meta name="Microsoft Theme" content="axis 111, default">
<meta name="Microsoft Border" content="tlb, default">
</head>
<body background="../_themes/axis/axibkgnd.gif" bgcolor="#FFFFFF" text="#000000" link="#00CC00" vlink="#996666" alink="#FF9933"><!--msnavigation--><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td><!--mstheme--><font face="宋体">
<center>
<h1><!--mstheme--><font color="#666633">
<!--mstheme--></font></h1>
<!--msthemeseparator--><p align="center"><img src="../_themes/axis/aaxirule.gif" width="600" height="10"></p></center>
<!--mstheme--></font></td></tr><!--msnavigation--></table><!--msnavigation--><table dir="ltr" border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td valign="top" width="1%"><!--mstheme--><font face="宋体">
<p><font face="Trebuchet MS" size="4">
</font></p>
<!--mstheme--></font></td><td valign="top" width="24"></td><!--msnavigation--><td valign="top"><!--mstheme--><font face="宋体">
<h1 align="center" style="text-align: center; line-height: 125%"><!--mstheme--><font color="#666633">
<span style="font-family: 宋体">通过</span><span lang="EN-US">Redhat 7.1</span><span style="font-family: 宋体">实施安装</span><!--mstheme--></font></h1>
<p class="MsoNormalIndent" style="line-height: 125%">
<span style="font-family: 宋体">我们安装的开发环境是</span><span lang="EN-US">Redhat 7.1</span><span style="font-family: 宋体">,内核版本</span><span lang="EN-US">linux-2.4.2</span><span style="font-family: 宋体">,下面以该版本为例来讨论</span><span lang="EN-US">LINUX</span><span style="font-family: 宋体">操作系统安装和加载问题。在</span><span lang="EN-US">Redhat
7.1Linux</span><span style="font-family: 宋体">操作系统中,当重构内核时,首先进入目录</span><span lang="EN-US">/usr/src/
linux-2.4.2</span><span style="font-family: 宋体">,执行</span><span lang="EN-US">make</span><span style="font-family: 宋体">命令,该命令根据文件</span><span lang="EN-US">/usr/src/
linux-2.4.2.Makefile</span><span style="font-family: 宋体">中的规则,执行规则指定的各个命令,其执行过程是首先生成一个内核图象,然后再把该内核图象压缩后,安装到系统之中。生成内核图象的</span><span lang="EN-US">make</span><span style="font-family: 宋体">规则为:</span></p>
<p class="MsoNormalIndent" style="line-height: 125%"><b><i><span lang="EN-US">
vmlinux: $(CONFIGURATION) init/main.o init/version.o linuxsubdirs</span></i></b></p>
<p class="MsoNormalIndent" style="line-height: 125%"><b><i><span lang="EN-US">
$(LD) $(LINKFLAGS) $(HEAD) init/main.o init/version.o \</span></i></b></p>
<p class="MsoNormalIndent" style="line-height: 125%"><b><i><span lang="EN-US">
--start-group \</span></i></b></p>
<p class="MsoNormalIndent" style="line-height: 125%"><b><i><span lang="EN-US">
$(CORE_FILES) \</span></i></b></p>
<p class="MsoNormalIndent" style="line-height: 125%"><b><i><span lang="EN-US">
$(DRIVERS) \</span></i></b></p>
<p class="MsoNormalIndent" style="line-height: 125%"><b><i><span lang="EN-US">
$(NETWORKS) \</span></i></b></p>
<p class="MsoNormalIndent" style="line-height: 125%"><b><i><span lang="EN-US">
$(LIBS) \</span></i></b></p>
<p class="MsoNormalIndent" style="line-height: 125%"><b><i><span lang="EN-US">
--end-group \</span></i></b></p>
<p class="MsoNormalIndent" style="line-height: 125%"><b><i><span lang="EN-US">
-o vmlinux</span></i></b></p>
<p class="MsoNormalIndent" style="line-height: 125%">
<span style="font-family: 宋体">我们实现虚拟地址空间基于文件操作系统的安装和加载的方法是:修改该规则,使得做</span><span lang="EN-US">make</span><span style="font-family: 宋体">重构内核时,不再根据生成</span><span lang="EN-US">linux</span><span style="font-family: 宋体">内核的目标文件生成内核图象,而是根据生成虚拟地址空间基于文件操作系统的目标文件生成内核图象,为此把上诉规则修改为:</span></p>
<p class="MsoNormalIndent" style="line-height: 125%"><b><i><span lang="EN-US">
vmlinux : $(LFYOS)</span></i></b></p>
<p class="MsoNormalIndent" style="line-height: 125%"><b><i><span lang="EN-US">
$(LD) $(LINKFLAGS) $(LFYOS) -o vmlinux</span></i></b></p>
<p class="MsoNormalIndent" style="text-indent: 20.35pt; line-height: 125%"><b>
<i><span lang="EN-US"> </span></i></b><span style="font-family: 宋体">变量</span><span lang="EN-US">$(LFYOS)</span><span style="font-family: 宋体">中存放的是生成虚拟地址空间基于文件操作系统内核需要的目标文件,这样当我们重新做</span><span lang="EN-US">make</span><span style="font-family: 宋体">重构内核时,就会根据变量</span><span lang="EN-US">$(LFYOS)</span><span style="font-family: 宋体">中指定的目标文件生成一个内核图象,并把该内核图象安装到系统之中,而不再根据生成</span><span lang="EN-US">Li<i>nux</i></span><span style="font-family: 宋体">的内核文件生成和安装</span><span lang="EN-US">LINUX</span><span style="font-family: 宋体">内核图象。当重新启动系统时,就会把我们实现的内核启动起来,而不会启动一个</span><span lang="EN-US">LINUX</span><span style="font-family: 宋体">内核。</span></p>
<p class="MsoNormalIndent" style="line-height: 125%">
<span style="font-family: 宋体">安装和加载的详细步骤如下:</span></p>
<p class="MsoNormalIndent" style="text-indent: -42.0pt; line-height: 125%; margin-left: 42.0pt">
<span lang="EN-US">
<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7.0pt; font-family: Times New Roman">
</span>i.<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7.0pt; font-family: Times New Roman">
</span></span><span style="font-family: 宋体">以超级用户</span><span lang="EN-US">root</span><span style="font-family: 宋体">注册。安装操作系统的内核当然必须是超级用户</span><span lang="EN-US">root</span><span style="font-family: 宋体">。</span></p>
<p class="MsoNormalIndent" style="text-indent: -42.0pt; line-height: 125%; margin-left: 42.0pt">
<span lang="EN-US">
<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7.0pt; font-family: Times New Roman">
</span>ii.<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7.0pt; font-family: Times New Roman">
</span></span><span style="font-family: 宋体">检查系统是否安装了内核开发的软件包,是否安装了</span><span lang="EN-US">lilo</span><span style="font-family: 宋体">,如果没有安装安装之,关于如何安装请参考安装</span><span lang="EN-US">LINUX</span><span style="font-family: 宋体">的详细资料,此处略。</span></p>
<p class="MsoNormalIndent" style="text-indent: -42.0pt; line-height: 125%; margin-left: 42.0pt">
<span lang="EN-US">
<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7.0pt; font-family: Times New Roman">
</span>iii.<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7.0pt; font-family: Times New Roman">
</span></span><span style="font-family: 宋体">重构一遍</span><span lang="EN-US">linux</span><span style="font-family: 宋体">内核,关于如何重构</span><span lang="EN-US">linux</span><span style="font-family: 宋体">内核请参考安装</span><span lang="EN-US">LINUX</span><span style="font-family: 宋体">的详细资料,此处略。</span></p>
<p class="MsoNormalIndent" style="text-indent: -42.0pt; line-height: 125%; margin-left: 42.0pt">
<span lang="EN-US">
<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7.0pt; font-family: Times New Roman">
</span>iv.<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7.0pt; font-family: Times New Roman">
</span></span><span style="font-family: 宋体">进入目录</span><span lang="EN-US">/usr/src/linux-X.X.X</span><span style="font-family: 宋体">(其中的</span><span lang="EN-US">X.X.X</span><span style="font-family: 宋体">为内核版本号),复制一个</span><span lang="EN-US">Makefile</span><span style="font-family: 宋体">,也就是执行命令</span><span lang="EN-US">:</span></p>
<p class="MsoNormalIndent" style="text-indent: 0cm; line-height: 125%; margin-left: 63.0pt">
<span lang="EN-US">cp Makefile lfy_makefile</span></p>
<p class="MsoNormalIndent" style="text-indent: -42.0pt; line-height: 125%; margin-left: 42.0pt">
<span lang="EN-US">
<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7.0pt; font-family: Times New Roman">
</span>v.<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7.0pt; font-family: Times New Roman">
</span></span><span style="font-family: 宋体">编辑文件</span><span lang="EN-US">lfy_makefile</span><span style="font-family: 宋体">,确定其中的规则:</span></p>
<p class="MsoNormalIndent" style="text-indent: 21.25pt; line-height: 125%; margin-left: 42.5pt">
<b><i><span lang="EN-US">vmlinux: $(CONFIGURATION) init/main.o init/version.o
linuxsubdirs</span></i></b></p>
<p class="MsoNormalIndent" style="line-height: 125%"><b><i><span lang="EN-US">
$(LD) $(LINKFLAGS) $(HEAD) init/main.o init/version.o
\</span></i></b></p>
<p class="MsoNormalIndent" style="line-height: 125%"><b><i><span lang="EN-US">
--start-group \</span></i></b></p>
<p class="MsoNormalIndent" style="line-height: 125%"><b><i><span lang="EN-US">
$(CORE_FILES) \</span></i></b></p>
<p class="MsoNormalIndent" style="line-height: 125%"><b><i><span lang="EN-US">
$(DRIVERS) \</span></i></b></p>
<p class="MsoNormalIndent" style="line-height: 125%"><b><i><span lang="EN-US">
$(NETWORKS) \</span></i></b></p>
<p class="MsoNormalIndent" style="line-height: 125%"><b><i><span lang="EN-US">
$(LIBS) \</span></i></b></p>
<p class="MsoNormalIndent" style="line-height: 125%"><b><i><span lang="EN-US">
--end-group \</span></i></b></p>
<p class="MsoNormalIndent" style="line-height: 125%"><b><i><span lang="EN-US">
-o vmlinux</span></i></b></p>
<p class="MsoNormalIndent" style="text-indent: 0cm; line-height: 125%; margin-left: 63.0pt">
<span style="font-family: 宋体">把该规则修改为:</span></p>
<p class="MsoNormalIndent" style="text-indent: 21.25pt; line-height: 125%; margin-left: 42.5pt">
<b><i><span lang="EN-US">vmlinux : $(LFYOS)</span></i></b></p>
<p class="MsoNormalIndent" style="line-height: 125%"><b><i><span lang="EN-US">
$(LD) $(LINKFLAGS) $(LFYOS) -o vmlinux</span></i></b></p>
<p class="MsoNormalIndent" style="text-indent: -42.0pt; line-height: 125%; margin-left: 42.0pt">
<span lang="EN-US">
<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7.0pt; font-family: Times New Roman">
</span>vi.<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7.0pt; font-family: Times New Roman">
</span></span><span style="font-family: 宋体">进入</span><span lang="EN-US">/etc</span><span style="font-family: 宋体">目录,编辑</span><span lang="EN-US">lilo</span><span style="font-family: 宋体">的配置文件</span><span lang="EN-US">/etc/lilo.conf</span><span style="font-family: 宋体">。该文件中的内容类似于:</span></p>
<p class="MsoNormalIndent" style="line-height: 125%; margin-left: 42.5pt">
<span lang="EN-US">boot=/dev/hda</span></p>
<p class="MsoNormalIndent" style="line-height: 125%; margin-left: 42.0pt">
<span lang="EN-US">map=/boot/map</span></p>
<p class="MsoNormalIndent" style="line-height: 125%; margin-left: 42.0pt">
<span lang="EN-US">install=/boot/boot.b</span></p>
<p class="MsoNormalIndent" style="line-height: 125%; margin-left: 42.0pt">
<span lang="EN-US">prompt</span></p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -