中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么定制編譯一個屬于自己的Linux內核

發布時間:2022-01-26 15:50:22 來源:億速云 閱讀:348 作者:iii 欄目:開發技術

這篇文章主要講解了“怎么定制編譯一個屬于自己的Linux內核”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么定制編譯一個屬于自己的Linux內核”吧!

怎么定制編譯一個屬于自己的Linux內核

一 編譯方式
編譯內核有多種方式,從kernel.org下載選擇下載需要的版本的內核源碼,
如:linux-2.6.32-rc1.tar.bz2,下載內核源碼到/home/user/目錄,進入下載目錄,解壓壓縮包。

#cd /home/user/
#tar -xjvf linux-2.6.32-rc1.tar.bz2

二 準備編譯環境

開始之前,首先確認下面軟件包已經安裝(編譯中標普華4.0時,直接全部安裝CD3可保證此條件)。
* rpmdevtools
* yum-utils
fedora系統可以使用如下命令安裝:
#yum install yum-utils rpmdevtools

1. 生成一個rpmbuild命令工作所需的目錄樹,下面命令可以完成該操作,也可以手動建立目錄樹。
命令建立:
#rpmdev-setuptree

此命令將會在/usr/src/rpmbuild/目錄下生成如下目錄結構(如果此位置沒有,則可能在當前用戶目錄下).

# tree /usr/src/rpmbuild/
rpmbuild/
|– BUILD
|– RPMS
|– SOURCES
|– SPECS
`– SRPMS
上面部分是rpmbuild的環境建立。rpm
3. 安裝內核源碼包需要的依賴組件(在此可以跳過此步操作)

su -c ‘yum-builddep kernel-.src.rpm’
4.安裝內核源碼到系統,默認目錄在/usr/src/neoshine:

rpm -Uvh kernel-.src.rpm

三 配置內核(生成config配置文件)

下面將介紹如何解開源碼包,并修改,配置和重新打包源碼
1. 解開源碼包并打上所有的補丁到BUILD目錄

cd ~/rpmbuild/SPECS
rpmbuild -bp –target=`uname -m` kernel.spec

kernel源碼將在這里找到:

/usr/src/neoshine/rpmbuild/BUILD/kernel-/linux-. directory

配置內核源碼
1. 進入內核源碼:

cd ~/rpmbuild/BUILD/kernel-2.6.$ver/linux-2.6.$ver.$arch/
2. 復制/boot/config*配置文件到源碼目錄下,此config文件也可以是已經配好或者其他地方備份的kernel配置文件:

cp /boot/config2.6- 2.6.$ver.$arch .config
3. 先檢查kernel配置中新增的選項:

make oldconfig
4. 定制內核功能,關閉initrd支持選項,執行圖形化內核配置工具:

make menuconfig
注:在generic setup選項下找到initial RAM system and RAM disk(initramfs and initrd) support 項,取消編譯。同時確保跟文件系統對應的驅動和系統所在存儲器對應的驅動都已經編譯到內核(否則會無法啟動系統).

5. 在.config文件第一行改為下面內容(注意:沒有此行時,后面的編譯會報錯)

# i386
6. 拷貝.config到SOURCES/:

cp .config ../SOURCES/config-$arch

四 編譯新內核

1. 下面開始準備編譯新的內核包
打開SPEC/kernel.spec

vim SPEC/kernel.spec
改變下面行內容,可以定制自己的內核擴展名(如fc10之類):

%define buildid .
下一步將生成一個新內核的rpm包,此過程需要編譯內核源碼包
使用下面命令生成新的內核源碼包
rpmbuild -bb –with baseonly –without debuginfo –target=`uname -m` kernel.spec

參數說明:bb表示只編譯二進制包,即不生成源碼包,without debuginfo 表示沒有調試信息,
target=`uname -r`表示生成對應當前平臺的內核包
如果上面的命令成功執行完成,那么會在BUILD/i686目錄下生成新的內核安裝包

五 安裝新內核

rpm -ivh kernel-$ver-$arch.rpm
此步操作會自動安裝內核到boot目錄下,安裝對應內核模塊到/lib/modules/目錄下,并且生成新內核對應的grub引導菜單。
修改grub引導菜單為以下格式

title new kernel
kernel /boot/vmlinuz-$ver-$arch root=/dev/sdax(hdax)

注意,此處不要使用uuid指定跟文件系統(可能會無法掛載根分區而導致內核死機),也不要再加和顯示相關的參數(內核不支持對應設置時,只會看到一個黑黑的屏幕)。

感謝各位的閱讀,以上就是“怎么定制編譯一個屬于自己的Linux內核”的內容了,經過本文的學習后,相信大家對怎么定制編譯一個屬于自己的Linux內核這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴彦县| 永寿县| 紫金县| 响水县| 陆丰市| 周至县| 嘉峪关市| 二手房| 博白县| 双江| 新竹县| 博野县| 乌兰察布市| 黄冈市| 新郑市| 德化县| 来安县| 霍林郭勒市| 德州市| 驻马店市| 阳西县| 保靖县| 延津县| 郸城县| 屏南县| 博兴县| 乐亭县| 那曲县| 德庆县| 金华市| 隆德县| 乡城县| 阿荣旗| 临高县| 景德镇市| 顺义区| 西充县| 巴马| 沛县| 凌源市| 萍乡市|