內核編譯安裝學習筆記

前提:查看本地硬件信息常用工具

查看CPU信息:

#cat /proc/cpuinfo

#x86info

#lscpu

查看PCI:

#lspci

查看USB:

#lsusb

查看塊設備:

#lsblk

查看綜合的設備詳細信息:

#hal-device


編譯:交叉編譯

cross-compiling用於在宿主機上編譯,應用於別的機器上架構迥異的內核。


編譯內核的步驟:(安裝好開發環境:Development Tools,Server Platform Development,ncurses-devel)


    前提1:安裝開發環境

        #yum grouplist

        yum groupinstall Development Tools

        #yum install ncurses-devel

    前提2:下載內核

        #lftp 172.16.0.1

            cd pub/Sourcess/sources/kernel

            get linux-3.10.10.tar.xz

    前提3:展開內核

        #tar xf linux-3.10.10.tar.xz -C /usr/src

    前提4:查看內核大小

        #du -sh /usr/src/linux-3.10.10/

    前提5:創建鏈接

        #ln -sv linux-3.10.10 linux


    注:以下步驟都在展開內核的目錄下進行:

    步驟1:配置內核編譯選項

        #make menuconfig

    步驟1_1:複製編譯配置選項

        #cp /boot/config-2.6.32-431.el6.x86_64 ./.config

    步驟2:使用多窗口運行編譯

        #screen

    步驟3:啓用2個進程同時編譯

        #make -j 2

    步驟4:安裝內核模塊

        #make modules_install

    步驟5:安裝內核

        #make install

    步驟6:檢查grub.conf中是否有新title出現

        #cat /boot/grub/grub.conf


二次編譯之前,需要進行的清理操作:

#make clean清理編譯的文件,但保留配置文件

#make mrproper移除所有編譯生成的文件、配置文件和備份文件

#make distclean完全清理


1.將編譯生成的文件保存至別處:

#mkdir /path/to/somewhere

#cd /path/to/somewhere

#./config --ksource=/usr/src/linux

2.如何只編譯內核的部分代碼:

(1)只編譯某子目錄中的相關代碼

#cd /usr/src/linux

#make path/to/dir/


例如:

#make SUBDIR=arch/

#make drivers/net/


(2)只編譯部分模塊

#make M=path/to/dir


#make M=drivers/net/

(3)只編譯一個模塊

#make path/to/dir/MOD_NAME.ko


例如:

#make drivers/net/ethernet/intel/e1000/e1000.ko

(4)將編譯生成的文件保存至別處

#make O=/path/to/somewhere


3.交叉編譯

#make ARCH=arch

例如:

#make ARCH=arm acs5k_defconfig


獲取某ARCH的可用的默認配置

#make ARCH=arch help

例如:

#make ARCH=i386 help


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章