看板 Linux 關於我們 聯絡資訊
加速編譯的方法 編譯的時候 本來是輸入make 改成用make -jn(n為核心數) OS:CentOS 5.3 下載linux-2.6.30.tar.bz2到/usr/src # wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.30.tar.bz2 # tar -jxvf linux-2.6.30.tar.bz2 # cd linux-2.6.30 # make mrproper # make menuconfig 詳細設定可參考鳥哥的LINUX私房菜 # make clean # make bzImage # make modules # make modules_install # mkinitrd /boot/initrd_2.6.30.img 2.6.30 執行mkinitrd命令時 提示「No module dm-mem-cache found for kernel 2.6.30, aborting.」時 表明該版本的mkinitrd有bug。 解決方法 1.是當使用mkinitrd時,使用–without-dmraid 這個參數 2.是在使用mkinitrd之前,先創建一個noraid文件。創建方法如下: # echo "DMRAID=no" > /etc/sysconfig/mkinitrd/noraid # chmod 755 /etc/sysconfig/mkinitrd/noraid 然後再運行mkinitrd命令。 這裡我採用了第一種辦法 # mkinitrd /boot/initrd-2.6.30 2.6.30 --without-dmraid 執行完mkinitrd後,就要在啟動菜單中增加編譯好的內核信息 以便啟動時可以選擇內核版本。 # cp arch/x86/boot/bzImage /boot/vmlinuz-2.6.30 # cp System.map /boot/System.map-2.6.30 # cp /usr/src/linux-2.6.30/System.map /boot/System.map-2.6.30 打開/boot/grub/grub.conf文件,增加以下內容到文件結尾。 # vi /boot/grub/grub.conf 按i進入編輯模式 新增 title CentOS (2.6.30) root (hd0,0) kernel /vmlinuz-2.6.30 ro root=LABEL=/ initrd /initrd-2.6.30 按esc離開編輯模式 輸入 :qw 保存,重啟,進行grub的啟動菜單中,選擇」CentOS(2.6.30)」,即可使用編譯好的內核。 =================以下本人尚未測試============= 如果你覺得make modules_install後面的步驟太麻煩的話,就直接用下面的命令讓系統幫你做好了 # make install 下面是運行時的提示信息: sh /usr/src/linux-2.6.30/arch/x86/boot/install.sh 2.6.30 arch/x86/boot/bzImage System.map "/boot" WARNING: No module dm-mem-cache found for kernel 2.6.27, continuing anyway WARNING: No module dm-message found for kernel 2.6.27, continuing anyway WARNING: No module dm-raid45 found for kernel 2.6.27, continuing anyway 這些只是提示,對系統沒有什麼影響,經本人查閱相關的資料。 可能是內核和mkinitrd的BUG,大家可以參考一下這篇文章 https://bugzilla.redhat.com/show_bug.cgi?id=488991 通過給內核打dm-raid45這個補丁,可以解決掉「WARNING: No module dm-raid45 found for kernel 2.6.29.4, continuing anyway」這個提示 http://people.redhat.com/~heinzm/sw/dm/dm-raid45/ 至於其他的兩個沒有仍然找不到解決的辦法,希望大家知道的,給我留言! 謝謝! ====================================== 參考資料: http://www.linuxidc.com/Linux/2009-06/20448.htm 鳥哥私房菜 終於編完了 不過還是有些地方有問題..... 等我解決了再說吧 無線網路卡問題依舊存在 驅動程式真難搞 核心都重編了還是不行 http://wireless.kernel.org/en/users/Drivers/p54 都照網頁做了還是不行 我一定要成功= =
dreamroyc:四核心 可以透過 make -j4 這樣來使用多核心 06/27 01:54
dreamroyc:雙核心用make -j2 這樣可以加速編譯速度 06/27 01:55
HiJimmy:你好 是在哪裡加入? 06/27 01:56
dreamroyc:編譯的時候 本來是輸入make 改成用make -jn(n為核心數) 06/27 01:58
※ 編輯: HiJimmy 來自: 140.122.33.141 (06/27 02:19)
lisztbach:用 make -j(核心數*2) 會更快 06/28 10:45
HiJimmy:這樣會用問題嗎? 06/28 18:39
eleghost:我也有更新2.6.30, 但是在建立initrd時我的指令為.. 07/08 21:05