導航:首頁 > 源碼編譯 > 編譯內核製作安裝文件

編譯內核製作安裝文件

發布時間:2024-07-19 21:04:58

linux如何編譯安裝新內核支持NTFS文件系統(

第一步: 對硬體進行設置,使其滿足要求並下載內核:

1. 新添加一塊20G的硬碟及修改內存:

⑵ 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就可以了

⑶ CentOS 5.5下如何編譯安裝新內核

第一步:下載內核

傳送門:地址.筆者下載的是3.2.84版本

第二步:解壓編譯內核

由於我下的是.tar.xz文件,用tar命令不能直接解壓。

1.我的系統里不帶xz解壓軟體,先下載xz-5.0.3.tar.bz2文件並解壓安裝

tar -jvxf xz-5.0.3.tar.bz2 cd /opt/xz-5.0.3 #進入解壓後的文件夾 ./configure make make install

2.解壓內核

xz -d linux-3.2.84.tar.xz tar -xvf linux-3.2.84.tar

3.如果是第一次編譯內核,並沒有上次殘留的文件可以跳過該步驟(最好仔細看下指令對應的功能)

make mrproper make clean 刪除大多數的編譯生成文件, 但是會保留內核的配置文件.config, 還有足夠的編譯支持來建立擴展模塊 make mrproper 刪除所有的編譯生成文件, 還有內核配置文件, 再加上各種備份文件 make distclean mrproper刪除的文件, 加上編輯備份文件和一些補丁文件。

4.搭建編譯內核所需要的環境

yum -y install gcc yum install ncurses ncurses-devel yum install openssl-devel

5.進入內核解壓文件夾配置內核參數

由於我是個小白不會選,為了方便,直接用make localmodconfig命令,這個命令是以本來的.config文件為基礎去選,可以參考論文:嵌入式linux系統的裁剪優化和測試技術.然後我就一直回車直到結束。然後再輸入make menuconfig命令進入圖形選擇菜單,將kenel hacking中的Sample..選項去掉(具體那一項我忘了,尷尬),退出保存。然後編輯.config文件中的“CONFIG_SYSFS_DEPRECATED”,默認該選項為not set,被注釋掉的,將其改為y,即修改為“CONFIG_SYSFS_DEPRECATED=y”,之後可能還要修改,後面再說。

6.編譯新內核

make bzImage && make moles && make moles_install

7.安裝內核

8.編譯安裝可能出現的情況

應該是沒什麼問題, 不過也不排除會出現下面的情況:make:警告:檢測到時鍾錯誤。您的創建可能是不完整的。 解決辦法:find . -type f -exec touch {} ; 重新編譯下就好了。

9.處理下img中的東西(我說不清楚= =)

1)解壓initrd文件

# cp /boot/initrd-3.2.84.img /tmp # cd /tmp/ # ls initrd-2.6.30.4.img # mkdir newinitrd # cd newinitrd/ # zcat ../initrd-2.6.30.4.img | cpio -i

釋放之後看到如下內容

# ls bin dev etc init lib proc sbin sys sysroot

2)編輯init,刪掉其中重復的四行中的兩行 echo “Loading dm-region-hash.ko mole” insmod /lib/dm-region-hash.ko echo “Loading dm-region-hash.ko mole” insmod /lib/dm-region-hash.ko 3)重新打包initrd

# find . | cpio -c -o > ../initrd 11538 blocks # cd .. # gzip -9 < initrd > initrd.img # ls initrd-2.6.30.4.img initrd initrd.img

這裡面的initrd.img就是重新打包後的文件。 4)把initrd.img復制到/boot下 命令:#cp initrd.img /boot 5)修改grub.config,在/etc文件夾下 把initrd-3.2.84.img改為initrd.img就可以了 6)reboot重啟 記得選擇自己的內核!別錯過啦!

以上內容就是小編為大家帶來的關於CentOS 5.5下編譯安裝新內核的方法了,希望可以幫助到大家!

⑷ 如何編譯Linux內核

一、編譯環境

ubuntu 5.10,要編譯的內核源碼版本2.6.12 二、下載並解壓源代碼 首先從linux內核的官網www.kernel.org把源代碼下載下來。為了和後面實驗要求符合,我們要下載使用O(1)調度器的源碼。因此這里下載了2.6.12版本源碼。下載 下linux-2.6.12.tar.bz2,將下載源碼放入/usr/src/目錄下。如下圖所示: 解壓該源碼: 三、構建編譯環境 現在我們得到的只是源代碼,只是許許多多的文本文件,要想使這些文件成為可以運行的程序,需要使用編譯器進行編譯以及鏈接。編譯器有很多,但在里linux下一般都使用gnu的開源編譯器套件,這里包括gcc等,現在我們安裝基本的編譯器套件,如圖所示: 四、安裝ncurses庫 這里使用Ubuntu系統,因為系統自帶的ncurses庫在支持make menuconfig的時候會出錯,所以,依然要安裝ncurses庫,這里我們從源碼安裝。首先去ncurses官網http://ftp.gnu.org/pub/gnu/ncurses/ 上下載源碼。這里我們下載5.9版本,並通過簡單的安裝方式.configure 和make、make install方式安裝。如下圖所示: 五、配置內核 一切准備工作做完,現在我們就可以配置內核了,這里我們使用make menuconfig方式。如下圖: 在使用make menuconfig這個命令後,會出現如下的字元界面,我們就可以在這個界面上對內核進行配置。但是如果這不是你第一次配置這個內核,那麼請先運行:make mrproper來清除以前的配置,回到默認配置,然後再運行:make menuconfig.
在這里,我們以對cpu支持的配置為例,其餘的選項就不一一詳述,首先查看本機的cpu類型,如下圖:

在這里我們可以看到,我的電腦的cpu是AMD Athlon的,因此我們在cpu選項裡面選用AMD,如下圖所示:

在這里需要注意的是:
A、 cpu的設置在linux內核編譯過程中,不是必需的,即使保持默認的386選項(我們剛才把它改成了AMD),內核也能正常運行,只不過運行慢一些而已。
B、 一般容易出問題的地方在於Device Driver的設置。我在一開始就遇到了在內核編譯完,通過grub引導系統過程中報 「ALERT! /dev/sda1 does not exist . Dropping to a shell!」的錯誤。這是因為硬碟驅動沒有配置好而造成的。運行lspci命令,查看到下面這行:

由此確定,需要配置SCSI、PCI-X、Fusion-MPT驅動,需要在響應的驅動選項里將[M]設置為[*],因為硬碟驅動是在系統開機的時候載入,所以不能以模塊形式載入。

把這幾個驅動內部的選項全部改為[*]:

六、編譯內核

對內核的配置完成之後,現在就可以開始編譯內核了,只需要一個簡單的make命令即可,之後我們就只能慢慢等,直到編譯完成,在我的電腦上,大概用了25分鍾。下圖是運行make後的部分輸出。

七、安裝內核
編譯完成之後,我們需要安裝內核,主要分為如下幾步:
1)、安裝模塊

安裝模塊,對於內核來說,每一個內核版本有自己的模塊目錄,默認在/lib/moles/內核版本號這個目錄下,make moles_install會創建對應的目錄,並把對應的模塊文件拷貝過去。注意,這一步必須要在編譯過內核再做。

2)、拷貝bzImage文件

bzImage文件是內核映像文件,是啟動內核所必需的,我們應當把它拷貝到/boot目錄下。在這里,我為自己新建了一個目錄,我們把它拷貝過去,並且按照一般內核映像文件的命名方式為它改名為vmlinuz-2.6.12。

3)、製作initrd文件
initrd文件命名為initrd.img-2.6.12

4)、修改grub啟動項
要能引導起我們的新系統,需要更改grub配置,增加啟動選項。ubuntu 5.10的grub版本比較低,配置文件為/boot/grub/menu.lst,高版本的grub可能在/boot/grub/grub.cfg里。在原有啟動項基礎上,添加我們自己的啟動項,並把它設為默認啟動項,配置如下:

5)重啟
不出意外的話,我們的內核已經正常載入了,運行uname -a,會發現,內核版本已經是2.6.12了。

⑸ linuxmake瀹夎呮病鏈夋潈闄恖inuxmake瀹夎

LINUX鍐呮牳緙栬瘧姝ラわ紵

緙栬瘧鍙婂畨瑁呯畝瑕佹ラわ細緙栬緫Makefile鐗堟湰淇℃伅瀹氫箟鍐呮牳鐗規э紝鐢熸垚閰嶇疆鏂囦歡.config錛岀敤浜庣紪璇戱細makexconfig緙栬瘧鍐呮牳錛歮ake瀹夎呭唴鏍革細makeinstall瀹夎呮ā鍧楋細makemoles_install鍏蜂綋姝ラゅ備笅錛氬唴鏍擱厤緗鍏堝畾涔夊唴鏍擱渶瑕佷粈涔堢壒鎬э紝騫惰繘琛岄厤緗銆傚唴鏍告瀯寤虹郴緇燂紙Thekernelbuildsystem錛夎繙涓嶆槸綆鍗曠敤鏉ユ瀯寤烘暣涓鍐呮牳鍜屾ā鍧楋紝鎯充簡瑙f洿澶氱殑楂樼駭鍐呮牳鏋勫緩閫夐」錛屼綘鍙浠ユ煡鐪婦ocumentation/kbuild鐩褰曞唴鐨勫唴鏍告枃妗c

鍙鐢ㄧ殑閰嶇疆鍛戒護鍜屾柟寮忥細makemenuconfig鍛戒護錛歮akemenuconfig緙栬瘧鍐呮牳緙栬瘧鍜屽畨瑁呭唴鏍哥紪璇戞ラわ細$cd/usr/src/linux2.6$make瀹夎呮ラ(loggedas$makeinstall$makemoles_install鎻愬崌緙栬瘧閫熷害澶氳姳涓浜涙椂闂村湪鍐呮牳閰嶇疆涓婏紝騫朵笖鍙緙栬瘧閭d簺浣犵‖浠墮渶瑕佺殑妯″潡銆

榪欐牱鍙浠ユ妸緙栬瘧鏃墮棿緙╃煭涓哄師鏉ョ殑1/30錛屽苟涓旇妭鐪佹暟鐧綧B鐨勭┖闂淬

鍙﹀栵紝浣犺繕鍙浠ュ苟琛岀紪璇戝氫釜鏂囦歡錛$make-j

linux涓璵ake鍛戒護鎬庝箞鐢錛

鐢ㄦ硶錛

1銆乵ake錛

榪欎竴姝ュ氨鏄緙栬瘧錛屽ぇ澶氭暟鐨勬簮浠g爜鍖呴兘緇忚繃榪欎竴姝ヨ繘琛岀紪璇戱紙褰撶劧鏈変簺perl鎴杙ython緙栧啓鐨勮蔣浠墮渶瑕佽皟鐢╬erl鎴杙ython鏉ヨ繘琛岀紪璇戱級銆

濡傛灉鍦╩ake榪囩▼涓鍑虹幇error錛屽氨瑕佽頒笅閿欒浠g爜錛堟敞鎰忎笉浠呬粎鏄鏈鍚庝竴琛岋級錛岀劧鍚庡彲浠ュ悜寮鍙戣呮彁浜bugreport錛堜竴鑸鍦↖NSTALL閲屾湁鎻愪氦鍦板潃錛夈傛垨鑰呯郴緇熷皯浜嗕竴浜涗緷璧栧簱絳夛紝榪欎簺闇瑕佽嚜宸變粩緇嗙爺絀墮敊璇浠g爜銆

make鐨勪綔鐢ㄦ槸寮濮嬭繘琛屾簮浠g爜緙栬瘧錛屼互鍙婁竴浜涘姛鑳界殑鎻愪緵錛岃繖浜涘姛鑳界敱浠栫殑Makefile璁劇疆鏂囦歡鎻愪緵鐩稿叧鐨勫姛鑳姐

姣斿俶akeinstall涓鑸琛ㄧず榪涜屽畨瑁咃紝makeuninstall鏄鍗歌澆錛屼笉鍔犲弬鏁板氨鏄榛樿ょ殑榪涜屾簮浠g爜緙栬瘧銆

make鏄疞inux寮鍙戝椾歡閲岄潰鑷鍔ㄥ寲緙栬瘧鐨勪竴涓鎺у埗紼嬪簭錛屼粬閫氳繃鍊熷姪Makefile閲岄潰緙栧啓鐨勭紪璇戣勮寖榪涜岃嚜鍔ㄥ寲鐨勮皟鐢╣cc銆乴d浠ュ強榪愯屾煇浜涢渶瑕佺殑紼嬪簭榪涜岀紪璇戠殑紼嬪簭銆

涓鑸鎯呭喌涓嬶紝浠栨墍浣跨敤鐨凪akefile鎺у埗浠g爜錛岀敱configure榪欎釜璁劇疆鑴氭湰鏍規嵁緇欏畾鐨勫弬鏁板拰緋葷粺鐜澧冪敓鎴愩

linux涓錛岀殑makeinstall錛

make鏄鐢ㄦ潵緙栬瘧鐨勶紝瀹冧粠Makefile涓璇誨彇鎸囦護錛岀劧鍚庣紪璇戙

makeinstall鏄鐢ㄦ潵瀹夎呯殑錛屽畠涔熶粠Makefile涓璇誨彇鎸囦護錛屽畨瑁呭埌鎸囧畾鐨勪綅緗銆傜敤娉曪細

1銆乵ake錛氳繖涓姝ュ氨鏄緙栬瘧錛屽ぇ澶氭暟鐨勬簮浠g爜鍖呴兘緇忚繃榪欎竴姝ヨ繘琛岀紪璇戱紙褰撶劧鏈変簺perl鎴杙ython緙栧啓鐨勮蔣浠墮渶瑕佽皟鐢╬erl鎴杙ython鏉ヨ繘琛岀紪璇戱級銆傚傛灉鍦╩ake榪囩▼涓鍑虹幇error錛屽氨瑕佽頒笅閿欒浠g爜錛堟敞鎰忎笉浠呬粎鏄鏈鍚庝竴琛岋級錛岀劧鍚庡彲浠ュ悜寮鍙戣呮彁浜bugreport錛堜竴鑸鍦↖NSTALL閲屾湁鎻愪氦鍦板潃錛夈傛垨鑰呯郴緇熷皯浜嗕竴浜涗緷璧栧簱絳夛紝榪欎簺闇瑕佽嚜宸變粩緇嗙爺絀墮敊璇浠g爜銆俶ake鐨勪綔鐢ㄦ槸寮濮嬭繘琛屾簮浠g爜緙栬瘧錛屼互鍙婁竴浜涘姛鑳界殑鎻愪緵錛岃繖浜涘姛鑳界敱浠栫殑Makefile璁劇疆鏂囦歡鎻愪緵鐩稿叧鐨勫姛鑳姐傛瘮濡俶akeinstall涓鑸琛ㄧず榪涜屽畨瑁咃紝makeuninstall鏄鍗歌澆錛屼笉鍔犲弬鏁板氨鏄榛樿ょ殑榪涜屾簮浠g爜緙栬瘧銆俶ake鏄疞inux寮鍙戝椾歡閲岄潰鑷鍔ㄥ寲緙栬瘧鐨勪竴涓鎺у埗紼嬪簭錛屼粬閫氳繃鍊熷姪Makefile閲岄潰緙栧啓鐨勭紪璇戣勮寖榪涜岃嚜鍔ㄥ寲鐨勮皟鐢╣cc銆乴d浠ュ強榪愯屾煇浜涢渶瑕佺殑紼嬪簭榪涜岀紪璇戠殑紼嬪簭銆備竴鑸鎯呭喌涓嬶紝浠栨墍浣跨敤鐨凪akefile鎺у埗浠g爜錛岀敱configure榪欎釜璁劇疆鑴氭湰鏍規嵁緇欏畾鐨勫弬鏁板拰緋葷粺鐜澧冪敓鎴愩

2銆乵akeinstall榪欐潯鍛戒護鏉ヨ繘琛屽畨瑁咃紙褰撶劧鏈変簺杞浠墮渶瑕佸厛榪愯宮akecheck鎴杕aketest鏉ヨ繘琛屼竴浜涙祴璇曪級錛岃繖涓姝ヤ竴鑸闇瑕佷綘鏈塺oot鏉冮檺錛堝洜涓鴻佸悜緋葷粺鍐欏叆鏂囦歡錛夈

濡備綍鍦╱buntu涓瀹夎卪akefile鏂囦歡錛屾眰璇︾粏姝ラわ紵

1銆侀噸瑁呯郴緇2銆佷粠鍒鐨剈buntu緋葷粺閲岀紪璇戜竴涓猰ake鎷垮埌浣犵殑緋葷粺閲岄潰鐢3銆佷笅杞藉瑰簲鐗堟湰鐨刴ake.deb鍖呯敤dpkg鍛戒護瀹夎咃紙紜淇濅綘涓嬭澆鐨刴ake鐨勭増鏈鐨勪緷璧栧凡緇忚В鍐充簡錛屼粬渚濊禆鐗瑰畾鐗堟湰鐨刲ibc錛夎繖浜涙槸浣犳棤娉曚嬌鐢╝pt-get瀹夎呰蔣浠舵椂鐨勫嚑涓閫夋嫨銆傚叾涓錛岄噸瑁呯郴緇熸渶綆鍗曟湁鏁堬紝姣曠珶浣犺翠綘鐜板湪鐨勮繖涓鏄涓鑰佺増鏈浜

閱讀全文

與編譯內核製作安裝文件相關的資料

熱點內容
java視屏 瀏覽:932
電腦中如何給程序加密 瀏覽:238
java排序容器 瀏覽:942
職稱證書在哪個app下載 瀏覽:362
四九演算法算男女 瀏覽:659
javawindows8 瀏覽:496
2021世界程序員節 瀏覽:484
php翼支付 瀏覽:882
盈通伺服器ip地址 瀏覽:789
3des演算法的c語言實現 瀏覽:873
網上怎樣購買伺服器地址 瀏覽:813
新氧app都在哪個城市 瀏覽:731
十二大加密貨幣圖片 瀏覽:315
資料庫日誌自動壓縮 瀏覽:929
手機表格文檔用哪個app 瀏覽:77
找人開發app的公司怎麼樣 瀏覽:651
android藍牙發送數據 瀏覽:428
範文瀾中國通史pdf 瀏覽:755
php常用的設計模式 瀏覽:889
安卓手機怎麼一個一個的截圖 瀏覽:980