歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux內核 >> Linux內核配置編譯移植(基於x86)

Linux內核配置編譯移植(基於x86)

日期:2017/2/28 16:03:57   编辑:Linux內核

在學習Linux內核移植部分,今天先在虛擬機上安裝linux-3.0.8上做個雙系統。

內核配置:

我們一般是找一個配置好的內核配置文件.config來作為配置參考

步驟

1.make clean/ make mrproper/make distclean清除以前對內核所做的工作

2.選擇目標系統的的軟硬件配置情況,如CPU類型,網卡型號,所支持的網絡協議等

本文為X86相關的

3.配置方式選擇 /make menuconfig(圖形化和字符下都可以 推薦)/make config/mkae oldconfig/make xconfig

完成後會生成一個隱藏的配置文件.config,保存了我們的配置信息。

——————————————————————

make menuconfig方法:

1,使用方向鍵來上下切換

2,使用enter進入下一層菜單 使用空格切換編譯選擇(y:* ,m:m ,n:空)h:help,esc退回上一層菜單。(*編譯並連接 m只編譯不連接)

——————————————————————

內核編譯

輸入命令:make bzlmage

編譯好的內核在(arch/<cpu>/boot/) cpu為你選的型號 如:arm、X86

內核模塊編譯

#make modules

安裝內核模塊

#make modules_install

/**安裝完成後,將編譯好的內核模塊從內核源碼目錄拷貝至/lib/modules/3.0.8**/

(中間出了一個問題,呵呵,後來解決了)

制作init rmdisk

#mkinitrd initrd-3.0.8 3.08 (3.0.8與上一步新建目錄一致)

完成本操作後,在當前目錄下會生成initrd-3.0.8

安裝內核

因為linux啟動時,會從/boot目錄下尋找內核文件與 init rmdisk,所以要將內核和init rmdisk拷貝

到/boot下

下面是我的內核 和 init rmdisk的原位置,拷貝過程如下:

#cp linux-3.0.8/arch/x86/boot/bzImage /boot/linux-3.0.8/(vmlinuz-3.0.8可任意取)

#cp linux-3.0.8/initrd-3.0.8 /boot

——————————————————————

注意:

linux-3.0.8/為內核

initrd-3.0.8為init rmdisk

——————————————————————

修改grub

是為了讓grub在啟動時能提供一項我們自己制作的linux內核的選項,需要修改grub的配置文件:

#vi /etc/grub.config

——————————————————————

title my linux(3.0.8)

root (hd0,0)

kernel/vilinuz-3.0.8 ro root=LABEL=/rhgb quiet

initrd /initrd-3.0.8

_____________________________________________________

重啟linux

reboot

Copyright © Linux教程網 All Rights Reserved