JavaScript must be enabled in order for you to see "WP Copy Data Protect" effect. However, it seems JavaScript is either disabled or not supported by your browser. To see full result of "WP Copy Data Protector", enable JavaScript by changing your browser options, then try again.

Compile Kernel 3.4.2 Stable on Fedora Core 17


話說系統好好的幹麻突然要重編核心,不外乎為了能夠辨識新的硬體(功能,最常見)、提升(優化)特殊的硬體而使用更好的Driver、更新成新的版本和最蝦的原因(因為有,何樂不為= =),所以趕緊來嘗鮮新的Linux Kerner 3.4.2 Stable,實作如下:

在開始下面步驟前,先確保已經安裝gccwgetncurses-develperl這些套件,方便下面的運作…..

1) 檢視目前的Kernel版本相關資訊
#uname -a
Linux fc17.labs.org 3.3.4-5.fc17.x86_64 #1 SMP Mon May 7 17:29:34 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

2) 從國高中心將Kernel 3.4.2 Stable的Source下載回來
#wget ftp://ftp.twaren.net/pub/Unix/Kernel/linux/kernel/v3.x/linux-3.4.2.tar.gz

3) 將Source移動到/usr/src目錄下後解壓並進到該目錄
#mv linux-3.4.2.tar.gz /usr/src/
#cd /usr/src
#tar zxvf linux-3.4.2.tar.gz
#cd /usr/src/linux-3.4.2/

4) 只留下Kernel Source,會清掉建議使用的.config與.o的物件檔、Static函式庫及Kernel的patch備份殘留檔(最乾淨)
#make mrproper

5) 將當前的Kernel組態設定檔套用在新的Kernel上並用Menu做增減
#cp /boot/config-3.3.4-5.fc17.x86_64 /usr/src/.config
#make oldconfig
#make menuconfig


6) 編譯前添加可方便識別的的文字(這邊為-iori)
#vi /usr/src/linux-3.4.2/Makefile
VERSION = 3
PATCHLEVEL = 4
SUBLEVEL = 2
EXTRAVERSION = -iori

7) 相當於做#make bzimage與#make modules(編譯映像檔與模組,後者較花時間)
#nohup make all & <-若遠端操作可掛給Init以預防超時斷線問題
#tail -f nohup.out

8) 將以上編譯好的所有系統模組檔(*.ko)複製到/lib/modules/3.4.2-iori/的目錄內
#make modules_install

9) 會自動建立ramdisk(initrd)、建立System.map並複製到boot區和把新Kernel設定於/boot/grub2/grub.cfg內,均完成後直接重開即可套用新的Kernel
#make install
#reboot


10) 若想要改回原本的Kernel做開機,添加一個Label並將原本改成submenu(預設都套在同個Label下)
#vi /boot/grub2/grub.cfg
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Old Fedora Linux' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-34878578-e33c-43fb-896c-4fb5f017ae93' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1' 54c74651-6d7a-402a-a7ff-864d2a70354f
else
search --no-floppy --fs-uuid --set=root 54c74651-6d7a-402a-a7ff-864d2a70354f
fi
echo 'Loading Linux 3.3.4-5.fc17.x86_64 ...'
linux /vmlinuz-3.3.4-5.fc17.x86_64 root=/dev/mapper/vg_fc17-lv_root ro rd.md=0 rd.dm=0 KEYTABLE=us SYSFONT=True rd.lvm.lv=vg_fc17/lv_swap rd.luks=0 rd.lvm.lv=vg_fc17/lv_root LANG=en_US.UTF-8 rhgb quiet
echo 'Loading initial ramdisk ...'
initrd /initramfs-3.3.4-5.fc17.x86_64.img
}
submenu 'Fedora Linux' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-34878578-e33c-43fb-896c-4fb5f017ae93' {
load_video
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1' 54c74651-6d7a-402a-a7ff-864d2a70354f
else
search --no-floppy --fs-uuid --set=root 54c74651-6d7a-402a-a7ff-864d2a70354f
fi
echo 'Loading Linux 3.4.2iori ...'
linux /vmlinuz-3.4.2iori root=/dev/mapper/vg_fc17-lv_root ro rd.md=0 rd.dm=0 KEYTABLE=us SYSFONT=True rd.lvm.lv=vg_fc17/lv_swap rd.luks=0 rd.lvm.lv=vg_fc17/lv_root LANG=en_US.UTF-8 rhgb quiet
echo 'Loading initial ramdisk ...'
initrd /initramfs-3.4.2iori.img
}
...

PS) 若是針對M$系列的系統添加至Grub2的作法如下:
#grub2-set-default "Windows 7"
#grub2-editenv list
#grub2-mkconfig -o /boot/grub2/grub.cfg

◎以上就大功告成了,若想要知道詳細的Grub2的用法,可參考Fedora的官方網站LinuxReader或人家的部落格,收工!

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

 
This site is protected by WP-CopyRightPro