# tar -jxvf linux-2.6.32.16.tar.bz2
# cd linux-2.6.27
# make mrproper
# make menuconfig
# make clean
# make bzimage
# make modules
# make modules_install
# mkinitrd /boot/initrd_2.6.32.16.img 2.6.32.16
執行mkinitrd命令時,提示"no module dm-mem-cache found for kernel 2.6.32.16, 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.32.16.img 2.6.32.16 --without-dmraid
執行完mkinitrd後,就要在啟動選單中增加編譯好的核心資訊,以便啟動時可以選擇核心版本。
# cp arch/x86/boot/bzimage /boot/vmlinuz-2.6.32.16
# cp system.map /boot/system.map-2.6.32.16
開啟/etc/grub.conf檔案,增加以下內容到檔案結尾。
title centos (2.6.32.16)
root (hd0,0)
kernel /vmlinuz-2.6.32.16 ro root=label=/
initrd /initrd-2.6.32.16.img
儲存,重啟,進行grub的啟動選單中,選擇"centos(2.6.32.16)",即可使用編譯好的核心。
如果你覺得make modules_install後面的步驟太麻煩的話,就直接用下面的命令讓系統幫你做好了
# make install
下面是執行時的提示資訊:
sh /usr/src/linux-2.6.32.16/arch/x86/boot/install.sh 2.6.32.16 arch/x86/boot/bzimage system.map "/boot"
warning: no module dm-mem-cache found for kernel 2.6.32.16, continuing anyway
warning: no module dm-message found for kernel 2.6.32.16, continuing anyway
warning: no module dm-raid45 found for kernel 2.6.32.16, continuing anyway
這些只是提示,對系統沒有什麼影響,經本人查閱相關的資料。
可能是核心和mkinitrd的bug,大家可以參考一下這篇文章
通過給核心打dm-raid45這個補丁,可以解決掉"warning: no module dm-raid45 found for kernel 2.6.29.4, continuing anyway"這個提示
編譯 linux 核心
一 準備工作 tpv te0 首先說明,下面帶 號的行都是要輸入的命令列,且本文提到的所有命令列都在終端裡輸入。ixpub技術部落格 rc0p a6zx j 啟動linux系統,並用根使用者登入,進入終端模式下。6i sb w,a0 ixpub技術部落格c gng,y y ixpub技術部落格 k,...
linux編譯核心
red hat linux版本的核心編譯 make j2 編譯 make modules make modules install make install cd boot mkinitramfs o initrd.img 2.6.30.10 2.6.30.10 此項可能不需要 vim boot g...
Linux核心編譯
經過幾天的努力,本人終於把乙個核心編譯成功了,嘿嘿,現在把編譯過程記下來,以後再接再勵,注意 以下的操作都要有root許可權。linux 2.6.36.tar.bz2。2 解壓縮。cd usr src tar xvf home ibm linux 2.6.36.tar.bz2.usr src下就會多...