核心的配置與編譯
1、清除臨時檔案、中間檔案和配置檔案。
make clean
remove most generated files but keep the config
make mrproper
remove all generated files + config files
make distclean
mrproper+remove editor backup and patch files
2、確定目標系統的軟硬體配置情況,比如cpu的型別、網絡卡的型號
,所需支援的網路協議等。
3、使用如下命令之一配置核心:
make config:文字互動
make menuconfig:文字選單
配置後會在linux 2.6.29下新增.config的隱藏檔案,儲存配置的結果
。m:——>.o——>uimage(核心檔案)
*: ——>.o(核心模組)
空:不操作
核心配置項較多,針對相似的結構進行配置,不用一項項分別選擇
,在linux/arch/arm/configs/提供相應的參考配置檔案。
這裡選預設2410的defconfig:
[root@www configs]# pwd
/opt/studyarm/linux-2.6.29.1/arch/arm/configs
[root@www configs]# cp s3c2410_defconfig ../../../.config
[root@www linux-2.6.29.1]# make menuconfig arch=arm
進行選擇配置即可。
make oldconfig:使用已有的配置檔案(.config),但會詢問新增
的配置選項。文字互動
make xconfig:圖形化配置(需裝圖形化系統)。
4、編譯核心: (僅編譯選擇為「*」的項)
make zimage
make bzimage
在x86平台,zimage只能用於小於512k的核心
如需獲取詳細編譯資訊,使用:
make zimage v=1
make bzimage v=1
編譯好的核心位於 arch//boot/目錄下
5、編譯核心模組: (編譯選擇為「m」的項)
make modules
6、安裝核心模組:
make modules_install
功能:僅僅拷貝——將編譯好的核心模組從核心源**目錄copy到
/lib/modules下
eg. /lib/modules/2.6.29/kernel/arch/x86/kernel/
7、製作init ramdisk
mkinitrd initrd-$version $version //$version 可以通過查
詢/lib/modules下的目錄得到
eg.mkinitrd initrd-2.6.29 2.6.29 //initrd-2.6.2可以用其他名字,但
2.6.29版本對應於/lib/modules/2.6.29 不能用其他
***************=
核心安裝(x86平台)
1、cp arch/x86/boot/bzimage /boot/vmlinuz-$version //vmlinuz-
$version為任意取的名字
2、cp $initrd /boot/
3、修改/etc/grub.conf或者/etc/lilo.conf
$version為所編譯的核心版本號
核心的配置與編譯
核心的配置與編譯 1.清除臨時檔案 中間檔案和配置檔案 make clean remove most generated files but keep the config make mrproper remove all generated files config files make dist...
Linux核心的編譯與配置
在編譯核心之前首先得先配置核心,通常是敲入make menuconfig來配置。不過嵌入式開發的時候我好像挺少用到的 linux核心的配置系統由下面3個部分組成簡而言之 kconfig中定義該config是否開啟,在makefile中依據這個config是否開啟來進行相應的編譯。obj config...
Linux 核心配置與編譯
嵌入式系統的乙個很重要的特性就是可移植可裁剪配置。這篇博文主要簡單總結下在x86體系下配置編譯核心的過程。取得原始碼後的步驟就是配置核心。使用make menuconfig命令,配置成功後儲存會在核心源 目錄下生成乙個.config檔案。這個檔案是隱藏的,需要用ls a命令才可看到。配置選項比較多,...