導航:首頁 > 源碼編譯 > ubuntu如何重新編譯內核

ubuntu如何重新編譯內核

發布時間:2023-03-21 01:53:27

1. Ubuntu虛擬機里怎麼編譯內核

方法/步驟
」Ctrl+Alt+T」進入終端,使用命令 sudo passwd root 啟動root賬號,重啟,使用 su 命令獲得root許可權;

安裝編譯內核所需軟體包
# apt-get update
# apt-get install build-essential kernel-package libncurses5-dev fakeroot 選擇Y
下載3.19.3源碼包並解壓
# wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.19.3.tar.xz
# tar -Jxvf linux-3.19.3.tar.xz
配置內核
# cd linux-3.19.3 (cd命令進入源碼目錄)
# make mrproper (得到源代碼後,將其凈化)
# make menuconfig (對內核選項進行配置,不需要配置,直接enter)
# cp /boot/config-'uname -r'-generic ./.config ('uname -r'-generic指現版本內核)
# make clean (刪除配置時留下的一些不用的文件)
編譯內核(需要很長時間,我用了有兩小時,請耐心等待)
# make bzImage
# make moles (編譯模塊)
安裝新內核
# make moles_install (安裝模塊)
# make install
製作啟動盤
# sudo mkinitramfs 3.19.3 -o /boot/initrd.img-3.19.3
更新grub2
# sudo update-grub2

重啟,使用新內核(不是注銷哦,是重啟)
使用命令# uname -r 查看內核版本

2. 如何重新編譯linux內核

因為一般電腦安裝的系統都是Windows,而整個編譯過程都需要在Linux環境下實現,所以最好是在虛擬機里安裝Linux系統來完成這一過程。我使用的虛擬機是VMware-workstation-full-v7.1.4。
然後,我們需要下載一個較高版本的Linux系統的鏡像文件,安裝在虛擬機上,作為編譯環境。我使用的是ubuntu-11.04-desktop-i386。之所以選擇較高版本,是因為它的界面比較方便用戶操作。
然後下載一個Linux內核源代碼文件,將它保存到虛擬機上新安裝的系統中去。並解壓到/usr/src目錄。我使用的是linux-2.6.36,下載低版本的原因是,小巧輕便,易於編譯。
解壓命令如下:
bzip2
-d
linux-2.6.36.tar.bz2
tar
-xvf
linux-2.6.36.ta
修改/usr/src/linux-2.6.36/kernel/sys.c文件,在文件末尾增加一個系統調用函數。自行編寫一個簡單的程序即可,只為測試用。
修改/usr/src/linux-2.6.36/arch/x86/kernel/syscall_table_32.S,為新添加的程序配置系統調用號。
在/usr/src/linux-2.6.36/arch/x86/include/asm/unistd_32.h中配置系統調用表。
下面就是最重要的內核編譯與安裝:
首先配置編譯信息,使其生成適合當前機器的Makefile,輸入make
oldconf
ig。
接著還要輸入make
menuconfig,在字元界面下進行必要的細微的修改。
然後要經過四步編譯過程(直接輸入命令即可):
(1)make
bzImage
將內核編譯為壓縮映像,存儲在源碼根目錄下的「System.map」文件中。
(2)make
moles
編譯各個模塊。
(3)sudo
make
moles_install
安裝模塊
(4)sudo
make
install
安裝內核
第(2)(3)步等待時間較長,可能需要數個小時,請耐心等待。
無報錯的話重啟進入GRUB界面,就可以看到新編譯的內核了。
按回車鍵進入我們編譯的目標內核中,用關鍵詞搜索查看新增加的系統調用「my
call」是否已在內核中:
編寫測試程序,調用新添加的系統調用:
測試成功,說明系統調用添加成功,進而說明內核編譯成功!
以上的辦法你可以試一下,希望對你有所幫助。

3. 如何重新編譯linux內核

  1. 因為一般電腦安裝的系統都是Windows,而整個編譯過程都需要在Linux環境下實現,所以最好是在虛擬機里安裝Linux系統來完成這一過程。我使用的虛擬機是VMware-workstation-full-v7.1.4。

  2. 然後,我們需要下載一個較高版本的Linux系統的鏡像文件,安裝在虛擬機上,作為編譯環境。我使用的是ubuntu-11.04-desktop-i386。之所以選擇較高版本,是因為它的界面比較方便用戶操作。

  3. 然後下載一個Linux內核源代碼文件,將它保存到虛擬機上新安裝的系統中去。並解壓到/usr/src目錄。我使用的是linux-2.6.36,下載低版本的原因是,小巧輕便,易於編譯。

    解壓命令如下:

    bzip2 -d linux-2.6.36.tar.bz2

    tar -xvf linux-2.6.36.ta

  4. 修改/usr/src/linux-2.6.36/kernel/sys.c文件,在文件末尾增加一個系統調用函數。自行編寫一個簡單的程序即可,只為測試用。

  5. 修改/usr/src/linux-2.6.36/arch/x86/kernel/syscall_table_32.S,為新添加的程序配置系統調用號。

  6. 在/usr/src/linux-2.6.36/arch/x86/include/asm/unistd_32.h中配置系統調用表。

  7. 下面就是最重要的內核編譯與安裝:

    首先配置編譯信息,使其生成適合當前機器的Makefile,輸入make oldconf ig。

    接著還要輸入make menuconfig,在字元界面下進行必要的細微的修改。

    然後要經過四步編譯過程(直接輸入命令即可):

    (1)make bzImage

    將內核編譯為壓縮映像,存儲在源碼根目錄下的「System.map」文件中。

    (2)make moles

    編譯各個模塊。

    (3)sudo make moles_install

    安裝模塊

    (4)sudo make install

    安裝內核

    第(2)(3)步等待時間較長,可能需要數個小時,請耐心等待。

    無報錯的話重啟進入GRUB界面,就可以看到新編譯的內核了。

  8. 按回車鍵進入我們編譯的目標內核中,用關鍵詞搜索查看新增加的系統調用「my call」是否已在內核中:

  9. 編寫測試程序,調用新添加的系統調用:

  10. 測試成功,說明系統調用添加成功,進而說明內核編譯成功!

    以上的辦法你可以試一下,希望對你有所幫助。

4. 誰能給個Ubuntu編譯內核的詳細步驟啊,我的是Ubuntu10.04,想編譯一下更高版本的內核,網上方法試過很多了

ubuntu千萬別自己搞內核編譯,因為ubuntu系統對內核是有修改的,你自己就算編譯成功,以後系統也會出現很多問題。

5. ubuntu下怎麼編譯linux內核

linux下編譯軟體通擾襲用三步曲:
./configure
make
sudo make install
但是編譯內核要復雜的多,特別是定製內核,需要根據特定的硬體信息,配置.config文件。可以說.config文件是編譯linux內核是否優異的關鍵。凱裂也可以到github或者碼元上尋找有沒有類似的型號,找到盯李閉同一型號的電腦可以直接到內核源碼目錄下,然後依次執行shell命令:make
sudo make install
sudo make moles_install
sudo update-grub2 或者sudo update-grub就可以了

閱讀全文

與ubuntu如何重新編譯內核相關的資料

熱點內容
泰國《永恆》未刪減 瀏覽:952
程序員小妹留學新加坡 瀏覽:458
app為什麼要做伺服器端app 瀏覽:608
華為電腦命令提示符在哪 瀏覽:79
法國啄木鳥網站入口 瀏覽:601
java的api怎麼打開 瀏覽:277
一本主角叫林楓的重生小說 瀏覽:809
超級靈魂解壓視頻 瀏覽:536
葉天明和柳韻 瀏覽:138
韓國愛情片在線觀看 瀏覽:745
h264壓縮工具 瀏覽:320
為什麼app總是用手機號注冊 瀏覽:430
編譯程序卡死怎麼回事 瀏覽:976
鋼鐵命令氪金指南 瀏覽:938
團鬼六所有電影 瀏覽:826
方舟生存進化ol伺服器怎麼傳送 瀏覽:972
文件怎麼解壓微信怎麼發 瀏覽:385
管家無線網未加密 瀏覽:581
棋盤密碼加密的原理 瀏覽:431
重生越戰後升少將1979 瀏覽:874