亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > linux重新編譯方法

      linux重新編譯方法

      時(shí)間: 若木635 分享

      linux重新編譯方法

        linux重新編譯方法

        配制內(nèi)核config

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

        相關(guān)命令如下:

        $ sudo make mrproper

        網(wǎng)上很多教程上說把現(xiàn)在使用的內(nèi)核的config拷貝過來參考,據(jù)實(shí)驗(yàn),是不需要的,ubuntu還有debian會(huì)自動(dòng)做這步。不過這條命令倒是可以學(xué)習(xí)一下。當(dāng)然你可以將以前的配置拷貝過來。

        命令:

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

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

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

        相關(guān)命令

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

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

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

        #make oldconfig:如果只想在原來內(nèi)核配置的基礎(chǔ)上修改一些小地方,會(huì)省去不少麻煩

        #make defconfig :按默認(rèn)選項(xiàng)對(duì)內(nèi)核進(jìn)行配置(386的默認(rèn)配置是Linus做的)

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

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

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

        還有就是網(wǎng)卡,聲卡芯片的型號(hào)了,他們的型號(hào)你都可以用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)文件系統(tǒng)

        請(qǐng)務(wù)必要選中ext3文件系統(tǒng),

        File systems--->

        [*] Ext3 journalling file system support

        [*] Ext3 Security Labels

        [*] JBD (ext3) debugging support

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

        如果不是"CONFIG_EXT3_FS=y"而是"CONFIG_EXT3_FS=m",你在運(yùn)行內(nèi)核時(shí)就會(huì)遇上以下錯(cuò)誤: pivotroot: pivot_root(/sysroot,/sysroot/initrd) failed

        2)網(wǎng)卡驅(qū)動(dòng)

        務(wù)必把自己網(wǎng)卡對(duì)應(yīng)的驅(qū)動(dòng)編譯進(jìn)內(nèi)核,比較普遍的網(wǎng)卡是realtek 8139,以下就是這種網(wǎng)卡的配置,以供參考

        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)聲卡驅(qū)動(dòng)

        也要選擇自己聲卡對(duì)應(yīng)的驅(qū)動(dòng)編譯進(jìn)內(nèi)核,比較普遍的聲卡是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)

        以上三項(xiàng)配置關(guān)系到新內(nèi)核能否正常運(yùn)行,請(qǐng)備加注意.其他的配置如果不是很了解,大可以按默認(rèn)的選擇.

        生成鏡像

        #make dep

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

        #make clean

        (確保所有有關(guān)文件都處于最新版本狀態(tài))

        #make zImage

        (編譯壓縮形式的內(nèi)核)

        在需要內(nèi)核支持較多的外設(shè)和功能時(shí),內(nèi)核可能變得很大,此時(shí)可以編譯大內(nèi)核:

        #make bzImage

        編譯的時(shí)間與機(jī)器的硬件條件及內(nèi)核的配置等因素有關(guān),所獲得的內(nèi)核的位置在/usr/src/linux/arch/i386/boot目錄下,當(dāng)然這里假設(shè)用戶的CPU是x86型的。

        生成可加載模塊

        #make modules

        編譯選擇的模塊

        #make module_install

        將編譯后的模塊轉(zhuǎn)移到系統(tǒng)標(biāo)準(zhǔn)位置

        模塊在系統(tǒng)中的標(biāo)準(zhǔn)目錄位于/lib/modules/x.y.z,后面的x.y.z是版本號(hào),為安全起見,在運(yùn)行#make modules_install之前最好對(duì)/lib/modules進(jìn)行備份。模塊通常是帶有擴(kuò)展名.o的文件,使用命令#lsmod可以對(duì)當(dāng)前內(nèi)核的模塊進(jìn)行列表。

        #make INSTALL_MOD_PATH=[dir] modules_install

        將編譯后的模塊轉(zhuǎn)移到指定位置

        安裝內(nèi)核到linux

        # make install

        上面的命令"make install"將:

        (1)把壓縮內(nèi)核映象拷貝到/boot目錄下, 并創(chuàng)建相應(yīng)的System.map符號(hào)鏈接;

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

        (3)調(diào)用mkinitrd程序創(chuàng)建內(nèi)核的initrd映象.

        (4)對(duì)于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