乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      在Debian和Gentoo下編譯內(nèi)核步驟詳解之2.6.30.2

       昵稱1155848 2010-04-11
      在Debian和Gentoo下配置內(nèi)核步驟詳解之2.6.30.2
      呂頭注:本文配置完全適用于內(nèi)核2.6.30.2。

      Linus Torvalds在2008年的圣誕前夜放出了2.6.28內(nèi)核,雖然說沒有啥突破性的改進,但是還是有足夠的理由讓我不畏艱難的去升級:首先,我剛買的筆記本,反正要新裝系統(tǒng)。其次,正式加入了對ext4文件系統(tǒng)的支持,之前雖然已經(jīng)都支持了,但一直是ext4-dev。再次,2.6.28內(nèi)核直接加入了對Intel 5100無線網(wǎng)卡的支持。以上特性還是很讓我期待的,所以就有了下面的升級過程。雖說編譯內(nèi)核不是那么容易,但只要膽大心細,再加上google,基本上還是沒有問題的,最后編譯出的內(nèi)核大小為1.6M,還是挺有滿足感的,哈哈。
      首先是準備工作,安裝一些編譯內(nèi)核所必要的包,只對Debian,Gentoo則不需要,stage3應該都已經(jīng)包括這些包了:
      # apt-get install kernel-package libncurses5-dev
      然后從www.上下載最新的內(nèi)核源代碼,保存到/usr/src目錄下面:
      # cd /usr/src
      # wget http://www./pub/linux/kernel/v2.6/linux-2.6.28.6.tar.bz2
      解壓,然后給解壓后得到的源代碼文件夾設置一個軟鏈接:
      # tar -xvjf linux-2.6.28.6.tar.bz2
      # ln -s linux-2.6.28.6 linux
      下面進入文件夾linux,就可以運行make menuconfig開始配置內(nèi)核選項了。可以選擇的其他工具還有make config(文本對話模式,比較麻煩),make xconfig(GUI模式),我一般都用make menuconfig(菜單模式),習慣了:
      # make menuconfig
      這時候就會出現(xiàn)一個菜單,里面有無數(shù)的選項等著你決定。這是編譯內(nèi)核最麻煩也是最容易出錯的一步,稍有不慎,不是不能啟動,就是沒法進X,或者沒法使用某項硬件等等等等??傊以谶@步是跌過不少跟頭,經(jīng)過多次摸索和google,才找到了(基本上)最適合我的電腦的配置。鑒于里面的選項實在是太多,下面我只強調(diào)一些最最重要的部分,具體配置可以點擊這里下載。
      首先是常規(guī)設置General setup,我選的有這些:
      [*] Prompt for development and/or incomplete code/drivers
      [*] Support for paging of anonymous memory (swap)
      [*] System V IPC
      [*] POSIX 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(可加載模塊支持),基本上只要選可以卸載模塊就可以了,其他功能基本用不上,特別是強制裝載(卸載)模塊,官方都不推薦,我們選它干什么呢:
      [*] Module unloading
      Enable the block layer(塊設備層),本身該選項是必選的,里面的小項我一個也沒選,用不著。
      接下來Processor type and features(中央處理器(CPU)類型及特性),這里你可以選擇你的cpu類型,如果是多核的話還有相應的選項。還有一個比較重要的是MTRR(Memory Type Range Register) support,如果你有nvidia顯卡的話,必須得選上。
      [*] Tickless System (Dynamic Ticks)
      [*] High Resolution Timer Support
      [*] Symmetric multi-processing support
      Subarchitecture Type (PC-compatible)
      Processor family (Core 2/newer Xeon)
      [*] Multi-core scheduler support
      Preemption Model (Voluntary Kernel Preemption (Desktop))
      [*] Sparse Memory virtual memmap
      [*] MTRR (Memory 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.),PCI和PCIE當然是要選的嘍,其他的看著辦吧根據(jù)你的硬件。比如如果你有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(可執(zhí)行文件格式),默認就行,記住如果你的系統(tǒng)是64位的,而你又有可能某天會運行32位程序,則IA32 Emulation選項必須打開,除非你百分之百保證你再也不需要32位程序了。這個好像目前還搞不定,所以還是老實的選上吧
      接下來是Networking support(網(wǎng)絡支持),注意,這里不是具體硬件,而是各種與網(wǎng)絡相關的協(xié)議,除非你不想上網(wǎng),否則就得選上。不過子選項里面有很多什么藍牙,紅外,廣播等等之類的東西,除非你有,否則都可以去掉。我選的主要就是里面關于網(wǎng)絡(Networking options)和無線(Wireless)相關的了。前者當然要把TCP/IP選上,IPv6我也編譯成模塊了,雖然現(xiàn)在用的也不多。后者則一定要把Generic IEEE 802.11 Networking Stack (mac80211)選上,如果你想無線上網(wǎng)的話:
      Networking options --->
      <*> Packet socket
      [*] Packet socket: mmapped IO
      <*> Unix domain sockets
      [*] TCP/IP networking
      <M> Large Receive Offload (ipv4/tcp)
      <M> The IPv6 protocol

      [*] Wireless --->
      {M} Improved wireless configuration API
      [*] nl80211 new netlink interface support
      [*] Old wireless static regulatory definitions
      <M> Generic IEEE 802.11 Networking Stack (mac80211)
      下面終于到了Device Drivers(設備驅(qū)動程序)這一塊,這里的選項多如牛毛,想要讓你的硬件完美的為你工作,就得在這里下功夫了。切記,這里要根據(jù)你自己的硬件仔細的選擇,否則等待你的就是各式各樣的怪毛病。我把當中容易導致死機或者無法啟動的選項在下面寫出來。
      首先是SCSI device support,只要你在用SATA硬盤(大多數(shù)人目前),就必須把SCSI硬盤支持編譯進內(nèi)核,注意,不能編譯成模塊。這里是經(jīng)常導致新手無法啟動機器的地方:
      <*> SCSI disk support
      <*> SCSI CDROM support
      [*] Asynchronous SCSI scanning
      接下來的Serial ATA (prod) and Parallel ATA (experimental) drivers當然也要選上,如果你的硬盤是SATA的話。
      下面講一下無線網(wǎng)卡,在2.6.28內(nèi)核里,Intel WiFi 5000系列已經(jīng)可以被直接支持了(對應的模塊叫iwlagn),只要選中下面的選項就可以:
      <M> Intel Wireless WiFi Next Gen AGN
      [*] Enable Spectrum Measurement in iwlagn driver
      [*] Enable LEDS features in iwlagn driver
      [*] Intel Wireless WiFi 5000AGN
      當然為了使用該無線網(wǎng)卡驅(qū)動,還必須去http://下載對應的microcode(uCode),并安裝在/lib/firmware下面。Gentoo的源里面就有,直接emerge net-wireless/iwl5000-ucode就可以了。
      如果你有其他無線網(wǎng)卡,自行選擇相應的驅(qū)動。
      下面再講講鼠標鍵盤。和它們相關的主要集中在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 --->
      <M> Event interface
      -*- Keyboards [*] Mice --->
      <M> PS/2 mouse

      [*] HID Devices
      {M} Generic HID support
      <M> USB Human Interface Device (full HID) support
      如果你像我一樣,有攝像頭,那么就得在Multimedia devices的下面把Video For Linux給選上,然后再選上相應的驅(qū)動。基本上USB Video Class (UVC)包含了大部分常用攝像頭的驅(qū)動,如果你有特殊需要的話就得再仔細看看了,據(jù)說GSPCA驅(qū)動支持更多的攝像頭。
      Multimedia devices --->
      <M> Video For Linux
      [*] Enable Video For Linux API 1 compatible Layer
      [*] Video capture adapters --->
      [*] Autoselect pertinent encoders/decoders and other helper chips
      [*] V4L USB devices --->
      <M> USB Video Class (UVC)
      [*] UVC input events device support
      下面講講圖形設備/顯卡支持(Graphics support),要想能正常顯示,全靠這里了。這里可以選擇的硬件種類極多,但其實要選的沒幾個。frame buffer支持必須得選上,否則開機一片黑色,然后該項下面基本上只要選擇VESA VGA graphics support就行了,千萬別選nVidia Framebuffer Support,因為內(nèi)核自帶的這個驅(qū)動和nvidia提供的驅(qū)動沖突。我們之后會裝nvidia的官方驅(qū)動,所以這里別選。其他類型的顯卡類似。當然別忘了Console display driver support,要不然開機還是黑色一片(沒法顯示純文本模式)。最后要選的就那么幾項:
      -*- /dev/agpgart (AGP Support)
      <*> Support for frame buffer devices --->
      [*] VESA VGA graphics support
      Console display driver support --->
      -*- VGA text console
      <*> Framebuffer Console support
      聲卡沒什么好說的了,ALSA是唯一的選擇,在下面把你自己的聲卡勾上就編譯成模塊就好了。
      最后是USB支持(USB support),在這里要把USB device filesystem,USB 1.1(UHCI或者OHCI),USB 2.0(EHCI)選上,如果你用外置硬盤的話,還要把USB Mass Storage support選上。其他設備自己另選,下面是我的:
      <M> Support for Host-side USB
      [*] USB device filesystem
      <M> EHCI HCD (USB 2.0) support
      [*] Root Hub Transaction Translators
      [*] Improved Transaction Translator scheduling (EXPERIMENTAL)
      <M> UHCI HCD (most Intel and VIA) support
      <M> USB Mass Storage support
      還有一些各種各樣的雜七八拉的各種驅(qū)動,自己看情況選吧。這樣最煩人的設備驅(qū)動這塊就搞定了。
      下面到Firmware Drivers(固件驅(qū)動)這塊,我啥也沒選。
      然后是File systems(文件系統(tǒng))這塊,又是一個相當重要的地方。原則就是選擇你用到的文件系統(tǒng),并且編譯進內(nèi)核,而不是模塊,否則無法啟動!比如我就選擇了ext2,ext3,ext4的支持。如果你用光驅(qū)的話,ISO 9660 CDROM file system support必須得選上,如果你想訪問windows分區(qū)的話,DOS/FAT/NT Filesystems的支持也得選上。還有一個重要的地方,Pseudo filesystems必須的選上,這個提供了對/proc文件系統(tǒng)的支持,沒有它也沒法開機!
      下面到Kernel hacking(內(nèi)核hack選項),基本上去掉能去掉的就可以了,呵呵,反正我是這樣。
      然后是Security options(安全選項),我還是去掉能去掉的,但是切記,Enable different security models必須得選上,要不然雖然能正常進系統(tǒng),但是重啟的時候會死機,真是妖了(至少在我這是這樣,原因不明)。
      [*] Enable different security models
      下面是Cryptographic API(加密選項),去掉能去掉的就好了。
      最后是Virtualization(虛擬),我就用了默認值,也基本沒啥好選的。
      經(jīng)過漫長而痛苦的選擇,終于把所以該選的都選了,不該選了都去了,退出保存,下面就可以編譯安裝內(nèi)核了,這個倒很簡單。
      在Debian下:
      # make-kpkg clean
      # make-kpkg --initrd kernel_image kernel_headers
      上訴第2個命令會在/usr/src目錄下面生成2個debian的二進制包,分別對應內(nèi)核和相應的頭文件。用dpkg命令安裝一下,就徹底裝好了。
      # dpkg -i linux-image-2.6.28.6_2.6.28.6-10.00.Custom_i386.deb
      # dpkg -i linux-headers-2.6.28.6_2.6.28.6-10.00.Custom_i386.deb
      在Gentoo下面更簡單,直接:
      # make && make modules_install
      # cp /usr/src/linux/arch/x86_64/boot/bzImage /boot/
      就一切搞定了!當然最后別忘了修改grub的菜單。
      寫的累死了,希望對linux新手能有所幫助。編譯內(nèi)核蠻麻煩的,不過一旦搞定,就會很有成就感,畢竟是真正對自己機器定制的內(nèi)核,沒有多余的代碼,用起來就是爽,哈哈。

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多