為了後續的學習研究和測試教科書上的例子程式,重新編譯一遍kernel是個不錯的選擇。下面是重新編譯kernel的步驟:
root@/root>apt-get install linux-source-2.6.24
root@/usr/src/linux-source-2.6.24>make mrpoper
該命令是清除此目錄下殘留的.config和.o(object檔案),第一次編譯的時候可以不管,但是後面重新編譯的時候是必須要做的。
3. 接著是編譯menuconfig了,這裡有幾個坑是要注意的,下面列出的2個開發包需要先安裝,然後再來編譯menuconfig,不然會報錯(缺少各種標頭檔案)。
root@/usr/src/linux-source-2.6.24>make menuconfig
apt-get install build-essential
還需要下ncurses的開發包(ncurses是乙個能提供功能鍵定義(快捷鍵),螢幕繪製以及基於文字終端的圖形互動功能的動態庫)。
apt-get install ncurses-dev
make menuconfig 會彈出乙個視窗來確認各種配置選項,由於編譯的config檔案直接是從ubuntu當前所用核心拷貝過來的,所以沒做任何修改,直接退出。
4. 接下來就是make了,在本人的虛擬機器上差不多40多分鐘可以搞定。
root@/usr/src/linux-source-2.6.24>make
5. 執行make install,將編譯的.o檔案神馬的都扔到它們該去的位置,這一步完成後會提示要重啟,grub已經install了。不用重啟,繼續下一步。
root@/usr/src/linux-source-2.6.24>make install
6. 執行 make modules_install install,這一步完成後依舊會提示要重啟,grub已經install了。不用重啟,繼續下一步。
root@/usr/src/linux-source-2.6.24>make modules_install install
7. 建立initrd檔案
root@/usr/src/linux-source-2.6.24>mkinitramfs -o /boot/initrd.img-2.6.24.6 2.6.24.6
8. 修改menu.lst
root@/boot/grub>vi menu.lst
裡面需要修改的內容如下所示,和前面編譯產生的檔案對應:
title ubuntu 8.04.4 lts, kernel 2.6.24.6
root (hd0,0)
kernel /boot/vmlinuz-2.6.24.6 root=uuid=e1e7e34b-7fa0-4f46-b966-e5918a09f42c ro quiet splash find_preseed=/preseed.cfg auto automatic-ubiquity noprompt priority=critical locale=en_us
initrd /boot/initrd.img-2.6.24.6
接下終於可以重啟系統了,進入系統檢視當前kernel版本已經替換成重新編譯後的版本了。
2013.5.28
核心 核心編譯 proc sys
單核心體系設計 但充分借鑑了微核心設計體系的優點,為核心引入模組化機制。核心組成部分 kernel 核心核心,一般為bzimage,通常在 boot目錄下,名稱為vmlinuz version release kernel object 核心物件,一般放置於 lib modules version ...
核心編譯 模組編譯
目前是嵌入式 linux 的初學者感覺有所體會 1.從demo 學起 tiny 6410 上的開發,我的任務不斷是新增小模組。交叉編譯器,以及其它一系列 tool chains 可直使用產商提供的工具。避免過多細節的好處在於,你可以從整體處著手你從書本學到的理論知識。2.kernel 編譯其它很簡單...
suse 核心編譯安裝 Linux核心編譯與安裝
操作環境 rhel 5.1 一 準備工作 2 解壓縮核心檔案,進入解壓後核心源 目錄,切換至root使用者 tar xzvf linux 2.6.39.4.tar.bz2 cd mnt hgfs linux 2.6.39.4 su root 二 核心編譯 make distclean 4 核心配置 ...