前提:查看本地硬件信息常用工具
查看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