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&amp;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>&nbsp;</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>&nbsp;<A class=b 
                                title="几个重要的RedHat Linux内核文件介绍" 
                                href="http://www.cpcwedu.com/Document/linuxstudy/114125328.htm">几个重要的RedHat&nbsp;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 + -
显示快捷键?