• <output id="aynwq"><form id="aynwq"><code id="aynwq"></code></form></output>

    <mark id="aynwq"><option id="aynwq"></option></mark>
  • <mark id="aynwq"><option id="aynwq"></option></mark><label id="aynwq"><dl id="aynwq"></dl></label>
  • 學習啦 > 學習電腦 > 操作系統 > Linux教程 > linux重新編譯方法

    linux重新編譯方法

    時間: 若木635 分享

    linux重新編譯方法

      linux重新編譯方法

      配制內核config

      首先,清理以前編譯時留下的臨時文件。如果是剛剛解開的包,不需要執行這步。如果是第二次或者是第n次編譯,那么一定要執行。

      相關命令如下:

      $ sudo make mrproper

      網上很多教程上說把現在使用的內核的config拷貝過來參考,據實驗,是不需要的,ubuntu還有debian會自動做這步。不過這條命令倒是可以學習一下。當然你可以將以前的配置拷貝過來。

      命令:

      cp /boot/config-`uname -r` ./.config

      ./.config的意思是拷貝到當前目錄并以.config重命名。

      注意:在配制內核時,修改的文件為linux-2.6.25.10文件夾中的.config文件。這是個隱藏文件,更改查看方式可以看到。是make mrproper時自動拷貝過來的,下載的源包中沒有。

      相關命令

      #make config:基于文本的最為傳統的配置界面,不推薦使用

      #make menuconfig:基于文本選單的配置界面,字符終端下推薦使用

      #make xconfig:基于圖形窗口模式的配置界面,Xwindow下推薦使用

      #make oldconfig:如果只想在原來內核配置的基礎上修改一些小地方,會省去不少麻煩

      #make defconfig :按默認選項對內核進行配置(386的默認配置是Linus做的)

      #make allnoconfig : 除必須的選項外, 其它選項一律不選. (常用于嵌入式系統)

      配置2.6.0內核時如果你的主板是Intel芯片的話,你用默認配制也許就可以得到一個滿意的內核哦。做法是make menuconfig后離開時選擇保存。

      這里的難點是pci,如果你硬盤是IDE的那一定要選擇好你主板上南橋芯片。SCSI的話就是要選擇上你的SCSI卡型號。

      還有就是網卡,聲卡芯片的型號了,他們的型號你都可以用lspci 查找到比如我的是。

      # lspci

      00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 01)

      00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 01)

      00:07.0 ISA bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 08)

      00:07.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01)

      00:07.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB

      00:07.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 08)

      00:0f.0 VGA compatible controller: VMware Inc [VMware SVGA II] PCI Display Adapter

      00:10.0 SCSI storage controller: LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev 01)

      00:11.0 Ethernet controller: Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] (rev 10)

      00:12.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 02)

      編譯配置

      1)文件系統

      請務必要選中ext3文件系統,

      File systems--->

      [*] Ext3 journalling file system support

      [*] Ext3 Security Labels

      [*] JBD (ext3) debugging support

      以上三項一定要選上,而且要內建(即標*). 這個非常重要,在配置完后一定要檢查一下.config文件有沒有"CONFIG_EXT3_FS=y"這一項.

      如果不是"CONFIG_EXT3_FS=y"而是"CONFIG_EXT3_FS=m",你在運行內核時就會遇上以下錯誤: pivotroot: pivot_root(/sysroot,/sysroot/initrd) failed

      2)網卡驅動

      務必把自己網卡對應的驅動編譯進內核,比較普遍的網卡是realtek 8139,以下就是這種網卡的配置,以供參考

      Device Drivers--->

      Networking support--->

      Ethernet (10 or 100Mbit) --->

      <*> RealTek RTL-8139 C+ PCI Fast Ethernet Adapter support (EXPERIMENTAL)

      <*> RealTek RTL-8139 PCI Fast Ethernet Adapter support

      3)聲卡驅動

      也要選擇自己聲卡對應的驅動編譯進內核,比較普遍的聲卡是i810_audio,以下就是這種聲卡的配置,以供參考

      Device Drivers --->

      Sound --->

      <*> Sound card support

      Advanced Linux Sound Architecture --->

      <*> Advanced Linux Sound Architecture

      <*> Sequencer support

      < > Sequencer dummy client

      <*> OSS Mixer API

      <*> OSS PCM (digital audio) API[*] OSS Sequencer API

      <*> RTC Timer support

      PCI devices --->

      <*> Intel i8x0/MX440, SiS 7012; Ali 5455; NForce Audio; AMD768/8111

      Open Sound System --->

      < > Open Sound System (DEPRECATED)

      以上三項配置關系到新內核能否正常運行,請備加注意.其他的配置如果不是很了解,大可以按默認的選擇.

      生成鏡像

      #make dep

      (確保關鍵文件在正確的位置) 2.5.*-2.6.0都不需要了。其實2.4.*某些內核也不需要了。

      #make clean

      (確保所有有關文件都處于最新版本狀態)

      #make zImage

      (編譯壓縮形式的內核)

      在需要內核支持較多的外設和功能時,內核可能變得很大,此時可以編譯大內核:

      #make bzImage

      編譯的時間與機器的硬件條件及內核的配置等因素有關,所獲得的內核的位置在/usr/src/linux/arch/i386/boot目錄下,當然這里假設用戶的CPU是x86型的。

      生成可加載模塊

      #make modules

      編譯選擇的模塊

      #make module_install

      將編譯后的模塊轉移到系統標準位置

      模塊在系統中的標準目錄位于/lib/modules/x.y.z,后面的x.y.z是版本號,為安全起見,在運行#make modules_install之前最好對/lib/modules進行備份。模塊通常是帶有擴展名.o的文件,使用命令#lsmod可以對當前內核的模塊進行列表。

      #make INSTALL_MOD_PATH=[dir] modules_install

      將編譯后的模塊轉移到指定位置

      安裝內核到linux

      # make install

      上面的命令"make install"將:

      (1)把壓縮內核映象拷貝到/boot目錄下, 并創建相應的System.map符號鏈接;

      (2)修改bootloader的配置文件;

      (3)調用mkinitrd程序創建內核的initrd映象.

      (4)對于GRUB而言, 將在/boot/grub/grub.conf配置文件增加如下類似的配置行:

      title Red Hat Linux (2.***)

      root(hd0, 1)

      kernel /boot/vmlinuz-2.*** ro root=LABEL=/

      initrd /boot/initrd-2.***.img

    75334 主站蜘蛛池模板: 欧美又黄又嫩大片a级| 精品国产三级a∨在线欧美| 好男人官网在线观看免费播放 | 9久热精品免费观看视频| 欧美乱人伦视频| 四虎精品成人免费视频| 8x视频在线观看| 中文字幕欧美激情| 亚洲六月丁香六月婷婷色伊人 | 嫩草影院在线入口| 老司机无码精品A| 韩国伦理电影我妻子的秘密| 中文字幕激情视频| 2020夜夜操| 521a成v视频网站在线入口| 57pao一国产成视频永久免费| 久久久99精品免费观看| 丰满人妻一区二区三区免费视频| 精品亚洲欧美无人区乱码| 国产精品日本一区二区在线看| 久久久久无码精品国产| 波多野结衣教师在线观看| 国产专区在线视频| 538免费视频| 成在人线AV无码免费| 亚洲国产AV无码一区二区三区| 91香蕉在线看私人影院| 中文字幕网资源站永久资源| 日本不卡一二三| 亚洲欧美成人综合久久久| 色一乱一伦一区一直爽| 国产精品久久国产三级国不卡顿| 三个黑人上我一个经过| 最近在线2018视频免费观看| 伊人天堂av无码av日韩av| 青青草国产青春综合久久| 国产资源在线视频| 一级特黄录像视频免费| 日韩免费视频播播| 亚洲欧洲日产专区| 精品一区二区三区在线播放视频|