Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1502230
  • 博文数量: 213
  • 博客积分: 10418
  • 博客等级: 上将
  • 技术积分: 3358
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-09 23:49
文章分类

全部博文(213)

文章存档

2014年(1)

2013年(5)

2012年(11)

2011年(2)

2010年(8)

2009年(26)

2008年(160)

分类: LINUX

2008-04-25 13:01:21

Code maturity level options (代码成熟等级 )
   Code maturity level options --->
   [*] Prompt for development and/or incomplete code/drivers
   [*]  Select only drivers expected to compile cleanly

   1.prompt for development and/or incomplete code/drivers.

   默认情况下是选择的,这将会在设置界面中显示还在开发或者还没有完成的代码与驱动.你应该选择它,因为有许多设备可能必需选择这个选项才能进行配置,实际上它是安全的。

   2.Select only drivers expected to compile cleanly(NEW)

   选择这个选项你将不会看到一些已知的存在问题的驱动程序选项,默认的情况下也是选择的。如果 你有设备没有找到驱动选项,你可以将这一项去掉,或许就可以找到相关驱动了,不过它可能是有BUG的。

   . General setup (普通属性设置 )
   General setup --->
   () Local version - append to kernel release
   [*] Support for paging of anonymous memory (swap)
   [*] System V IPC
   [*] POSIX Message Queues
   [*] BSD Process Accounting
   [*]  BSD Process Accounting version 3 file format
   [*] Sysctl support
   [ ] Auditing support
   (15) Kernel log buffer size (16 => 64KB, 17 => 128KB)
   [*] Support for hot-pluggable devices
   [*] Kernel Userspace Events
   [*] Kernel .config support
   [*] Configure standard kernel features (for small systems) --->

   Support for paging of anonymous memory (swap) (NEW)

   这个选项将使你的内核支持虚拟内存,也就是让你的计算机好象拥有比实际内存更多 多的内存空 间用来执行很大的程序。默认是选择的。

   System V IPC

   为进程提供通信机制,这将使系统中各进程间有交换信息与保持同步的能力。有些程序只有在选Y的情况下才能运行,这里一定要选。

   POSIX Message Queues

   这是POSIX的消息队列,它同样是一种IPC。建议你最好将它选上。

   BSD Process Accounting

   这是充许用户进程访问内核将账户信息写入文件中的。这通常被认为是个好主意,

   Sysctl support

   这个选项能不重新编译内核修改内核的某些参数和变量,如果你也选择了支持/proc,将能从/proc/sys存取可以影响内核的参数或变量。建议你最好将它选上。

   Auditing support

   审记支持,用于和内核的某些子模块同时工作,例如SELinux。只有选择此项及它的子项,才能调用有关审记的系统调用。

   Kernel log buffer size (16 => 64 KB 17 => 128 KB)

   内核日志缓存的大小

   Kernel Userspace Events

   内核中分为系统区和用户区,这里系统区和用户区进行通讯的一种方式

   Kernel .config support

   将.config配置信息保存在内核中,选上它及它的子项使得其它用户能从/proc中得到内核的配置。

   Configure standard kernel features (for small systems)

   这是为了编译某些特殊的内核使用的,通常你可以不选择这一选项

   . Loadable module support (加载模块选项 )
   Loadable module support --->
   [*] Enable loadable module support
   [*] Module unloading
   [*] Module versioning support (EXPERIMENTAL)
   [ ] Source checksum for all modules
   [*] Automatic kernel module loading

   Enable loadable module support

  很多人喜欢将全部功能、硬件支持一股脑的编进内核,而不是使用模块的方式。使用模块支持,你的系统能具有更好的可扩充性。还有一个原因就是自己编写的功能模块、设备驱动模块(假设编写的质量不高)以模块方式工作引起Kernel Panic的机率要远远低于不支持模块全部编进内核的方式。

   Module unloading

   不选这个功能,加载的模块就不能卸载。没什么需要多解释的,建议最好选上。

   Module versioning support (EXPERIMENTAL)

   这个功能可以让你使用其它版本的内核模块

   Source checksum for all modules

   这个功能是为了防止更改了内核模块的代码但忘记更改版本号而造成版本冲突.

   Automatic kernel module loading

  这个选项能让内核自动的加载部份模块,建议你最好选上。举个例子说明一下,如模块eth1394依赖于模块ieee1394。如果选择了这个选项,可以直接加载模块eth1394;如果没有选择这个选项,必需先加载模块ieee1394,再加载模块eth1394,否则将出错。

   .Processor type and features (处理器内型及特性)
   Subarchitecture Type (PC-compatible) --->
   Processor family (386) --->
   [ ] Generic x86 support
   [*] HPET Timer Support
   [*] Symmetric multi-processing support
   [ ] Preemptible Kernel
   [ ] local APIC support on uniprocessors
   [ ] Machine Check Exception
   [ ] Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium
   <M> Toshiba Laptop support
   <M> Dell laptop support
   < > /dev/cpu/microcode - Intel IA32 CPU microcode support
   < > /dev/cpu/*/msr - Model-specific register support
   < > /dev/cpu/*/cpuid - CPU information support
   Firmware Drivers --->
   High Memory Support (off) --->
   [ ] Math emulation
   [*] MTRR (Memory Type Range Register) support
   [ ] Use register arguments (EXPERIMENTAL)

   Subarchitecture Type

   这没什么好说的,如果用PC机的话都选这个。

   Processor family (386)

   这也没什么好说的,选择你机器对应的处理器即可。

   Generic x86 support

   这一选项针对x86系列的CPU使用更多的常规优化。如果你在上面一项选的是i386、i586之类的才选这个。

   HPET Timer Support

   HPET是替代8254芯片的下一代时钟处理器。这里你可以安全的选上这一选项。如果硬件不支持的话,将仍使用8254时钟处理器。

   Symmetric multi-processing support

   对称多处理器支持,在单CPU的机器上,不选这个选项会更快一些。由于超线程技术,看起来是两颗CPU,因些要选上这个选项。

   Preemptible Kernel

   这个选项能使应用程序即使内核在高负载时也很可靠,建议最好选上。

   local APIC support on uniprocessors
   ..

   Machine Check Exception

   这个选项能让CPU检测到系统故障时通知内核

   Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium

   打开这个选项将会检查你机器上可能存在的问题,如果有一个非致命错误出现将会自动的修复并且记录,这可以帮助你查出程序出现问题的原因,是一个不错的选项.

   Toshiba Laptop support

   对Toshiba本本的支持

   Dell laptop suppor

   对Dell的支持

   /dev/cpu/microcode - Intel IA32 CPU microcode support

   这个选项是让你使用不随Linux内核发行的IA32 microcode,但是你必需有IA32 microcode的二进制文件。

   /dev/cpu/*/msr - Model-specific register support

   这个选项能让特权CPU访问x86的MSR寄存器。由于超线程并不是真正的多处理器环境,所以不要选择这个。

   /dev/cpu/*/cpuid - CPU information support

   这个选项能从/dev/cpu/x/cpuid获得CPU的唯一标识符

   High Memory Support (off)

   如果你有大容量的内存(超过4G)你要选它,以使内核可以使用这部分内存。偶是没这命啦这部分永远为OFF,如果你有你就ON吧。

   Math emulation

   估计现在没人有386或486SX的处理器了吧,那就不要选这个。

   MTRR (Memory Type Range Register) support

   在Intel p6家族的处理器中(Ppro、 PII和更新的)有一个内存类型范围寄存器,可用来控制处理器访问的内存范围。打开它一般可以提升显卡的显示性能

.Power management options (ACPI, APM) (电源管理)
   [*] Power Management support
   [ ]  Power Management Debug Support
   [ ]  Software Suspend (EXPERIMENTAL)
   ACPI (Advanced Configuration and Power Interface) Support --->
   APM (Advanced Power Management) BIOS Support --->
   CPU Frequency scaling --->

   Power Management support

   电源管理没什么好说的,不想浪费电就选上。如果不选你可以跳过这部份。

   Power Management Debug Support

   电源管理的调试信息支持,如果不是要调试内核有关电源管理部份,请不要选择这项。

   Software Suspend (EXPERIMENTAL)

   休眠到硬盘。也就是将内存写入交换分区中,下次启动可以通过参数resume=/dev/swappartition(例如:resume= /dev/hda6)来恢复上次机器运行的状态。这项功能对于系统引导时启动许多服务的机器来说很有用,可以节约启动时间。这项功能根据自己的需要选择吧,如果你选择这项功能,记得恢复休眠后重做交换分区。

   ACPI (Advanced Configuration and Power Interface) Support --->

   从这里进入ACPI电源管理的配置界面,要注意ACPI与APM不能同时使用,如果你同时配置了这两者,那么在系统启动时如果发现一个可工作的ACPI设备那么APM将被关闭,ACPI会被加载

   APM (Advanced Power Management) BIOS Support --->

   高级电源管理的支持,一般来说笔记本应该选上,台式机可以不选。

   CPU Frequency scaling --->

   这一选项允许改变CPU的主频,使CPU在低负荷或使用电池时降低主频,达到省电的目的。

.Bus options (PCI, PCMCIA, EISA, MCA, ISA)
   [*] PCI support
   PCI access mode (Any) --->
   [ ]  PCI Express support
   [ ]  Legacy /proc/pci interface
   [ ]  PCI device name database
   [ ]  ISA support
   [ ]  EISA support
   [ ]  Vesa Local Bus priming
   [ ]  Generic PCI/EISA bridge
   [ ]  EISA virtual root device
   [ ]  EISA device name database
   [ ]  MCA support
   [ ]  Legacy MCA API Support
   [ ]  Support For the mca entry in /proc
   [ ]  NatSemi SCx200 support
   PCCARD (PCMCIA/CardBus) support --->
   PCI Hotplug Support --->

   PCI support

   PCI支持,如果使用了PCI插槽,当然必选

   PCI access mode (Any)

   选Any,系统将优先使用MMConfig,然后使用BIOS,最后使用Direct检测PCI设备

   PCI Express support
   PCI Express总线支持

   Legacy /proc/pci interface

   是否使用/proc/pci目录下的信息文件来描述PCI设备的信息。现在的系统多数都使用lspci工具来得到这样的信息

   PCI device name database

   如果你不打算使用lspci工具,就把这项和上面的一项选上。lspci和hotplug都不需要内核中的设备信息库了

   ISA support

   如果你没有老式的ISA设备,老的ISA槽支持,可以不选这项

   EISA suppor

   扩展工业总线支持

   Vesa Local Bus priming

   ESA总线,也是扩展工业总线的一种,已经被PCI代替,所以不用选择

   Generic PCI/EISA bridge

   PCI、EISA两种总线的桥

   EISA virtual root device

   EISA总线的虚拟根设备

   EISA device name database

   内核中的EISA设备信息库

   MCA support

   (IBM的东东) 微通道总线.IBM的台式机和笔记本上可能会有这种总线,包括它的p系列、e系列、z系列机器上都用到了这种总线

   Legacy MCA API Support
   .

   Support For the mca entry in /proc
   .

   NatSemi SCx200 support

   松下的一种半导体处理器的驱动,If you don't know what to do here, say N.

   PCCARD (PCMCIA/CardBus) support --->

   一般只有笔记本电脑上才会有PCMCIA插槽,如果你是台式机的话,可以不选这一项

   PCI Hotplug Support --->

   支持PCI热插拔的.

   .Executable file formats (可执行文件格式)
   [ ]  Kernel support for ELF binaries
   [ ]  Kernel support for a.out and ECOFF binaries
   [ ]  Kernel support for MISC binaries

   Kernel support for ELF binaries

   这个当然y,因为目前gcc2.7.0以上的都有支持ELF了,如果没有选择这一项可能会使用相当多的程序因此无法执行

   Kernel support for a.out and ECOFF binaries

   a.out的执行文件是比较古老的可执行码,用在比较早期的UNIX系统上.Linux最初也是使用这种码来执行程序,一直到ELF格式的可执行码出来后,有愈来俞多的程序码随着ELF格式的优点而变成了ELF的可执码.将来势必完全取代a.out格式的可执行码.但目前由于沿有许多的程序还没有取代过来,所以只好选择Y,等将来有一天,全部的程序都变成了ELF的天下时,那时再disable掉

   Kernel support for MISC binaries

   可以让你支援別的种类的binary执行档(如:Java、Python ... etc)丟到kernel或编成module都ok

.Device Drivers
   [*] Generic Driver Options --->
   [ ]  Memory Technology Devices (MTD) --->
   [ ]  Parallel port support --->
   [ ]  Plug and Play support --->
   [ ]  Block devices --->
   [ ]  ATA/ATAPI/MFM/RLL support --->
   [ ]  SCSI device support --->
   [ ]  Old CD-ROM drivers (not SCSI, not IDE) --->
   [ ]  Multi-device support (RAID and LVM) --->
   [ ]  Fusion MPT device support --->
   [ ]  IEEE 1394 (FireWire) support --->
   [ ]  I2O device support --->
   [ ]  Networking support --->
   [ ]  ISDN subsystem --->
   [ ]  Telephony support --->
   [ ]  Input device support --->
   [ ]  Character devices --->
   [ ]  I2C support --->
   [ ]  Dallas's 1-wire bus --->
   [ ]  Misc devices --->
   [ ]  Multimedia devices --->
   [ ]  Graphics support --->
   [ ]  Sound --->
   [ ]  USB support --->
   [ ]  MMC/SD card support --->
   [ ]  InfiniBand support --->

   Generic Driver Options
   ..

   Memory Technology Devices (MTD)
   ..

   Parallel port support
   ..

   Plug and Play support
   热插拔支持,当然要选择.

   Block devices
   ..

   ATA/ATAPI/MFM/RLL support
   ..

   SCSI device support
   ..

   Old CD-ROM drivers (not SCSI, not IDE)
   ..

   Multi-device support (RAID and LVM)
   ..

   Fusion MPT device support
   ..

   IEEE 1394 (FireWire) support
   ..

   I2O device support
   ..

   Networking support
   ..

   ISDN subsystem
   ..

   Telephony support
   ..

   Input device support
   ..

   Character devices
   ..

   I2C support
   ..

   Dallas's 1-wire bus
   ..

   Misc devices
   ..

   Multimedia devices
   ..

   Graphics support
   ..

   Sound
   ..

   USB support
   ..

   MMC/SD card support
   ..

   InfiniBand support
   ..


学习编译内核── 为新手指南

原文出自

一般的情况下,编译内核对初学者来说的确是有点难度,对于象我这样刚入门的来说,也是一个考验。毕竟时间和精力有限,我没有时间把内核的所有文档看完,也没有办法完全弄懂。如果您的现实情况和我差不多,并且对内核编译不是太懂,或者说没有编译过。那不妨您看一下我写的这篇;

   其实编译内核最花时间不是编译过程,而是配置和排错的过程;所以咱们用slackware的内核配置文件能把这个过程的时间省下来。省下来的时间做点什么呢??做点想做的吧;哈哈。

   用Slackware内核的配置文件来编译自己的内核,无论你用的发行版本是什么的,都可以用这个方法来实践;

   为什么要用slackware的内核配置文件来编译适合自己机器的内核呢??

   Slackware的内核配置文件,都是现成的,早已配置好的,而且在Slackware中运行也是极为稳定。对于不会配置内核的新手弟兄,是一本最好的教材。另外Slackware的配置文件编译出来的内核不算太大。

   其实我写本文的目的就是让新手用最短的时间内学会内核配置,别无它意;

   本文适合:初初级新手;

   注意事项:内核版本必须与Slackware提供的配置内核配置文件相对应;如果不太明白,或者我的表达不太准确,就直接安我说的做就行;

   实践环境:Fedora core 4.0

   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   正文:
   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

一、下载官方current 的testing内核的源码

   地址:

   从上面的地址找镜像,一般的情况下美国和日本的要快一点;

   比如我们通过下面的地址得到 testing的内核 linux-2.6.12.3的源码目录;

   ftp://slackware.mirrors.tds.net/pub...linux-2.6.12.3/

   我们要下载linux-2.6.12.3目录下的 linux-2.6.12.3.tar.bz2 ,接着下载 config-2.6.12.3

   下载好了,我们进入下一步;

二、利用Slackware官方提供的 config-2.6.12.3文件来简单配置自己的内核配置文件 .config ;

   1.解压内核及一些基础工作;

   bash-3.00#tar jxvf linux-2.6.12.3.tar.bz2
   bash-3.00# mv linux-2.6.12.3 /usr/src 把解压的内核移到/usr/src目录中
   bash-3.00# cd /usr/src

   bash-3.00# ls -lh

   drwxr-xr-x 3 root root 4.0K 8月 3 12:49 kernels
   drwxr-xr-x 19 root root 4.0K 8月 7 16:33 linux-2.6.12.3
   drwxr-xr-x 7 root root 4.0K 8月 3 12:27 redhat

   bash-3.00#cd linux-2.6.12.3
   bash-3.00# pwd
   /usr/src/linux-2.6.12.3

   下一步是把下载下来的config-2.6.12.3这个文件复制到 /usr/src/linux-2.6.12.3中,然后接着复制成.config文件。
   bash-3.00#cp config-2.6.12.3 .config 把config-2.6.12.3复制为.config

   2.简要的配置内核;

   bash-3.00#make menuconfig 进入配置内核的配置模式 ;

  内核配置有两种方法,一种是直接置入内核[*];另一种是编成模块[M];两种方法各有优点;直接编入内核的,比如设备的启动,不再需要加载模块的这一过程了;而编译成模块,则需要加载设备的内核支持的模块;但直接把所有的东西都编入内核也不是可行的,内核体积会变大,系统负载也会过重。我们编内核时最好把极为重要的编入内核;其它的如果您不明白的,最好用默认。slackware的内核配置文件是最好的教程;

   1]移动键盘,选中 Load an Alternate Configuration File 项,把.config 调进来方便我们配置;因为这个配置文件是Slackware已经配置好的,我们只是稍加修改就行。

   2]针对自己机器存在的问题进行修改;比如我们在前文所提到的大内存支持的问题;

   选择自己机器的CPU;

   移动键盘到 Processor type and features ---> ,然后按ENTER进入;

   找到 Processor family (486) ---> 按ENTER进入;

   进入后我们发现有好多CPU的型号可选;一般的情况下要根据

   bash-3.00# cat /proc/cpuinfo 输出的信息来选,比如我们的是Celeron (P4)一代的,应该选如下的,当然默认的 486也是可以正常运行的,既然我们重编一次内核,就得选中对应型号的,也许性能有所提高呢;

   Processor family (Pentium-4/Celeron(P4-based)/Pentium-4 M/Xeon)

   对大内存支持;如果内存是1G或者1G以上,但小于4G的,就要选4G支持;如果超过4G的,要选64G的支持;

   High Memory Support (4GB) --->

   (X) 4GB
   ( ) 64GB

   还有比如声卡等硬件,需要我们一步一步的查看;如果有不明之处,就要按 [shift]+?的组合键来查看说明。一般的情况下,slackware的config文件早都配置好了,只需要我们来查看一下就可以了。

   再举个例子:比如我现在所用的声卡是intel ac97的,我应该怎么配置呢?

   首先要知道自己的声卡的芯片组,我们要通过lspci -v 来查看;
   bash-3.00# lspci -v

   只查看声卡的,应该用如下的方法:
   bash-3.00# lspci -v |grep audio
   00:1f.5 Multimedia audio controller: Intel Corp. 82801DB (ICH4) AC'97 Audio Controller (rev 03)

   通过上面的输出,我们知道这台机器用的是intel AC97声卡;所以我们要特别注意AC97的配置;

   找到 Device Drivers ---> Sound --->
   Sound card support 声卡的支持,这个是一定要选中的吧;
   Advanced Linux Sound Architecture 对声卡支持的ALSA驱动的支持;下面有OSS驱动,只是一部份。如果想用OSS的驱动更全的,可以去买;其它的就看如下的选吧;
   Sequencer support
   Sequencer dummy client
   OSS Mixer API
   OSS PCM (digital audio) API[*] OSS Sequencer API
   RTC Timer support[*] Verbose printk
   [ ] Debug

   然后我们再向下看有
   Generic devices ---> 进入里面
   Dummy (/dev/null) soundcard
   Virtual MIDI soundcard
   MOTU MidiTimePiece AV multiport MIDI
   UART16550 serial MIDI driver
   Generic MPU-401 UART driver
   ISA devices ---> 如果您用ISA声卡就在这里面选;
   PCI devices ---> 如果您用PCI声卡,就在这里面选,集成声卡也在这里;
   USB devices ---> 这是USB声卡内核支持选项;我有一个这样的声卡,但没有试过;
   PCMCIA devices ---> 这是PCMCIA声卡的选项,我还没有看过这样的声卡呢;如果您有,就在这里面动动手吧。

   因为我用的是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]对于操作系统所采用的文件系统的支持要编入内核,最好不要编成模块;(重要)

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

   File systems --->
   <*> Ext3 journalling file system support
   [*] Ext3 extended attributes
   [*] Ext3 POSIX Access Control Lists
   [*] Ext3 Security Labels

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

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

   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.6.11-1.1369_FC4 2.6.12.3

   4]为Fedora core 4.0 安装内核;

   bash-3.00# cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.12.3
   bash-3.00# cp System.map /boot/System.map-2.6.12.3
   bash-3.00# cd /boot
   bash-3.00# /sbin/mkinitrd initrd-2.6.12.3.img 2.6.12.3 这个是用来创新initrd映像的,不创建这个文件,有时是启动不起来的,比如提示VFS错误等;

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

   如果想要让新内核能让系统引导管理器grub和lilo的菜单上能看得到,必须改 grub.conf或者lilo.conf,但我们必须保留老内核的在grub和lilo的启动菜单,毕竟我们编内核不能百分百的成功,对不对??安全第一吧;

   我只说grub的,我没有lilo,也不会用。所以咱们还是GRUB吧。

   查看 /etc/grub.conf;

   比如我的grub.conf的内容是这样的;

   代码:
   # grub.conf generated by anaconda
   #
   # Note that you do not have to rerun grub after making changes to this file
   # NOTICE: You do not have a /boot partition. This means that
   #     all kernel and initrd paths are relative to /, eg.
   #     root (hd0,7)
   #     kernel /boot/vmlinuz-version ro root=/dev/hda8
   #     initrd /boot/initrd-version.img
   #boot=/dev/hda
   default=0
   timeout=5
   #splashimage=(hd0,7)/boot/grub/splash.xpm.gz
   #hiddenmenu
   title Fedora Core (2.6.11-1.1369_FC4)
       root (hd0,7)
       kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/ rhgb quiet
       initrd /boot/initrd-2.6.11-1.1369_FC4.img
   title WinXP
       rootnoverify (hd0,0)
       chainloader +1

   我们要把老内核的启动保留下来,以防不测,我们只加入新的内核的启动;所以我加上这样一段;

   title Fedora Core (2.6.12.3)
   root (hd0,7)
   kernel /boot/vmlinuz-2.6.12.3 ro root=LABEL=/ rhgb quiet
   initrd /boot/initrd-2.6.12.3.img

   咱们再来看一下改过后的配置文件;

   代码:
   # grub.conf generated by anaconda
   #
   # Note that you do not have to rerun grub after making changes to this file
   # NOTICE: You do not have a /boot partition. This means that
   #     all kernel and initrd paths are relative to /, eg.
   #     root (hd0,7)
   #     kernel /boot/vmlinuz-version ro root=/dev/hda8
   #     initrd /boot/initrd-version.img
   #boot=/dev/hda
   default=0
   timeout=5
   #splashimage=(hd0,7)/boot/grub/splash.xpm.gz
   #hiddenmenu

   title Fedora Core (2.6.12.3)
       root (hd0,7)
       kernel /boot/vmlinuz-2.6.12.3 ro root=LABEL=/ rhgb quiet
       initrd /boot/initrd-2.6.12.3.img


   title Fedora Core (2.6.11-1.1369_FC4)
       root (hd0,7)
       kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/ rhgb quiet
       initrd /boot/initrd-2.6.11-1.1369_FC4.img
   title WinXP
       rootnoverify (hd0,0)
       chainloader +1

   然后重新启动机器,如果出现VFS错误,可能就是我写重要的那个地方出了错误;

阅读(1723) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~