標籤

4GL (1) 人才發展 (10) 人物 (3) 太陽能 (4) 心理 (3) 心靈 (10) 文學 (31) 生活常識 (14) 光學 (1) 名句 (10) 即時通訊軟體 (2) 奇狐 (2) 音樂 (2) 產業 (5) 郭語錄 (3) 無聊 (3) 統計 (4) 新聞 (1) 經濟學 (1) 經營管理 (42) 解析度 (1) 遊戲 (5) 電學 (1) 網管 (10) 廣告 (1) 數學 (1) 機率 (1) 雜趣 (1) 證券 (4) 證券期貨 (1) ABAP (15) AD (1) agentflow (4) AJAX (1) Android (1) AnyChart (1) Apache (14) BASIS (4) BDL (1) C# (1) Church (1) CIE (1) CO (38) Converter (1) cron (1) CSS (23) DMS (1) DVD (1) Eclipse (1) English (1) excel (5) Exchange (4) Failover (1) FI (57) File Transfer (1) Firefox (2) FM (2) fourjs (1) gladiatus (1) google (1) Google Maps API (2) grep (1) Grub (1) HR (2) html (23) HTS (8) IE (1) IE 8 (1) IIS (1) IMAP (3) Internet Explorer (1) java (3) JavaScript (22) jQuery (6) JSON (1) K3b (1) LED (3) Linux (112) Linux Mint (4) Load Balance (1) Microsoft (2) MIS (2) MM (51) MSSQL (1) MySQL (27) Network (1) NFS (1) Office (1) Oracle (125) Outlook (3) PDF (6) Perl (59) PHP (33) PL/SQL (1) PL/SQL Developer (1) PM (3) Postfix (2) postfwd (1) PostgreSQL (1) PP (50) python (1) QM (1) Red Hat (4) Reporting Service (28) ruby (11) SAP (234) scp (1) SD (16) sed (1) Selenium-WebDriver (5) shell (5) SQL (4) SQL server (8) SQuirreL SQL Client (1) SSH (2) SWOT (3) Symantec (2) T-SQL (7) Tera Term (2) tip (1) tiptop (22) Tomcat (6) Trouble Shooting (1) Tuning (5) Ubuntu (33) ufw (1) utf-8 (1) VIM (11) Virtual Machine (2) vnc (3) Web Service (2) wget (1) Windows (19) Windows (1) WM (6) youtube (1) yum (2)

2011年10月3日 星期一

Compile The Ubuntu Kernel

http://nixchun.pixnet.net/blog/post/9690040-compile-the-ubuntu-kernel

這次是在Ubuntu 7.04的環境Compile 2.6.22.9的Kernel。在Ubuntu的環境下Compile Linux kernel是件輕鬆的事,要做的事很少喔。


在Compile kernel前要先確定的就是有個gcc可以用啦,如果不確定就用apt-get build-dep gcc再安裝一次gcc吧,安裝完隨便寫個Hello Wrold測試一下就行啦。


先確認一下/bin/sh是link到/bin/bash,Ubuntu預設是link到/bin/dash,還是用bash比較習慣。


接下來要安裝Cimpile kernel時需要用的一些tool,我們需要kernel-package、libncurses5-dev、fakeroot、wget、bzip2。


抓一版Kernel來用,連上http://www.kernel.org找到最新的Kernel版本是2.6.22.9,所以就抓這版來用吧。在/usr/src目錄下用wget抓Linux kernel soruce code。


解壓縮Linux kernel,Create一個linux的soft link到linux-2.6.22.9。並切換到/usr/src/linux目錄。


先把舊的.config copy來用吧,至少確定是可以work的Kernel設定,而且可以以舊的設定為基礎再去修改自己需要的Kernel功能,不用一切從頭來。
執行cp /boot/config-`uname -r' ./.config就會把目前用的Kernel的.config copy到現在目錄下囉。


make menuconfig。


這時就可以選"Load an Alternate Configuration File"啦。


把剛剛的.config load進來吧,之後再去修改自己想要的Kernel設定。


設定好Kernel就可以存檔離開啦。


執行make-kpkg clean。


執行fakeroot make-kpkg --initrd kernel_image kernel_headers。接下來就是漫長的等待啦,Build kernel是要花不少時間的,可以泡茶啦。


Build 完Kernel後切換到/usr/src目錄,會看到多了"linux-image- 2.6.22.9_2.6.22.9-10.00.Custom_i386.deb"和"linux-headers- 2.6.22.9_2.6.22.9-10.00.Custom_i386.deb"這兩個檔案。
執行dpkg -i linux-image-2.6.22.9_2.6.22.9-10.00.Custom_i386.deb。


執行dpkg -i linux-headers-2.6.22.9_2.6.22.9-10.00.Custom_i386.deb。


檢查一下開機選單/boot/grub/menu.lst。


太棒啦,開機選單也是自動建好的,什麼都不用改囉。可以重開機測試一下了。


開機後按[Esc]進入開機選單,果然看到了2.6.22.9版的Kernel呢。


開完機再用uname -r確認一下。太棒啦,現在run的是2.6.22.9的Kernel喔。

沒有留言:

張貼留言