一、linux內核編譯
海思的SDK包中提供了linux3.4.1的內核源代碼,可以直接編譯,也可以到www.kernel.org下載官方的源碼進行編譯。我以sdk中附帶的源碼為例編譯。
海思SDK的內核源碼在Hi3518E_SDK_V1.0.4.0/osdrv/opensource/kernel目錄。使用tar -zxfv linux-3.4.y.tgz解壓。
1、配置內核
a)拷貝配置文件,進入解壓后的內核目錄,將arch/arm/configs中海思的配置文件拷貝成.config。
cp arch/arm/configs/hi3518ev200_full_defconfig .config
b)通過“make menuconfig”進入圖形化的內核配置界面:
make ARCH=arm CROSS_COMPILE= arm-hisiv300-linux- menuconfig
注意:每次編譯都需要用ARCH=arm指定為arm平台使用的二進制文件,CROSS_COMPILE指定交叉編譯器。如果想省略可以修改MAKEFILE文件。
這里我使用vim打開MAKEFILE命令模式輸入/ARCH然后回車定位到文件位置。修改如下圖所示(#后為注釋)
修改了Makefile后可以直接使用make menuconfig來編譯,之后的make也不許用再次指定交叉編譯器。
c)根據需要選擇需要的模塊
d)執行編譯工作
執行make uImage命令編譯內核。如果沒有改Makefile的需要用如下命令
make ARCH=arm CROSS_COMPILE=arm-hisiXXX-linux- uImage
編譯生成的鏡像文件在arch/arm/boot 目錄下