在Debian和Gentoo下编译内核步骤详解之2.6.30.2_第1页
在Debian和Gentoo下编译内核步骤详解之2.6.30.2_第2页
在Debian和Gentoo下编译内核步骤详解之2.6.30.2_第3页
在Debian和Gentoo下编译内核步骤详解之2.6.30.2_第4页
在Debian和Gentoo下编译内核步骤详解之2.6.30.2_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、在 Debian 和 Gentoo 下编译内核步骤详解之 在 Debian 和 Gentoo 下配置内核步骤详解之 吕头注:本文配置完全适用于内核。 Linus Torvalds在 2008 年的圣诞前夜放出了 2.6.28 内核,虽然说没有啥突 破性的改进,但是还是有足够的理由让我不畏艰难的去升 级:首先,我刚买的笔记本,反正要新装系统。其次,正式 加入了对 ext4 文件系统的支持, 之前虽然已经都支持了, 但 一直是ext4-dev。再次,2628内核直接加入了对 Intel 5100 无线网卡的支持。以上特性还是很让我期待的,所以就有了

2、 下面的升级过程。虽说编译内核不是那么容易,但只要胆大 心细,再加上google,基本上还是没有问题的,最后编译出 的内核大小为1.6M,还是挺有满足感的,哈哈。 首先是准备工作,安装一些编译内核所必要的包,只对Debian,Gentoo则不需要,stage3应该都已经包括这些包了:# apt-get install kernel-package libncurses5-dev然后从 上下载最新的内核源代码,保存到 /usr/src 目录下面:# cd /usr/src# wget /pub/linux/kernel/v2.

3、6/linux-.tar.b z2 解压,然后给解压后得到的源代码文件夹设置一个软链接:# tar -xvjf linux-.tar.bz2# ln -s linux- linux下面进入文件夹 linux ,就可以运行 make menuconfig 开始配 置内核选项了。可以选择的其他工具还有 make config (文本 对话模式,比较麻烦) , make xconfig (GUI 模式),我一般 都用make menuconfig (菜单模式),习惯了:# make menuconfig这时候就会出现一个菜单,里面有无数的选项等着你决定

4、。 这是编译内核最麻烦也是最容易出错的一步,稍有不慎,不 是不能启动,就是没法进X ,或者没法使用某项硬件等等等等。总之我在这步是跌过不少跟头, 经过多次摸索和 google, 才找到了(基本上)最适合我的电脑的配置。鉴于里面的选 项实在是太多,下面我只强调一些最最重要的部分,具体配 置可以点击这里下载。首先是常规设置General setup,我选的有这些:* Prompt for development and/or incomplete code/drivers* Support for paging of anonymous memory (swap)* System V IPC* P

5、OSIX Message Queues* BSD Process Accounting* BSD Process Accounting version 3 file format* Group CPU scheduler* Group scheduling for SCHED_OTHER Initial RAM filesystem and RAM disk (initramfs/initrd)support* Optimize for size* Profiling support (EXPERIMENTAL)然后是 Enable loadable module support (可加载模块

6、支持) , 基本上只要选可以卸载模块就可以了,其他功能基本用不 上,特别是强制装载(卸载)模块,官方都不推荐,我们选 它干什么呢:* Module unloadingEnable the block layer (块设备层) ,本身该选项是必选的, 里面的小项我一个也没选,用不着。接下来Processor type and features (中央处理器(CPU)类型及 特性),这里你可以选择你的 cpu 类型,如果是多核的话还有 相应的选项。还有一个比较重要的是 MTRR(Memory TypeRange Register) support,如果你有 nvidia 显卡的话,必须得 选上。*

7、 Tickless System (Dynamic Ticks)* High Resolution Timer Support* Symmetric multi-processing supportSubarchitecture Type (PC-compatible)Processor family (Core 2/newer Xeon)* Multi-core scheduler supportPreemption Model (V oluntary Kernel Preemption (Desktop)* Sparse Memory virtual memmap* MTRR (Memor

8、y Type Range Register) support* MTRR cleanup support* Enable seccomp to safely compute untrusted bytecode 再下来是电源管理选项 Power management and ACPI options , 这里基本上默认就可以了, 在子选项 ACPI Support 的子选项 里面,因为我用笔记本, 所以一般选择 AC Adapter ,Battery, Processor, Thermal Zone ,把它们编译成模块,其他无视。然后是总线选项 Bus options (PCI etc.) ,

9、 PCI和PCIE当然是 要选的喽,其他的看着办吧根据你的硬件。比如如果你有PCMCIA 卡的在这里就可以选上,我没有所以就不选了:* PCI support* Support mmconfig PCI config space access* PCI Express support* Message Signaled Interrupts (MSI and MSI-X)* Interrupts on hypertransport devices下面是 Executable file formats / Emulations (可执行文件格 式),默认就行,记住如果你的系统是 64 位的,而你

10、又有可 能某天会运行 32 位程序,则 IA32 Emulation 选项必须打开,除非你百分之百保证你再也不需要 32 位程序了。这个好像 目前还搞不定,所以还是老实的选上吧 接下来是 Networking support (网络支持) ,注意,这里不是 具体硬件,而是各种与网络相关的协议,除非你不想上网, 否则就得选上。不过子选项里面有很多什么蓝牙,红外,广 播等等之类的东西,除非你有,否则都可以去掉。我选的主 要就是里面关于网络 ( Networking options )和无线( Wireless) 相关的了。前者当然要把 TCP/IP 选上, IPv6 我也编译成模 块了,虽然现在用

11、的也不多。后者则一定要把Generic IEEE802.11 Networking Stack (mac80211) 选上,如果你想无线上网 的话:Networking options -Packet socket* Packet socket: mmapped IOUnix domain sockets* TCP/IP networkingLarge Receive Offload (ipv4/tcp)The IPv6 protocol* Wireless -M Improved wireless configuration API * nl80211 new netlink interfa

12、ce support * Old wireless static regulatory definitionsGeneric IEEE 802.11 Networking Stack (mac80211)下面终于到了 Device Drivers (设备驱动程序) 这一块, 这里 的选项多如牛毛,想要让你的硬件完美的为你工作,就得在 这里下功夫了。 切记,这里要根据你自己的硬件仔细的选择, 否则等待你的就是各式各样的怪毛病。我把当中容易导致死 机或者无法启动的选项在下面写出来。首先是 SCSI device support ,只要你在用 SATA 硬盘(大多数 人目前),就必须把 SCSI 硬

13、盘支持编译进内核,注意,不能 编译成模块。这里是经常导致新手无法启动机器的地方:SCSI disk supportSCSI CDROM support* Asynchronous SCSI scanning接下来的 Serial ATA (prod) and Parallel ATA (experimental) drivers 当然也要选上,如果你的硬盘是 SATA 的话。 下面讲一下无线网卡,在 2.6.28 内核里, Intel WiFi 5000 系 列已经可以被直接支持了 (对应的模块叫 iwlagn) ,只要选中 下面的选项就可以:Intel Wireless WiFi Next

14、Gen AGN* Enable Spectrum Measurement in iwlagn driver* Enable LEDS features in iwlagn driver* Intel Wireless WiFi 5000AGN 当然为了使用该无线网卡驱动,还必须去 下载对应的 microcode (uCode),并安装在 /lib/firmware 下面。 Gentoo 的源里面就有,直接 emerge net-wireless/iwl5000-ucode 就可以了。 如果你有其他无线网卡,自行选择相应的驱动。 下面再讲

15、讲鼠标键盘。和它们相关的主要集中在 2 处,一个 是 Input device support ,另一个是 HID Devices 。在前者把鼠 标键盘选上就好了,下面的子选项鼠标就选个PS/2,键盘啥都不用。值得注意的是 Event interface 必须得选上,否则笔 记本的触摸板不能用。如果你有 USB 鼠标键盘的话,则必须在后者也就是 HID Devices 那里把 Generic HID support 以及 USB Human Interface Device (full HID) support 给选上。Input device support -Event interface

16、-*- Keyboards * Mice -PS/2 mouse* HID DevicesM Generic HID supportUSB Human Interface Device (full HID) support 如果你像我一样,有摄像头,那么就得在 Multimedia devices 的下面把 Video For Linux 给选上,然后再选上相应的驱动。 基本上 USB Video Class (UVC) 包含了大部分常用摄像头的 驱动,如果你有特殊需要的话就得再仔细看看了,据说 GSPCA 驱动支持更多的摄像头。Multimedia devices -Video For Li

17、nux* Enable Video For Linux API 1 compatible Layer* Video capture adapters -* Autoselect pertinent encoders/decoders and other helper chips* V4L USB devices -USB Video Class (UVC)* UVC input events device support 下面讲讲图形设备 / 显卡支持( Graphics support ),要想能正 常显示,全靠这里了。这里可以选择的硬件种类极多,但其 实要选的没几个。 frame buff

18、er 支持必须得选上, 否则开机一 片黑色,然后该项下面基本上只要选择 VESA VGA graphics support 就行了,千万别选 nVidia Framebuffer Support ,因为 内核自带的这个驱动和 nvidia 提供的驱动冲突。我们之后会 装 nvidia 的官方驱动, 所以这里别选。 其他类型的显卡类似。 当然别忘了 Console display driver support ,要不然开机还是 黑色一片(没法显示纯文本模式) 。最后要选的就那么几项: -*- /dev/agpgart (AGP Support)Support for frame buffer d

19、evices -* VESA VGA graphics support Console display driver support -*- VGA text consoleFramebuffer Console support 声卡没什么好说的了, ALSA 是唯一的选择,在下面把你自 己的声卡勾上就编译成模块就好了。最后是 USB 支持( USB support ),在这里要把 USB device filesystem,USB 1.1 ( UHCI 或者 OHCI ), USB 2.0 (EHCI ) 选上,如果你用外置硬盘的话,还要把 USB Mass Storage support

20、选上。其他设备自己另选,下面是我的:Support for Host-side USB* USB device filesystemEHCI HCD (USB 2.0) support* Root Hub Transaction Translators* Improved Transaction Translator scheduling (EXPERIMENTAL)UHCI HCD (most Intel and VIA) supportUSB Mass Storage support 还有一些各种各样的杂七八拉的各种驱动,自己看情况选 吧。这样最烦人的设备驱动这块就搞定了。下面到 Firm

21、ware Drivers (固件驱动)这块,我啥也没选。 然后是File systems (文件系统)这块,又是一个相当重要的 地方。原则就是选择你用到的文件系统,并且编译进内核, 而不是模块,否则无法启动!比如我就选择了 ext2, ext3, ext4 的支持。如果你用光驱的话, ISO 9660 CDROM file system support 必须得选上,如果你想访问 windows 分区的 话, DOS/FAT/NT Filesystems 的支持也得选上。还有一个重 要的地方,Pseudo filesystems必须的选上,这个提供了对/proc 文件系统的支持,没有它也没法开机!下面到Kernel hacking (内核hack选项),基本上去掉能去掉 的就可以了,呵呵,反正我是这样。然后是Security options (安全选项),我还是去掉能去掉的, 但是切记, Enable different security models

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论