歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux內核

Ubuntu上編譯Linux內核的過程筆記

總結一下在Ubuntu上編譯Linux內核的過程

 

1.首先要獲得root權限,方法有二,均驗證過:

a.sudopasswd root

******(輸入原先的root口令)

******(輸入新的root口令,可以保持原樣。我就保持的原樣)

******(再次輸入新的root口令)

su root

輸入一遍設定的密碼

之後就可以在終端中使用root權限了!

b. sudo -s –H

*********(輸入設定的密碼)即可獲得root權限

2. 安裝編譯程序

必須:#(sudo) apt-getinstall build-essential kernel-package libncurses5-dev fakeroot

這一步安裝了編譯內核必須的程序,是必須安的

3.cd到內核下載後放置的目錄進行解壓縮,一般有兩種情況:

a. 如果是bz2格式的話使用 tar -jxvf linux-2.6.33.tar.bz2 或tar xjvf linux-2.6.33.tar.bz2(參考網上和老師ppt,自己未驗證)

b.如果是gz格式的話則root@jb-laptop:/home/jb#tar -zxvf linux-2.6.33.tar.gz

4. 復制源碼到目錄/usr/src/下

root@jb-laptop:/home/jb# mv linux-2.6.38.8 /usr/src/

然後cd到 /usr/src/linux-2.6.33文件夾下進行下面的操作(cd到想要的文件夾下有的需要加/有的則不需要,(?)cd直接返回上級文件夾)

5. makemrproper (其實這一步可以省略,因為是剛下載好的源碼,一定是干淨的;如果使用的是已經編譯過的code,則需要做這一步)

6.配置Kernel選項:make menuconfig (這一步很重要,它決定了你可以個人定制化你的Kernel。當你使用menuconfig時,會有一些選擇列出來) 具體東西有些復雜,下面提供不需要手動配置的方法:cp /boot/config-`uname -r` ./.config(用你現在的內核配置設置新內核)然後make menuconfig,進入一個界面然後先最底下的load……然後save……然後exit

7. makebzImage 編譯內核.(大約15分鐘)

8. makemodules 編譯模塊.(1小時或更久)

9.makemodules_install 安裝模塊

此時/lib/modules/下應該新生成一個KERNEL_VERSION文件.

10.生成新內核make install

把編譯好的內核放入/boot中,會把vmlinuz和System.map復制到/boot目錄下,並建立相關的鏈接

11.完成最後的工作

首先是生成initrd.img。

mkinitramfs2.6.38.8 -o /boot/initrd.img-2.6.38.8

如果系統提示沒有安裝mkinitramfs,那就apt-get install mkinitramfs

接著修改引導程序文件grub.cfg

update-grub

盡量不要手動去修改grub.cfg文件,搞不好連電腦都啟動不了

12.重啟電腦

reboot

然後在grub引導界面上選擇你的新內核

啰嗦了這麼多總算是完成了簡單的內核編譯,寫得有些瑣碎,但是每一步都很明確也經過了驗證。其實這還算是比較偷懶的方式,關於內核選項的配置和把內核映象以及System.map拷貝到/boot/下,還有給自己的linux內核改名字都省略了,至於用到的命令也沒有過多的解釋,需要再查資料加深理解。

Linux Kernel 的詳細介紹:請點這裡
Linux Kernel 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved