中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 操作系统 > Linux > SlackWare
全面打造适合自己Slackware机器的内核 (2)
作者:佚名 时间:2007-12-05 17:01 出处:IBM 责编:月夜寒箫
              摘要:全面打造适合自己Slackware机器的内核 (2)
 

 

因为我用的是Intel 集成的声卡,所以要在PCI中选择,我们在 中可以看到有两个与INTEL有关的;

 

Intel/SiS/nVidia/AMD/ALi AC97 Controller 这个才是Intel AC97声卡的;

< > Intel/SiS/nVidia/AMD MC97 Modem (EXPERIMENTAL) 这个是机器集成的INTEL猫的蜂鸣器的;

 

因为我发现如果把猫的蜂鸣器的驱动也选上,可能造成两个冲突。所以只能选上面的那个;

 

我们再回到 Open Sound System ---> 中看看,与我用的声卡是不是有关的?

Open Sound System (DEPRECATED)

Intel ICH (i8xx) audio support

OSS sound modules

Loopback MIDI device support

Microsoft Sound System support

 

我们也可以看到Open Sound System中也有好多的声卡驱动,大家根据前面的lspci -v 来选择吧。

 

3]对于操作系统所采用的文件系统的支持要编入内核,最好不要编成模块;(重要)

 

File systems --->

<*> Reiserfs support

 

比如我的Slackware所采用的文件系统用的是reiserfs ,所以我要把它直接编入内核;好处是不受模块丢失或者损坏而不能启动系统;而有时您把系统所采用的文件系统编译成模块,出现VFS错误,也有这方面的事,可能是您没有把reiserfs加入到相应的加载模块的配置文件中,所以我们为了减少麻烦,把风险降到最低,还是要直接置入内模的好;

 

如果您还有其它的硬盘分区要读取,比如是ext3、ext2、fat、fat32、ntfs等,这样的可以编成模块来支持;

 

再举一例:如果您的的操作系统用的是ext3的文件系统,当然就要把ext3的直接编入内核,其它的可以编成模块来支持了;

 

4]对于硬盘及RAID的支持,要直接编入内核;

 

比如ATA、SATA、SCSI及RAID的支持直接内核支持;有时编完内核后,启动时不能识别硬盘和RAID,大多事情出在这里;Slackware中在这方面有的是模块支持,我们可以把它由改成<*>来支持;

 

5]对于咱们所没有的设备,可以在内核中不选,熟能生巧罢了;

 

比如我没有ISDN设备 ,所以就把ISDN去掉;

ISDN subsystem --->

< > Linux telephony support

 

如果您没有1394的设备 ,当然可以把1394的支持也去掉;

等等。。。。。。。

 

内核配置就说这么多吧,太多了,我也说不清楚,水平有限啊;

 

配置好后先要保存

 

Save Configuration to an Alternate File

 

出来一个

 

Enter a filename to which this configuration ,should be saved as an alternate. Leave blank to abort.

.config

 

按回车就行了,这样就保存住了;

 

然后退出 < Exit > ,这时也会出现保存 ;

 

如果你想把.config保存起来,可以再复制一份到安全一点的目录,以备后用;

 

3]编译内核

 

bash-3.00# make

bash-3.00# make modules_install

 

这样就编译好了,并把模块也安装在了 /lib/modules目录中了,请看:

 

bash-3.00# ls /lib/modules/

2.4.29 2.6.12.3

 

现在我们得安装内核了,但我们也没有必要急着安装,我们可以用Slackware提供的脚本来打包,然后再来安装,这样移除也方便,对不对?

 

4]用Slackware提供的脚本为内核及moudules打包;

 

我们在前面已经说了,把linux-2.6.12.3在镜像上的目录下的所有东西载下来。所以我们要用到这些东西了。我在前面把所有的东西都下载到了/usr/src/kernel26目录中。

 

所以我们要用他所提供的脚本打包;

 

bash-3.00# cd /usr/src/kernel26/

bash-3.00# ls

config-2.6.12.3 kernel-generic kernel-modules linux-2.6.12.3.tar.bz2 linux-2.6.12.3.tar.bz2.sign

 

a)首先我们为内核打包:请运行如下命令:

 

bash-3.00# bash-3.00# cp kernel-generic/slack-desc .

 

我们要把 kernel-generic/slack-desc 复到制当前操作目录中,只是一个说明文件;不复制也行;反正是自己用,也不是给别人用的;

 

bash-3.00# sh kernel-generic/kernel-generic.SlackBuild

 

输出是什么呢?

 

kernel-generic/kernel-generic.SlackBuild: line 33: [: too many arguments

Building kernel-generic-2.6.12.3-i486-1.tgz

using these source files. Please check and then hit

enter to make the package.

 

KERNEL = /usr/src/linux-2.6.12.3/arch/i386/boot/bzImage

SYSMAP = /usr/src/linux-2.6.12.3/System.map

CONFIG = /usr/src/linux-2.6.12.3/.config

 

看到了吧,我们用的配置文件在 /usr/src/linux-2.6.12.3/.config ;然后按回车;

 

注意:如果您把打包脚本 kernel-generic.SlackBuild 复制到了 /usr/src/linux-2.6.12.3 ,并在 /usr/src/linux-2.6.12.3中执行它,提示运用的配置文件是 CONFIG = /usr/src/linux-2.6.12.3/config* ,所以要看好了。其实这个文件我们可能没有配置,是slackware原始自带的,我们在前面已经说了,我们配置的文件是.config;除非你有把. config另存为config-2.6.12.3。

 

如果要用我们配置好的内核文件,要进入内核源码目录,把.config 拷贝一份名为 config-2.6.12.3的;

 

b)然后我们要为内核的模块打包;

 

bash-3.00# sh kernel-modules/kernel-modules.SlackBuild

 

我们把包都打好了,他们究竟在哪里呢?

在/tmp目录中,请看如下:

 

bash-3.00# ls -lh /tmp/kernel-*

-rw-r--r-- 1 root root 1.9M 2005-08-06 11:59 /tmp/kernel-generic-2.6.12.3-i486-1.tgz

-rw-r--r-- 1 root root 11M 2005-08-06 12:13 /tmp/kernel-modules-2.6.12.3-i486-1.tgz

 

3.安装编译好的内核及模块。

 

我们其实已经把编译好的模块早就安装好了,但我们最好重新安装一下。这样卸载也方便。

 

bash-3.00#cd /tmp

bash-3.00# installpkg kernel-generic-2.6.12.3-i486-1.tgz

bash-3.00# installpkg kernel-modules-2.6.12.3-i486-1.tgz

 

这样就把内核及模块配置好了。

 

4.查看系统引导管理器grub或者lilo的配置文件。

 

内核在安装的时候,可能已经改了一些东西,比如 /boot内的变化,比如vmlinuz直接链到了 vmlinuz-generic-2.6.12 ,所以如果想要让新老内核都能让系统引导管理器grub和lilo的菜单上能看得到,必须改 grub.conf或者lilo.conf

 

我们必须保留老内核的在grub和lilo的启动菜单,毕竟我们编内核不能百分百的成功,对不对??安全第一吧;

 

正在修订之中,以让其更可能的全面一点,算是版本0.1吧。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有