linux_step_in.htm
来自「操作系统的内核编译内幕详解-- 电脑报 函授」· HTM 代码 · 共 835 行 · 第 1/5 页
HTM
835 行
subsystem
<BR><BR> 如果你使用ISDN上网,这个就必不可少了。自己看着办好了。
<BR><BR> 19. Old CD-ROM drivers(not SCSI、not
IDE)
做的可真周到,原来那些非SCSI/IDE口的光驱谁还在用啊,自己选吧,反正我是用的IDE的CD-ROM,不选这个。
</P>
<P></P>
<P> 20. Character devices
<BR><BR> 字符设备。这个内容又太多了,先使用缺省设置,需要的话自己就修改。把大类介绍一下吧:
<BR><BR> I2C
support:I2C是Philips极力推动的微控制应用中使用的低速串行总线协议。如果你要选择下面的Video
For Linux,该项必选。
<BR><BR> Mice:鼠标。现在可以支持总线、串口、PS/2、C&T
82C710 mouse port、PC110 digitizer
pad,自己根据需要选择。<BR><BR> Joysticks:手柄。即使在Linux下把手柄驱动起来意义也不是太大,游戏太少了。<BR><BR> Watchdog
Cards:虽然称为Cards,这个可以用纯软件来实现,当然也有硬件的。如果你把这个选中,那么就会在你的/dev下创建一个名为watchdog的文件,它可以记录你的系统的运行情况,一直到系统重新启动的1分钟左右。有了这个文件,你就可以恢复系统到重启前的状态了。
<BR><BR> Video For Linux:支持有关的音频/视频卡。
<BR><BR> Ftape, the floppy tape device
driver:<BR><BR> PCMCIA character device
support: <BR><BR> 21. File systems
<BR><BR> 文件系统。内容又太多了,老法子,在缺省选项的基础上进行修改。介绍以下几项:<BR><BR> Quota
support:Quota可以限制每个用户可以使用的硬盘空间的上限,在多用户共同使用一台主机的情况中十分有效。
<BR><BR> DOS FAT fs support:DOS
FAT文件格式的支持,可以支持FAT16、FAT32。 <BR><BR> ISO 9660
CD-ROM file system support:光盘使用的就是ISO 9660的文件格式。
<BR><BR> NTFS file system
support:ntfs是NT使用的文件格式。<BR><BR> /proc file
system
support:/proc文件系统是Linux提供给用户和系统进行交互的通道,建议选上,否则有些功能没法正确执行。
<BR><BR> 还有另外三个大类都规到这儿了:Network File
Systems(网络文件系统)、Partition Types(分区类型)、Native
Language Support(本地语言支持)。值得一提的是Network File
Systems里面的两种:NFS和SMB分别是Linux和Windows相互以网络邻居的形式访问对方所使用的文件系统,根据需要加以选择。<BR><BR> 22.
Console drivers <BR><BR> 控制台驱动。一般使用VGA text
console就可以了,标准的80*25的文本控制台。</P>
<P> 23.
Sound<BR><BR> 声卡驱动。如果你能在列表中找到声卡驱动那自然最好,否则就试试OSS了。<BR><BR> 24.
USB supprot
<BR><BR> USB支持。很多USB设备,比如鼠标、调制解调器、打印机、扫描仪等,在Linux都可以得到支持,根据需要自行选择。
<BR><BR> 25. Kernel hacking
<BR><BR> 配置了这个,即使在系统崩溃时,你也可以进行一定的工作了。普通用户是用不着这个功能的。<BR><BR> 总算配置完了,现在存盘退出,当然你也可以把现在的配置文件保存起来,这样下次再配置的时候就省力气了。</P>
<P> <STRONG>编译</STRONG><BR><BR> 在繁杂的配置工作完成以后,下面你就可以自己到杯茶耐心等候了。与编译有关的命令有如下几个:
</P>
<P></P>
<CENTER><CCID_NOBR>
<TABLE cellSpacing=0 borderColorDark=#ffffff
cellPadding=2 width=400 align=center
borderColorLight=black border=1>
<TBODY>
<TR>
<TD class=code style="FONT-SIZE: 9pt"
bgColor=#e6e6e6><PRE><CCID_CODE>#make dep
#make clean
#make zImage
#make bzImage
#make modules
#make modules_install
#depmod -a</CCID_CODE></PRE></TD></TR></TBODY></TABLE></CCID_NOBR></CENTER>
<P> 第一个命令make
dep实际上读取配置过程生成的配置文件,来创建对应于配置的依赖关系树,从而决定哪些需要编译而那些不需要;第二命令make
clean完成删除前面步骤留下的文件,以避免出现一些错误;第三个命令make
zImage和第四个命令make
bzImage实现完全编译内核,二者生成的内核都是使用gzip压缩的,只要使用一个就够了,它们的区别在于使用make
bzImage可以生成大一点的内核,比如在编译2.4.0版本的内核时如果使用make
zImage命令,那么就会出现system too big的错误提示。建议大家使用make
bzImage命令。
<BR><BR> 后面三个命令只有在你进行配置的过程中,在回答Enable loadable
module support
(CONFIG_MODULES)时选了"Yes"才是必要的,make modules和make
modules_install分别生成相应的模块和把模块拷贝到需要的目录中。
<BR><BR> 严格说来,第七个命令和编译过程并没有关系,它是生成模块间的依赖关系,这样你启动新内核之后,使用modprobe命令加载模块时就能正确地定位模块。
</P>
<P> <STRONG>更新</STRONG><BR><BR> 经过以上的步骤,我们终于得到了新版本的内核。为了能够使用新版本的内核,我们还需要做一些改动:</P>
<CENTER><CCID_NOBR>
<TABLE cellSpacing=0 borderColorDark=#ffffff
cellPadding=2 width=400 align=center
borderColorLight=black border=1>
<TBODY>
<TR>
<TD class=code style="FONT-SIZE: 9pt"
bgColor=#e6e6e6><PRE><CCID_CODE>#cp /usr/src/linux/System.map /boot/System.map-2.4.0test8
#cp /usr/src/linux/arch/i386/bzImage /boot/vmlinuz-2.4.0test8</CCID_CODE></PRE></TD></TR></TBODY></TABLE></CCID_NOBR></CENTER>
<P> 以上这两个文件是我们刚才编译时新生成的。下面修改/boot下的两个链接System.map和vmlinuz,使其指向新内核的文件:
</P>
<CENTER><CCID_NOBR>
<TABLE cellSpacing=0 borderColorDark=#ffffff
cellPadding=2 width=400 align=center
borderColorLight=black border=1>
<TBODY>
<TR>
<TD class=code style="FONT-SIZE: 9pt"
bgColor=#e6e6e6><PRE><CCID_CODE>#cd /boot;rm -f System.map vmlinuz
#ln -s vmlinuz-2.4.0test8 vmlinuz
#ln -s System.map-2.4.0test8 System.map</CCID_CODE></PRE></TD></TR></TBODY></TABLE></CCID_NOBR></CENTER>
<P> 然后修改/etc/lilo.conf: </P>
<CENTER><CCID_NOBR>
<TABLE cellSpacing=0 borderColorDark=#ffffff
cellPadding=2 width=400 align=center
borderColorLight=black border=1>
<TBODY>
<TR>
<TD class=code style="FONT-SIZE: 9pt"
bgColor=#e6e6e6><PRE><CCID_CODE>#vi /etc/lilo.conf</CCID_CODE></PRE></TD></TR></TBODY></TABLE></CCID_NOBR></CENTER>
<P> 增加如下一段: </P>
<CENTER><CCID_NOBR>
<TABLE cellSpacing=0 borderColorDark=#ffffff
cellPadding=2 width=400 align=center
borderColorLight=black border=1>
<TBODY>
<TR>
<TD class=code style="FONT-SIZE: 9pt"
bgColor=#e6e6e6><PRE><CCID_CODE>image=/boot/vmlinuz-2.4.0test8
label=linux240
read-only
root=/dev/hda2</CCID_CODE></PRE></TD></TR></TBODY></TABLE></CCID_NOBR></CENTER>
<P> 其中root=/dev/hda2一行要根据需要自行加以修改。运行: </P>
<CENTER><CCID_NOBR>
<TABLE cellSpacing=0 borderColorDark=#ffffff
cellPadding=2 width=400 align=center
borderColorLight=black border=1>
<TBODY>
<TR>
<TD class=code style="FONT-SIZE: 9pt"
bgColor=#e6e6e6><PRE><CCID_CODE>#/sbin/lilo -v</CCID_CODE></PRE></TD></TR></TBODY></TABLE></CCID_NOBR></CENTER>
<P> 确认对/etc/lilo.conf的编辑无误,现在重新启动系统: </P>
<CENTER><CCID_NOBR>
<TABLE cellSpacing=0 borderColorDark=#ffffff
cellPadding=2 width=400 align=center
borderColorLight=black border=1>
<TBODY>
<TR>
<TD class=code style="FONT-SIZE: 9pt"
bgColor=#e6e6e6><PRE><CCID_CODE>#shutdown -r now</CCID_CODE></PRE></TD></TR></TBODY></TABLE></CCID_NOBR></CENTER>
<P> 在机器重启后出现LILO时按TAB键,输入linux240,我们的新内核发挥作用了,好好享受吧。
</P></SPAN><BR>
<P></P>
<TABLE cellSpacing=0 cellPadding=0 width="100%"
border=0>
<TBODY>
<TR>
<TD width="42%">
<DIV align=right></DIV></TD>
<TD width="34%" height=28> </TD>
<TD width="24%">
<SCRIPT
src="Linux操作系统的内核编译内幕详解-- 电脑报 函授学院.files/Linux.js"></SCRIPT>
</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<TABLE width="100%" border=0>
<TBODY>
<TR>
<TD width="52%">
<TABLE cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR>
<TD vAlign=center width=52><A class=b
title="几个重要的RedHat Linux内核文件介绍"
href="http://www.cpcwedu.com/Document/linuxstudy/114125328.htm"><IMG
height=19
src="Linux操作系统的内核编译内幕详解-- 电脑报 函授学院.files/up.gif"
width=52 border=0></A></TD>
<TD vAlign=center> <A class=b
title="几个重要的RedHat Linux内核文件介绍"
href="http://www.cpcwedu.com/Document/linuxstudy/114125328.htm">几个重要的RedHat Linux内核文件</A></TD></TR></TBODY></TABLE></TD>
<TD align=right width="48%">
<TABLE cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?