1. 內核裁剪移植
內核源碼是大量模塊代碼的集合!
每一個模塊代碼都是大量的.c 和 .h文件組成的!
內核是系統所有功能的集合!
內核鏡像是一個二進制文件,是一個大型可執行程序!
內核源碼包:linux-3.5.buildok.tar.gz
內核移植步驟:
1)把內核源碼包復制到linux系統下的 /work/目錄下,並解壓!
命令:
cp /mnt/hgfs/xxxxx/linux-3.5.buildok.tar.gz /work/
cd /work
tar xf linux-3.5.buildok.tar.gz
2)解壓完成后,進入解壓后目錄。
命令:
cd linux-3.5/
3)內核源碼裁剪,去掉不需要的模塊,保留需要的模塊!
命令:
make clean
make distclean
cp tiny4412_linux_defconfig .config
make menuconfig
進入配置菜單:
system type
--> Support TrustZone-enabled Trusted Execution Environment [去掉該選項]
保存退出!
4)編譯內核源碼,生成內核鏡像zImage。路徑:arch/arm/boot/zImage
命令:
make -j8
5)進入內核鏡像所在目錄,編寫燒錄腳本,燒錄zImage鏡像!
命令:
cd arch/arm/boot/
vim sd_fusing.sh
編輯:
#!/bin/bash
if [ -e /dev/sdb ]
then
echo fusing...
dd iflag=dsync oflag=dsync if=./zImage of=/dev/sdb seek=1057
else
echo /dev/sdb is not find!
exit -1
fi
echo fused OK!!!
chmod 777 sd_fusing.sh
燒錄: 插入SD卡
./sd_fusing.sh
6)燒錄完成,拔出SD卡!
補充:
內核源碼的默認配置文件是: .config
內核配置方法有以下三種:
方法1:在終端一個一個功能的詢問!
make config
方法2:Qt風格的內核配置菜單
make xconfig
方法3:由shell腳本勾畫出來的內核配置菜單
make menuconfig
menuconfig菜單使用方法:
上下鍵:選項之間切換
左右鍵:操作方式之間切換 <select exit help>
空格鍵:對選項進行選擇<勾選/取消>
回車鍵:執行操作 <進入下級菜單(select),返回上級菜單(exit)>
嵌入式Linux學習交流群:195723435